フィッシャーの線形判別とは
フィッシャーの線形判別は、これ自体は判別・識別の手法ではなく、各クラスのデータの分離を保ちつつ次元圧縮する手法のようです。多次元のデータを扱うのは大変なので、次元圧縮して計算を楽にしようということでしょうか。今回は2次元の入力を1次元に圧縮する場合を考えていきます。
次元圧縮のイメージ
2次元の入力、の2クラスのデータを考え、
で1次元に射影するとします。先回までに考えた線形識別とは異なり、ダミー入力は入れません。どのような線上に射影すれば最も分離しやすくなるか?を考えていきます。イメージは以下のアニメーションです。
上のグラフは赤色のクラスと青色のクラスのデータで、緑色の直線に射影した時の点が下に表示されています。これくらいの単純な例だと、目視でなんとなく良さそうな直線が見つけられそうですけどね。
2クラスの場合の次元圧縮方向
どういう方向へ射影するのが適切であるのかを考えます。各クラスにデータが個あるとすると、平均ベクトルは
と書けます。この平均ベクトルをある方向へ射影したとき、より離れていれば良さそうです。2クラスの問題であれば、
を最大にするを解とするというのが1つの方法です。式(3)においては平均ベクトルを式(1)で射影した値です。つまり、式(3)を最大にするということは、各クラスのデータの中心点が最も離れるように射影するということです。ただし、は
とします。射影時に拡大させてしまうとがどれだけでも大きくなってしまうためです。
しかしこれは各クラスのデータのばらつき具合によっては必ずしも最適な解にはなりません。以下のように、平均がベクトルの距離が遠い左図より、距離が近いほうが適切な分離であるという可能性があります。*1
ということで、ばらつきを考慮するために、射影後の各クラスのデータの分散
を考慮にいれ、フィッシャーの判別基準は
と定義され、これを最大にするを解とします。射影後の分散は小さく、そしてデータの中心点は遠くとりたいということですね。
この続きはフィッシャーの線形判別(2)です。
*1:平均ベクトルの位置は説明のために適当に入れています。もしかしたら右図のほうが平均ベクトルの距離も大きいかもしれません。