次元削減(3)

しかし、主成分分析による次元削減は線形であるという大きな制約があります。



たとえば左図のような2次元データのクラス分けの学習はどうでしょうか? 第1主成分はほぼx軸と同じ方向になりそうなことが分かります。


しかし、第2主成分、つまりy座標、を無視してx軸だけでこれらのデータを表現しようとすると、下の図のようになってしまいます。



これでは、青い点の領域と赤い点の領域を分けることが出来ません。


これは、これらのデータ点が全体として直線の近傍に位置していないからです。今は分かりやすさのために2次元と1次元で話をしていますが、次元削減の結果現れるのは直線に限るわけではなく、平面、超平面、などになります。しかし、これらは線形、つまりまっすぐな形です。ところで、これらのデータは楕円の周囲に散らばっていたのでした。もし、これらの点を下図のように楕円上に次元削減出来るならば、楕円も(まっすぐではありませんが)1次元の線であるのでその線についての機械学習であれば、効率を上げる効果が得られることになります。

しかしながら楕円は線形(まっすぐ)ではないので、主成分分析によってこのような次元削減を行うことが出来ません。ところが、このような非線形の次元削減を行う方法が、ニューラルネットワークの世界には存在するそうです。それは、オートエンコーダと呼ばれています。このアイディアはかなり昔からあったようですが、実用化されたのは2006年にジェフリー・ヒントンがスタックド・オートエンコーダという技法を編み出してからのようです。この技法について述べたのが2015年に私が翻訳した(でもよく理解していなかった)Reducing the Dimensionality of Data with Neural Networks(ニューラルネットワークによるデータの次元削減)です。