パターン認識特論 担当:和田 俊和 部屋 A513 Email [email protected] 主成分分析 http://vrl.sys.wakayama-u.ac.jp/PRA/ 主成分分析1 (正規直交基底をデータから求める) • 特徴ベクトルの各要素の分散を最大化する。 ci ( xi μ・) φ 1 n c ( xi μ)・ φ n i 1 μ φ || φ || xμ φ μx c0 主成分分析2 • 特徴ベクトルの各要素の分散 n 2 1 V (φ) ( xi x・) φ n i 1 n 1 T T T {( xi x ) φ} {( xi x) φ} n i 1 n この値を 1 T T φ ( x x )( x x ) φ 2 i i || φ || 1 n i 1 1 n という条件 の下で最 大化する. φ φ T n T ( x x ) ( x x ) i i i 1 共分散行列 知識:ベクトルの操作に関する公式 内積 a b aT b bT a b a ( a b) x a x b x 転置 微分 (ab) b a T T T a ba b T (a ) a T T T a Aa 2 Aa a T 2 || a || a a 2a a a 主成分分析3 ラグランジェの未定係数法 F (φ, ) φ φ (|| φ || 1) T 2 この式を最大化するのが解. ⇒ φ と で微分し,それらを0と置く 2 F (φ, ) || φ || 1 0 F (φ, ) 2 φ φ 0 φ 正規化する だけ で満足でき る φ φ 固有値問題になる φ φ 固有値問題の例 • 線形変換 φ • φ を起点として終点を φ とするベクトルを描 く. • 右図に固有ベクトル の方向を書き加える と, 知識:固有値問題の解き方 固有方程式 φ φ 特性方程式 | I | 0 各固有値が求められれば,それに対応する固 有ベクトルが求められる. 実例 • x1= (2,4,3)T, x2= (2,2,4)T, x3= (1,1,2)T, x4= (3,1,3)T 1 N x (2, 2,3), ( xi x)( xi x)T N i 1 0 0 1 2 4 0 0 0 1 0 4 4 0 0 2 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 2 0 1 1 0 6 1 ←これが,共分散行列 4 1 1 2 1 1 0 計算結果 2 1 0 4 1 x (2,2,3) 0 6 1 1 1 2 10 26 16 0 '1 6.2491405381 2955 '2 2.8536345109 6709 '3 0.8972249509 0336 3 • • 特性方程式 固有値 (本当の固有 値はこれを4 で割る) • 固有ベクトル:次ページ 2 固有ベクトルの導出 2 0 1 0 6 1 1 x x 1 y ' y z 2 z 2x z x 6 y z ' y x y 2z z (2 ' ) x (6 ' ) y x : y 6 ': 2 ' (2 '8) x (6 ' )(2 ' ) z x : z (6 ' )(2 ' ) : 2 '8 x : y : z (6 ' )(2 ' ) : (2 ' ) : 2 '8 2 固有ベクトル -0.664776 0.056802 0.744880 φ1 0.968772 φ2 0.202092 φ3 -0.143667 0.241360 0.733098 0.635855 1 6.2491405381 2955/ 4 2 2.8536345109 6709/ 4 3 0.8972249509 0336/ 4 1φ1φ1 2φ2φ2 3φ3φ3 を計算すると T 2 1 0 4 1 0 6 1 T T 1 1 が得られ、上記結果が 正しいことが確認でき る。 2 直交展開 2 4 1.9375φ1 0.4042φ2 0.2873φ3 x 3 2 2 0.2414φ1 0.6359φ2 0.7331φ3 x 4 1 1 1.2669φ1 1.1786φ2 0.0753φ3 x 2 3 1 0.9120φ1 0.9470φ2 0.5211φ3 x 3 Octaveを使えば,簡単に計算できる. http://www.octave.org/ octave:1> sigma=[2,0,1;0,6,1;1,1,2] sigma = 2 0 1 0 6 1 1 1 2 octave:2> [v,lambda]=eig(sigma) v= -0.664776 0.744880 0.056802 -0.143667 -0.202092 0.968772 0.733098 0.635855 0.241360 lambda = 0.89722 0.00000 0.00000 0.00000 2.85363 0.00000 0.00000 0.00000 6.24914 octave:3> v*lambda*v' ans = 2.0000e+00 -4.1975e-16 1.0000e+00 -4.8881e-16 6.0000e+00 1.0000e+00 1.0000e+00 1.0000e+00 2.0000e+00 octave:4> 主成分分析 • 共分散行列Σの性質 12 1 2 2 2 1 2 n 1 n 2 μ φ 各成分の標準偏差 i || φ || 対称行列なので次式による 対角化が 可能 VV V φ1 φ2 φN T 1 0 0 0 2 0 1 n 2 n 2 n 0 0 n 主成分分析 • 共分散行列Σの分解 VV T V φ1 φ2 φN φ1 φ 2 T 0 V 0 φN 0 1 2 0 N 行列式 | | det i N トレース(行列の対角要素の和) 0 0 n i 1 trace i i 1 直交行列 正規直交基底を並べてできる行列は直交行列 V φ1 φ2 φN φ1 T T 1 V V I V V φ 2 T V || Vx |||| x || φN VとV は回転を表している: T VT V 対角行列 対角行列は各軸ごとの伸縮を表している 1 0 0 0 2 0 0 0 n 共分散行列が表す幾何学的変換 VV V T T V 主成分分析によって何が分かるか • 分散の大きくなる軸の向き φi • その軸方向の偏差 i 分散 i • 共分散行列のランクがrである場合、次式が成 r り立つ x (φ・i (x x))φi x i 1 • r未満の数qに対する直交展開 q x' (φ・i (x x))φi x i 1 を計算する際に誤差||x-x’||を最小化する基底が 求まっている。 V (φi ) φiT φi =φiTV V T φi 「固有値=軸上 の分散」の確認 0 φ1 1 0 0 φ1T φiT φi i 0 φN 0 0 N 0 0 1 0 0 0 1 i 1 0 0 0 0 N φiT 0 i φTN φi 次回以降の講義 • 識別(統計的手法、判別分析、線形識別関数 とニューラルネットワーク、最近傍識別) • クラスタリング(K-means、 EMアルゴリズム) • より進んだ識別手法:SVM、BOOSTINGなど
© Copyright 2024 ExpyDoc