線形判別分析を理解する
線形判別分析
線形判別分析(LDA)は各クラスの説明変数の分布が正規分布に従っていること、また各クラスの共分散行列が等しいと仮定した特別な場合です。説明変数が複数ある場合は多変量正規分布になりますが、多変量正規分布の確率密度関数は
です。ここでは次元(説明変数の数が)で、説明変数の平均が(説明変数ごとに平均値があるためベクトル)では共分散行列です。
では線形判別分析によるクラス分類を考えます。各クラスの説明変数の分布が多変量正規分布に従っているとしたとき、クラスの多変量正規分布のパラメータをと書くことにします。では、分類のためクラスの事後確率を求めます。これはベイズの定理より以下のように求めます。
各項の解釈はこちらになります。
- : 事後確率。データが観測されたもとでのクラスが生じる確率。
- : 事前確率。クラスが生じる確率。
- : 尤度。。クラスが与えられたもとでデータが得られる確率密度。
- :周辺化された尤度。 。データが得られる確率。はクラス数(2クラスであれば2)。
この(2)式を使って各クラスの確率を比較してみます。今考えている問題は各クラスの確率です。そのため、クラス(ここではクラス)に依存しない項は意味を持たないため、無視することにします。分母のはデータが得られる確率であり、クラスに依存しないため無視します。比例記号を使って
と表します。つぎに対数を取りと書くことにします。
多変量正規分布の(1)式を代入し、変形していきます。
も各クラス共通に現れるので無視します。
線形判別分析は各クラスが共通の共分散行列を持つと仮定した場合の手法です。なので、とします。
こうするとも各クラス共通になるので無視します。
第2項を展開します。
ここで、はスカラなので、転置をとっても同じ結果になるので、
もクラス共通のため無視します。
この式を線形判別関数といいます。この式の計算結果が最大となるクラスに分類します。
線形判別関数のパラメータ
線形判別関数のパラメータですが、(4)式を眺めると入力データである以外の(, , )です。これらを訓練データを基に推定(学習)する必要があります。と言ってもとくに難しいことではなく、
で推定できます。
対数比による分類
特に2クラス分類のとき、事後確率の対数比から容易に分類が行なえます。
クラス1とクラス2を分類することを考えた場合、それらの事後確率の対数比は、
です。確率比の対数を取る理由ですが、それは確率比のパターンを分けて考えると理解できます。確率比は以下の3パターンです。
- 分子が大きいケース:
- 分母が大きいケース:
- 分子と分母が等しいケース:
それぞれのパターンについて対数を取ると以下になります。
確率が高い方のクラスに分類を行いますので、つまり符号によって分類が行えることになります。なお2クラスの確率が等しい場合は0になりますので、それが決定境界を表します。
上で求めた線形判別関数(4)式を使えば
となります。あとはこの結果の符号を見て判別が行なえます。なお補足になりますが、線形判別関数を求める際に、クラス共通のため無視してきた項というのは1行目が表しているように、引き算により消える運命にあります。
2次判別分析
2次判別分析(QDA)は、線形判別分析で仮定した「各クラスの共分散行列が等しい」を仮定しない場合です。よって、仮定をする前の(3)式である以下が2次判別関数です。
この場合、 が消えず、これはの2次関数であるため、決定境界が2次式となります。
線形判別分析による次元削減
線形判別分析は主成分分析のように次元削減という特徴も持っています。これは別の機会に記事にします。
参考
- 統計的学習の基礎