オートエンコーダ(3)
しかしこれは、人が個々のニューロン(=ノード)のパラメータをこのようにセットすれば主成分分析になる、というだけであって、出力信号をなるべく入力信号に近付けるという学習の結果、このようなパラメータの設定になる、というわけではありません。
そもそも出力信号を入力信号に合わせるのが目的であれば、各ニューロンが1つの入力信号しか受け取らず、そしてその入力をそのまま出力にするようなパラメータ設定でも、この目的は達成出来ます。
ですから、オートエンコーダが学習の結果、主成分分析の結果を表示するわけではありません。
では、中間層のニューロンの数を1つにしてみたらどうなるでしょうか? 入力層では2次元だったデータが中間層では1次元になるので、出力層が入力層の信号を完全に復元することは不可能です。オートエンコーダは学習によって出力信号を入力信号になるべく近付けるように、パラメータを調整します。
入力信号が個あるとし、その番目の信号をで表すことにします。また、の平均を、の平均をで表すことにします。つまり
- ・・・・(5)
- ・・・・(6)
です。ところで、座標で考えた場合、点と点の距離は座標軸を回転させても変化しません。距離をで表すと
- ・・・・(7)
は座標軸を回転させても変化しません。よってこの平均
- ・・・・(8)
も座標軸を回転させても変化しません。ところで、の標準偏差を、の標準偏差をとすると
- ・・・・(9)
- ・・・・(10)
なので、
となります。ということはは座標軸を回転させても値が変化しない、ということです。
そこで座標軸を回転させた座標軸をで表すことにし、との標準偏差をそれぞれとで表すことにします。すると
- ・・・・(11)
となります。ここで、出力信号を入力信号に最も近付けることがを最小にすることと同等である、ことが分かっているとします(その理由はのちに述べます)。式(11)からを最大にするように座標軸を選択することがを最小にすることになります。主成分分析では第1主成分を、分散が最大になる方向に取りますから、軸を第1主成分の方向に取れば、は最大になり、その結果は最小になります。