要件
個のクラスに割り振られた個の次元のデータがあります。
各クラスのデータの分離を保ちつつ、次元へ削減することを考えます。
2次元の2クラスのデータを1次元に次元削減する例を下図で示しました。
のようなクラス内分散が小さく、クラス間分散を大きくするを求めればよいことになります。
※本記事では次元へ削減することを考えるので、求めるべきは行列です。
クラス内共分散行列とクラス間共分散行列
クラス内共分散行列とクラス間共分散行列を以下のように定義します。
ここで、
とし、はクラスのデータの個数とします。
より、はクラスのデータの平均を
より、は全データの平均を表しています。
の意味を考えてみます。
は各クラスの共分散行列を足しわせたものになっています。
は各クラスの平均の共分散行列をクラスのデータの個数で重みづけしたものの和になっています。
変換後の空間でのクラス内共分散行列とクラス間共分散行列
次元から次元への変換を行列で表すと、
と書けます。
で、とします。
変換後の空間でのクラス内共分散行列とクラス間共分散行列を求めます。
ここで、
とします。
の最適化 - その1
をで正規化し、に対するKL展開を行うことによりを最適化します。
まず、をで正規化します。
対象行列は、直交行列によって対角化できます。
ではの固有値を対角成分に並べた対角行列です。
ここで、は、の成分を乗したものとします。
の左辺に左からを、右から掛けます。
より、でが正規化できることとが分かります。
次に、に対するKL展開を行います。
は半正定値行列です。
に対応する固有値を成分とする行列をとすると、
が成り立ちます。
ここで、と定義します。
このとき、
となり、またの第1式より
となります。
より、の固有値に対応する固有ベクトル見つければよいことになります。
KL展開同様、の固有値の大きい方から個選べばよいです。
の最適化 - その2
の条件の下で、を散らばりを最大することによりを最適化します。
まず、一般論として、射影後の散らばりについて考えます。
は各点を各主軸方向に射影して、固有値倍して、すべて足しわせたものと解釈できます。
よって、やがの射影後の散らばりを表すと考えることができます。
本記事では、PRMLにならって射影後の散らばりはと固有値の和で考えることにします。
ですので、の条件の下で、を最大することによりを最適化することにします。
ラグランジュの未定乗数法より、ラグランジュ関数は以下のようになります。
で対角行列をとしました。
の右辺の第二項ですが、ラグランジュ乗数は対角成分のみを考えればよいので、(トレース)を使って書いています。
を行列で微分して、とおきます。
で、以下の公式を使用しました。
より、の固有値に対応する固有ベクトル見つければよいことになります。
KL展開同様、の固有値の大きい方から個選べばよいです。
偉人の名言
私は、積極的にリスクを負うことは未来のリスクを最小限にすると、
いつも自分に言い聞かせている。
羽生善治
動画
本記事作成前に作成した動画ですので、本記事とは内容が異なる可能性があります。誤植も少しあります。