情報知能学基礎演習 豊田秀樹(2008)『データマイニング入門』 (東京図 書)第8章 情報知能学科 白井 英俊 1 復習:ベイジアンネットワーク • P.234より ベイジアンネットワークを利用すると、各ノード (確率変数)の因果的な構造(影響)関係を視 覚的にモデル化し、さらにその各ノードの状 態がどの程度の確率で起こりうるのかという こと(不確実性の程度)を数値的な値として評 価できるようになる。 不確実な事象のモデル化がベイジアンネット ワーク 2 前回の課題で もしもbanlistを使わ なければ… Score: -603.9853 Relscore: 0.3749276 体重 人種 喫煙 高血圧 過敏 3 サポートベクターマシン • ニューラルネットワーク ネットワークへの入力ユニットを増やすと識別力の 高いモデルを構成することが可能 交差妥当性が乏しくなるという欠点がある • サポートベクターマシン(SVM, Support Vector Machine) 第3世代の学習マシン: 本質的に3層の階層型Neural Net マージン最大化 カーネルトリック 4 線形分離不可能性 識別問題において 線形分離可能性: 線形関数で超平面(2次元の場合は直線)により対象の分 類が可能である場合。そうでなければ線形分離不可能 XOR(排他論理和) (1,0), (0,1)の場合は1 (1,1), (0,0)の場合は0 線形分離可能 線形分離不可能 (識別のための直線が1本でない) 5 超平面について • n次元空間において、一次方程式 a1x1+a2x2+ … +anxn +b = 0 (n-1個の変数の値が決まれば、残りの1個の変数の値 が決定される、という関係)は「超平面」を構成する • 例: n=2, つまり2次元の場合、 ax+by+c=0 は直線を表す(x の値を決めればyの値が決まる) n=3、つまり3次元の場合、ax+by+cz+d=0は平面を表す (xとyの値を決めればzの値が決まる) n >= 4 でも同様に考えられる 6 高次元空間への写像 • ある次元空間(次元数をnとする)では線形分 離不可能であっても、n+1次元では線形分離 可能にできる場合がある。 • 2次元におけるXORの例の場合 z 2 2 ( z1, z2 , z3 )' ( x1 , x2 , 2 x1x2 )' • その結果が図8.3 カーネルトリックにより写像計算が簡単に! 7 超平面の決定方法 • ニューラルネットでは、誤差逆伝播法 • SVMではマージン最大化 超平面とデータとの距離が 最大になるような超平面を選 択する、ということ ⇒汎化性能が高い この求め方は8.2.3で 8 線形閾値関数 • yi をオブザベーションi(i=1,2,…,I)の2値型の 名義的反応(出力) • xiを、 yi を予測するために用いられるオブザ ベーションiに関するJ次元のベクトル(入力) xi = (xi1,xi2,…, xij…,xiJ)’ 線形閾値関数(yiについてクラス1には「1」、クラス2 には「-1」を与えるとき) yi = 1, f(xi) ≧ 0 のとき -1, f(xi) < 0 のとき 9 識別超平面 線形閾値関数におけるf(xi) f(xi)=ω’ xi+b ここでωはJ次元の重みベクトル 識別超平面は f(x)= ω’ x+b =0 (8.2) あるデータ xiとこの超平面との距離は: ω' xi b ω 10 マージン最大化 データの集まりxiと超平面との最小距離に対し 次の制約を課す: Min ω' xi b 1 i 1, 2,...,I これにより下位の一意性を保証 ゆえに、データの集まりxiと超平面との最小距離は、 1/ ω (実際は2グループあるので 2/ ω ) これを最大化することは、次を最小化することと同値 2 ω /2 11 マージン最大化(続き) • ラグランジュの未定乗数法を用いて… クラス1ならy =1, (ω’ x +b) ≧0 2 クラス2ならy =-1, (ω’ x +b) < 0 目的関数: ω / 2 不等式制約: yi (ω’I xi +b) ≧1 (8.7) i i L(ω,b,α)= ω 2 / 2 i [ yi {( ω' xi b) 1}] i i (8.8) i 1 ここでαiは ラグランジュの未定乗数、 αi ≧0 ラグランジュの未定乗数法: g(x,y)=0という条件の下で z = f(x,y) の最大値(最小値)を求める問題は、λという係数 を用いて L=f(x,y) - λg(x,y) という関数の極値を求める問題 とみなす 12 ラグランジュの未定乗数法を用いて (8.8)を最小化するωとbに対し、(8.9), (8.10)が成り立つ 参考: y=x2+ax+cにおいて最小値はy’=0を与えるxで得られる。ここでxをベ クトルωと考える… I I L(ω, b, α ) ω i yi x i 0 ω i yi x i ω i 1 i 1 I L(ω, b, α ) i yi 0 b i 1 (8.9) (8.10) 以上を(8.8)に代入して I 1 I I L(α) i i j yi y j xi 'x j 2 i 1 j 1 i 1 (8.11) が得られる。これを最大化することにより、目的関数の最適化を行う i 0, I i yi 0 i 1 13 L(ω, b, α) ω 2 式の変形 / 2 [ y {( ω' x b) 1}] I i 1 i i i (8.8) I I I 1 2 ω ω' i yi x i b i yi i 2 i 1 i 1 i 1 I 1 2 2 ω ω b * 0 i 2 i 1 1 2 I ω i 2 i 1 符号を入れ替えた次のようなL(α)を作ると、 今度は「最大化」問題となる I 1 I I L(α) i i j yi y j xti x j 2 i 1 j 1 i 1 (8.11) 14 カーネルとサポートベクター I 1 I I L(α) i i j yi y j xti x j 2 i 1 j 1 i 1 (8.11) ベクトルの内積の式になっている。 高次元空間への写像Φを行うとすればここは、 ( xi ) t ( xi ) と書ける。 カーネル: Φ(xi)の内積をxiの内積の関数で表現したもの L(α)の最大化問題を解くと、ほとんどは、αi=0。0でないαiを(8.9)に 代入してωを得る。b値は別のクラスに属するサポートベク ターxsv1, xsv2により 1 b 2 ω' x SV 1 ω' x SV 2 (8.12) 15 カーネルトリック カーネルk(xitxi)に対して (8.2) 式は以下のよう になる: SV f (x) s ys (x ts x) b 線形SVM: s 1 SV t f ( x ) y k ( x 非線形SVM: s s s x) b s 1 代表的なカーネル: 線形カーネル k(xi’xj) = xi’ xj 多項式カーネル k(xi’xj) = (γ xi’ xj +δ)d ガウシアンカーネル k(xi’xj) = exp(-γ||xi -xj||2) シグモイドカーネル k(xi’xj) = tanh(γ(xi’xj)-δ) 16 ハードマージンとソフトマージン • ハードマージン:境界面f(x)=±1に挟まれる 領域にオブザーベーションは存在せず、誤分 類もないマージン • ソフトマージン:少数のオブザベーションの誤 分類を許すマージン。以下の制約をもつ yi (ω' xi b) 1 i , i 0 • 分析の経済性からソフトマージンが必要な場 合もある 17 実習 • サポートベクターマシンの数学的な根拠の理 解にはちょっと訓練が必要。。。 • データに対し、よりよい識別関数f(x)を求める にも、訓練が必要。。。 • 参考: http://www.neurosci.aist.go.jp/~kurita/lecture/svm/svm.html http://arx.ee.utsunomiya-u.ac.jp/research/svm/index.html http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm http://www.bi.a.u-tokyo.ac.jp/~tak/svm.html 18
© Copyright 2024 ExpyDoc