線形判別分析の必要性
赤色のクラス、青色のクラスがあり、それらが上の図のように分散していたとします。
このとき、
主成分分析をするとどのような射影直線が得られるでしょうか?
その答えはすべてのクラスタの成分が最も分散している方向であり、緑の軸がその方向を表していますね。
これすごくパターン認識の当初の目的に即さない成分であることがお分かりでしょうか。
主成分分析のページでは、『特徴量』を取り出すのだから十人十色になるような性質を引っ張り出して来ればいい、と言いました。
これは当然の前提です。
しかし、いくら「人それぞれの特徴」が上手い事分散したとしても
それによって「クラスが分割」出来なければ全く意味がないのです。
上の図、確かに人それぞれの特徴を上手く表すような量ではありますが、「クラスを特徴づける量」としては全く不適合なのです。
ではどのように軸をとればいいのかというと…このような感じなら良さそうです。
この軸にもっと着目してみると
これ見るとちゃんと軸の中で上手い具合に赤と青もクラスが分離できていることが分かります。
例えば矢印の位置に何か新しい画像が入って来たら、(ユークリッド距離ならば)青の方に分類すればいいわけです。
線形判別分析の具体的な方法
主成分分析の失敗は「すべてのクラスの特徴ベクトル」をまとめて考えたために起こりました。
そこで、次のようなクラスごとの行列を考えます。
まずはそのまま、クラス
の特徴ベクトルについての分散共分散行列
ですね。
次に
クラス内分散共分散行列を次のように定義します。
またはこんな風にも書けるでしょうか。
要は全クラスの分散共分散行列の重みづけ平均ですね。要素数の多い巨大なクラスタほど重みづけが大きくされています。
続きまして、こんな行列
を定義します。
っていうのは第
番目の特徴量の、クラス
だけにおける平均値を示します。
要は「各クラスの平均についての相関度」とでも考えればよいでしょうか。
これを上と同じように重みづけ平均したものが
クラス間分散共分散行列です。
違いに注意してくださいね。
「クラス
の特徴量の平均」と「クラス
のある1つの画像の特徴量」を使っているのがクラス「内」分散共分散行列です。クラスの中でその計算が完結していますからね。
対して「クラス
の特徴量の平均」と「あらゆるクラスすべての特徴量の平均」を使っているのがクラス「間」分散共分散行列です。クラス
と全クラスがまたがっていますからクラス間です。
結果だけ述べますと
の固有値が、主成分解析の際の分散共分散行列に値します。
つまり、
の固有方程式を解いて、固有値の大きい方から順にその固有ベクトルを求めていけば線形判別分析が完了します。
最終更新:2012年11月08日 22:30