オートエンコーダ(5)
前回までで何とか2次元のデータについてオートエンコーダが主成分分析による次元削減を実行することを説明しましたが、この説明を書いているうちに自分の理解の浅さに気づきました。この結果をより確かなものにするためには以下のような課題があります。
- 一般の次元の場合にオートエンコーダが主成分分析による次元削減を実行することを証明しなければならないでしょう。
- 「オートエンコーダ(3)(4)」での説明で、を最大にすることと主成分分析で第1主成分を軸に採用することを同じことであるとして説明を進めましたが、よく考えるとこの理由が明らかではありません。2次元の場合、主成分分析の説明から図像的には何となくそんな気がするものの、もっと多次元になった場合に本当にそうなのか、きちんと説明する必要があります。
- オートエンコーダでは入力信号と出力信号をなるべく近付けるように動作するのですが、それだけでは必ずしも中間層の出力が一意に決まるとは限らないことに気づきました。たとえば下の図で、中間層がではなくであったとしても、その代わりに出力層の関数を従来の関数に1/2を掛けたものに置き換えれば、出力信号は同じものが得られるはずです。そうすると、中間層の結果を一意にするために、中間層のニューロンの重みと出力層のニューロンの重みの間に何か制約条件を課しておきたい気になります。
- 「オートエンコーダ(3)(4)」の説明では座標の変換を座標の回転だけに限定しましたが、本来、このニューロンによる入力から出力への変換は一般の線形変換であって、座標の回転だけに限定されません。さらに、しきい値も存在するので、平行移動も変換の中に含まれます。このような一般の線形変換を前提にした場合、オートエンコーダが主成分分析による次元削減を実現出来るかどうか調べる必要があります。
まずは2番目の課題を検討していきます。証明すべき事柄は、
- 主成分分析の第1主成分の分散(=標準偏差の2乗)は、元のデータのどの座標軸についての分散よりも大きいかあるいは等しい。
ということです。この問題は主成分分析から離れて線形代数学の問題に言い換えることが出来、そのように言い換えると
- 実対称行列を対角化した行列をとする。の対角要素のうち最大のものをとする。するとの対角要素の中で、より大きいものは存在しない。
という事柄になります。これを証明してみましょう。
実対称行列を対角化した行列がなので、ある直交行列によって
と書くことが出来ます。ここから
となります。また、は直交行列なのでとなるので
- ・・・・(16)
となります。ここでの次元をとします。また、それぞれの行列の行列の要素を、、で表すことにします。すると式(a1)を要素で表すと
- ・・・・(17)
となります。ここでは対角行列なので、のときにとなります。よって式(17)は
- ・・・・(18)
となります。の対角要素はなので式(18)から
- ・・・・(19)
の対角要素のうち最大のものがだったので任意のについて。また、なので、
- ・・・・(20)
式(19)(20)から
よって
- ・・・・(21)
ところで は、を個の行ベクトルとみなした場合の行目の行ベクトルの各要素です。の行目の行ベクトルをで表すと、
はの大きさになります。ところでは直交行列なのでは正規直交系を成しています。よってです。よって
よって式(22)は
- ・・・・(22)
となるので、の対角要素の中で、より大きいものは存在しない、ということが証明されました。