オートエンコーダ(5)

前回までで何とか2次元のデータについてオートエンコーダが主成分分析による次元削減を実行することを説明しましたが、この説明を書いているうちに自分の理解の浅さに気づきました。この結果をより確かなものにするためには以下のような課題があります。

  1. 一般の次元の場合にオートエンコーダが主成分分析による次元削減を実行することを証明しなければならないでしょう。
  2. オートエンコーダ(3)(4)」での説明で、\sigma_vを最大にすることと主成分分析で第1主成分をv軸に採用することを同じことであるとして説明を進めましたが、よく考えるとこの理由が明らかではありません。2次元の場合、主成分分析の説明から図像的には何となくそんな気がするものの、もっと多次元になった場合に本当にそうなのか、きちんと説明する必要があります。
  3. オートエンコーダでは入力信号と出力信号をなるべく近付けるように動作するのですが、それだけでは必ずしも中間層の出力が一意に決まるとは限らないことに気づきました。たとえば下の図で、中間層がvではなく2vであったとしても、その代わりに出力層の関数を従来の関数に1/2を掛けたものに置き換えれば、出力信号は同じものが得られるはずです。そうすると、中間層の結果を一意にするために、中間層のニューロンの重みと出力層のニューロンの重みの間に何か制約条件を課しておきたい気になります。
  4. オートエンコーダ(3)(4)」の説明では座標の変換を座標の回転だけに限定しましたが、本来、このニューロンによる入力から出力への変換は一般の線形変換であって、座標の回転だけに限定されません。さらに、しきい値hも存在するので、平行移動も変換の中に含まれます。このような一般の線形変換を前提にした場合、オートエンコーダが主成分分析による次元削減を実現出来るかどうか調べる必要があります。


まずは2番目の課題を検討していきます。証明すべき事柄は、

  • 主成分分析の第1主成分の分散(=標準偏差の2乗)は、元のデータのどの座標軸についての分散よりも大きいかあるいは等しい。

ということです。この問題は主成分分析から離れて線形代数学の問題に言い換えることが出来、そのように言い換えると

  • 実対称行列Aを対角化した行列をBとする。Bの対角要素のうち最大のものをb_{\rm{max}}とする。するとAの対角要素の中で、b_{\rm{max}}より大きいものは存在しない。

という事柄になります。これを証明してみましょう。


実対称行列Aを対角化した行列がBなので、ある直交行列Uによって

  • B=U^{-1}AU

と書くことが出来ます。ここから

  • A=UBU^{-1}

となります。また、Uは直交行列なのでU^{-1}=U^Tとなるので

  • A=UBU^T・・・・(16)

となります。ここでA,B,Uの次元をNとします。また、それぞれの行列のij列の要素をa_{ij}b_{ij}u_{ij}で表すことにします。すると式(a1)を要素で表すと

  • a_{ij}=\Bigsum_{k=1}^N\left(u_{ik}\Bigsum_{m=1}^Nb_{km}u_{jm}\right)・・・・(17)

となります。ここでBは対角行列なので、k\neq{m}のときにb_{km}=0となります。よって式(17)は

  • a_{ij}=\Bigsum_{k=1}^N (u_{ik}b_{kk}u_{jk})・・・・(18)

となります。Aの対角要素はa_{ii}なので式(18)から

  • a_{ij}=\Bigsum_{k=1}^N (u_{ik}^2b_{kk})・・・・(19)

Bの対角要素のうち最大のものがb_{\rm{max}}だったので任意のkについてb_{\rm{max}}\ge{b}_{kk}。また、u_{ik}^2\ge{0}なので、

  • u_{ik}^2b_{kk}{\le}u_{ik}^2b_{\rm{max}}・・・・(20)

式(19)(20)から

  • a_{ii}{\le}\Bigsum_{k=1}^N(u_{ik}^2b_{\rm{max}})

よって

  • a_{ii}{\le} b_{\rm{max}}\Bigsum_{k=1}^Nu_{ik}^2・・・・(21)

ところで u_{ik}は、UN個の行ベクトルとみなした場合のi行目の行ベクトルの各要素です。Ui行目の行ベクトルを\vec{u_i}で表すと、

  • \Bigsum_{k=1}^Nu_{ik}^2

\vec{u_i}の大きさ|\vec{u_i}|になります。ところでUは直交行列なので\vec{u_i}は正規直交系を成しています。よって|\vec{u_i}|=1です。よって

  • \Bigsum_{k=1}^Nu_{ik}^2=1

よって式(22)は

  • a_{ii}{\le}b_{\rm{max}}・・・・(22)

となるので、Aの対角要素の中で、b_{\rm{max}}より大きいものは存在しない、ということが証明されました。