解説の前に
筆者は学生であり専門で機械学習を学んでいるわけでもなく完全に趣味なので専門性の高い解説を求めている方は他の記事を読んだほうがてっとり早いと思われます。
この記事は初学者による初学者のための記事であり、同じ目線に立って解説することを求めています。
もし間違っていることがあればコメントでご指摘いただけると幸いです。
Linear Discriminant Analysisとは?
日本語に直すと線形判別分析といいます。日本語の解説も少なかったので英語の記事を読みました。
早速解説
まず前提としてロジスティック回帰アルゴリズムは2クラスのみに制限されていますが、今回扱う線形判別分析(LDA)では3クラス以上の分類問題に適用できます。
LDAは次元を削減するときに使われる技術であり2クラス以上の分類問題を解決するために使われることが多いです。また主に機械学習の前処理やパターン識別を行う際に使われることが多いです。
なぜ次元を減らす必要があるの?
皆さんも御存知の通り世の中は3次元の世界で作られています。そのため人間は3次元以上のものを認識することは難しいと言われています。
しかし機械学習を実行すときに次元が4つ以上であるとグラフ化したときに人間がそれを認識することができなくなってしまうので、次元数を減らし可読性を向上させることが必要になってきます。
次元の呪い
次元の呪いとはデータの属性が増えると指数関数的にデータの組み合わせが増加してしまう現象のことを指します。
すなわちデータの次元が増加すると爆発的にデータの計算量が増えてしまうことです。
このような理由から一般的に機械学習では高次元のデータは次元を減らす工夫が施されています。
概要:LDAの仕組み
上図のようなXY軸を持つ平面に2つのクラスがありそれらを分類するときを例に出します。
このような場合にLDAを使うとデータポイントの2つのクラスを完全に分離できる直線を引くことができます。今回は青い直線がそれになります。
さらにLDAはデータポイントを直線で分離し、点線のような新しい軸を引くことでクラス間の分離を最大化をし2次元平面を縮小することができます。
新しい軸を作成するための基準
- 2つのクラスの平均間の距離を最大化する
- 個々のクラス内の分散を最小限に抑える
上記のように、2つのクラスの平均間の距離を最大化し各クラスの分散を最小化することを条件に新しい軸を作成します。
LDAを採用する理由
- ロジスティック回帰では分散の大きい複数クラスの分類問題の場合はうまく機能しません。一方LDAはこのような条件下でも効率的に処理することができるためです。
- LDAは計算コストを大幅に削減し、特徴量の数を減らすこともできるためです。
まとめ
線形判別分析(LDA = Linear Discriminant Analysis)は機械学習の次元削減で用いられる手法であり、分散の大きな場合でも処理が可能。