Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Qiita記事3本目] 確率的主成分分析 #125

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

takanoshuhei
Copy link
Member

取り組んだトレーニングの概要

VAEの原著論文を読んだ際に自分に確率の知識が足りないと感じたため、固有値の記事にて触れた主成分分析を確率に拡張した確率的主成分分析の理論を理解し、実装することで確率の知識を増やすことを目指した。

確率への知識を深めるためにPRML等を参考に確率的主成分分析について、理論の理解と実装に挑戦した。
Hackmdへのリンク(https://hackmd.io/@eq2bdyXdSY-1qr4ZXl4kOg/By_K0Dw-S)

close #102  

記事の目的

自分がいま必要だと感じている確率の知識を身に着けたい
EMアルゴリズムなどを実装することで理解を深めたかった

Action list

  • PRML12章から式の導出、理論の理解を行う(理論についてまだわからない部分があります)
  • 最尤法を用いて得たパラメータで実装を行った
  • EMアルゴリズムによる実装を試みたがまだうまくいっていない

レビュワーへの質問

  • PRML12章では予測分布と周辺分布を同じ$p(x)$で表記していますが同じものなのでしょうか?予測分布は$p(x^*|X)$とかそういう表記をするものだと思っていました。
    もし同じものなら、周辺分布$p(x)$を導出した後に予測分布$p(x)$を求める話の流れが良くわからないです。結局最尤法でも周辺分布の対数を取って尤度最大化を行っているので、予測分布がどこで現れるのかまだつかめていません。
  • また、予測分布を求める際に周辺分布の共分散行列の逆数である$C^{-1}$が必要になる理由もよくわかっていません。対数尤度から計算する際に必要になるという意味なら納得できます。(計算量が少なくなるとかのメリットは把握しています)
  • woodburyの公式を用いた共分散行列の逆行列$C^{-1}$の導出につまづいています。純粋に行列計算の理解が足りていないです。
  • PRML下巻290ページに「予測分布p(x)に加えて事後分布p(z|x)も求める必要がある」と書いていますが、何を行うために求める必要があるのかわかっていません。

現状までの感想

確率や行列計算の知識が全然足りないこともあると思うが、PRML12章の文章でどう読み取ればいいのかわからないことが多くあった。例えばPRML12章290ページ上部の「予測分布を求める際にはC^-1が必要」という文に対して「なぜ必要なんだ」と思ってしまいます。純粋に機械学習をする上での常識が足りていないと強く感じました。折れずに立ち向かってモノにしたいと思ってます。

Copy link
Member

@ae14watanabe ae14watanabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ご苦労様です!頑張って流れを追ったんだろうなーというのがよく伝わりました。
大間違いな数式とかはおそらくないと思います。HackMDに「理解チェッククイズ」みたいなのをコメントしてるので、活用してみてね。
個人的にはもうええかなーと思うのでApproveします。

@takanoshuhei
Copy link
Member Author

ご苦労様です!頑張って流れを追ったんだろうなーというのがよく伝わりました。
大間違いな数式とかはおそらくないと思います。HackMDに「理解チェッククイズ」みたいなのをコメントしてるので、活用してみてね。
個人的にはもうええかなーと思うのでApproveします。

コメントありがとうございます。HackMDに貰った指摘を見て、思っていた以上に自分の理解が甘いことに気づきました。今日明日でコメントを返したいと思います。もらった指摘の中で考えてもわからないところがあればまた質問したいと思います

Copy link
Contributor

@yoneda88 yoneda88 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です。
とりあえず多変量ガウス分布の定義が若干ちがうので、ちょいと確認&修正してください

残りの詳しい話はhackmdのコメントを読んでください!

Copy link
Contributor

@senoura senoura left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です!
コメントしました
なんかもう十分じゃないってくらいのボリュームでした
まだ作業するみたいなのでcommentにとどめておきます

Copy link

@TetraMiyazaki TetraMiyazaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です。理論も実装も自分でやったの? ほんとすげーなと思います。
記事3本の構成も 特異値分析(PCA) -> VAE これをつなげるために ppca選んだ(そうよね?)っていうのも好きです。
最後のほう二つくらいコメントしてますが、感想レベルなのでApproveします。

Copy link
Member

@takuro-Ishida takuro-Ishida left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あまりコメント多くないですが、石田が思ったことをコメント追加しました.

Copy link
Contributor

@Kusumoto-Keisuke Kusumoto-Keisuke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です.
3本目も頑張って書こうとしているのが伝わる内容でした.

気になったところにはコメントしました.
まだ計算が終えていない部分があるようなのでCommentにしておきます.

@takanoshuhei
Copy link
Member Author

takanoshuhei commented Aug 6, 2019

投稿直前の修正になってしまい申し訳ありません。

時間的に間に合いそうにないので、追加で実装、導出したかった部分の記述は諦め、現状すぐに変更できる部分のみ修正しました。
そのため、自分的にはミニマムな状態で出そうと考えています(そして修正した今の状態がミニマムだと考えています)。
再添削よろしくお願いいたします。

Copy link
Contributor

@yoneda88 yoneda88 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

おつかれさまです。レビュー遅くなって申し訳ないです

以下のコメントは参考程度に見てください
結論:本文中に出てくるμbとμは同じものだと思います

平均μの件で1点ほど気になるところがあって
コメントでは

仮定した平均をμb,周辺分布の平均をμとしました。

っていってるけど、本文中ではμbは推定するものっていってるよね。

つまり我々は、潜在変数と観測データxを繋いでいるW,μb,σ2を求めればいいわけです。

よくわからないけどμ=Wz+μb的なことを言いたかったのかな?

ちなみに自分が指摘のときに言ってたのは
 ・「ノイズの平均」と「観測データの平均(求めるべきパラメータ)」を区別してねってこと
 ・「例で出すガウス分布の平均」と「今話しているガウス分布の平均」は区別してねってこと
ですね。
もしかしたらコメントの時に間違ったこと言ってたかもしれないけど、
「p(x)=∫p(x|z)p(z)dz=N(x|μ,C)」と「p(x|z)=N(x|Wz+μ,σ2I)」のμは同じモノだよ~。
実際に周辺化(∫p(x|z)p(z)dzの計算)してみると一致することが分かるかと

分からなかったら聞いてね

Copy link
Contributor

@Kusumoto-Keisuke Kusumoto-Keisuke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

遅くなってしまいすみません.お疲れ様です.問題ないと思うのでApproveします.

@hajime9652 hajime9652 removed their request for review April 24, 2020 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
final report linear algebra カテゴリ「線形代数」 mini report ミニレポート training
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Qiita記事]確率的主成分分析
7 participants