本日はいつものように「実装しましたぁ」ではなく、「実装に失敗しましたぁ」という話になります。 こちらが論文でPRML(Pattern Recognition and Machine Learning)の作者のものです。非常に難しい。本当に難しかったです。ですがなんとかそのアルゴリズムがわかってコードも失敗しながらですが通ったので失敗談共有という形で記事にします。この記事を見て実装に成功した方がいればぜひコメントお待ちしております。
PCA
PCAを知らない方のために説明しますと Principal Component Analysis(主成分分析) と言いまして次元圧縮方法の一つです。恐らく最もポピュラー。過去にその実装の記事をあげましたのでリンクを貼っておきます。 固有ベクトルへの射影、以上です。このPCAの発展版として今回、BPCAをやります。BPCA
みんな大好き「隠れ変数」のようなものを導入します。何かと言いますと![](https://research.miidas.jp/wp-content/uploads/2019/08/Screen-Shot-2019-08-26-at-17.36.16-1024x473.png)
![Rendered by QuickLaTeX.com t_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-f1d9d642aa0f891fa48d4888f2899db6_l3.png)
![Rendered by QuickLaTeX.com x_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-2c83758b12d1eb192c053e5f0ac1a434_l3.png)
![Rendered by QuickLaTeX.com t_n, x_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-65f68c0c68364060d68fd86c7100681b_l3.png)
![Rendered by QuickLaTeX.com n>m>0](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-82c218fd4c78c14bb1b105b666434b15_l3.png)
![Rendered by QuickLaTeX.com t_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-f1d9d642aa0f891fa48d4888f2899db6_l3.png)
![Rendered by QuickLaTeX.com x_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-2c83758b12d1eb192c053e5f0ac1a434_l3.png)
![Rendered by QuickLaTeX.com t_n](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-f1d9d642aa0f891fa48d4888f2899db6_l3.png)
ヒントン図
アレイ(行列)の成分の大小を色とブロックサイズでの可視化を試みた図です。実装編 Python
論文をベースに求める結果としては![](https://research.miidas.jp/wp-content/uploads/2019/08/Screen-Shot-2019-08-26-at-20.41.57-1024x472.png)