ベイズ統計における階層モデルによって個体差、空間的不均一性、非定常性などのモデル化が可能になったことが、生態学、マーケティング、自然言語処理など、様々な分野に影響を与えている。
統数研の伊庭さんの論文でベイズ絡みのやつが読みっぱなしだったからまとめておこう(風邪で来週に延期になったプレゼンもあるし。。。)
1.近年のベイズ統計の扱い
最近、ベイズ統計から連想されるものの多くはMCMC(マルコフ連鎖モンテカルロ法)や変分ベイズなど。だが、これらはあくまでアルゴリズム。手段に過ぎないのであって、直接に現実世界の問題が解けるわけではない。
2.むかしベイズ-不確実性をどう解釈するか
『最尤法』によるパラメータの推定
→データyを与えたときに条件つき確率P(y|x)を最大にするパラメータxを選ぶ
→これを使うと、様々な既知の結果が自動的にでてくる&未知の問題もどんどん解ける。しかし、意味を考えるとちょいとめんどい。
→xを与えたときにP(y|x)がyの確率分布を与えるのなら、yを与えたときのP(y|x)を「パラメータxの確率分布」に関連付ける⇒ということは許されない!!
→∵ xは定数なので、それの確率分布ということはありえない
最近のベイズ統計では、「有意性」だけに目がいって、肝心の「効果の大きさ」を見落としがちだということで、「仮説検定」より「信頼区間」の方が流行だが、これもまた曲者である。
『95%信頼区間』
→「与えられたデータに対してパラメータが確率95%で含まれる」区間では間違い
→「パラメータxで定まる分布P(y|x)から発生させたデータから、決まった規則で信頼区間を構成することを繰り返したとして、95%の場合にxがその区間に入るような」区間の構成法があったとして、「与えられたデータからその方法によって構成
された区間」が正しい定義
⇒「パラメータxの確率分布」といわずにすますために多大な努力をしている!
→この禁を破ることで、全部すっきりさせてしまおう!というのがベイズ統計
↓
そのために、P(y|x)の他にもう1種類、パラメータxを生成する確率分布P(x)を導入する必要がある。するとxが生成され、そのxのもとでyが生成する確率は
P(x,y)=P(y|x)P(x)
となり、条件つき確率と同時確率の定義から
P(y|x)P(x)=P(x,y)=P(x|y)P(y)
が満たされることから、「yが与えられたときのxの確率分布」
は、yとxをひっくりかえす式
P(x|y)=P(x,y)/P(y)=P(y|x)P(x)/∑P(y|x)P(x)
で求まる。そして↑がベイズの公式(ベイズの定理)である。
P(x|y)の最も大きくなるxを選ぶという推定法をMAP推定(Maximum A Posteriori estimate)と呼び、P(x)がほぼ一様とみなせるときのMAP推定の近似が最尤法となる。信頼区間の代わりとして、事後分布P(x|y)の広がりを考える。
3.いまベイズ-モデル化の手段として
ともかく、何でもよいから、さまざまな隠れた変数を経由して、データが生成してくる過程を確率分布で記述できたと仮定する。すると、データを与えた時の推論は機械的にベイズの公式でできる。
↓
ベイズ統計は「逆問題のためのモデルを順問題のモデリングによって生成する」という戦略として再認識される!
⇒ベイズ統計がモデル化の戦略として再解釈される!
↓しかし、問題点が2つ
①計算が大変
②生成過程のモデル化は簡単ではない
①→ベイズの公式で何でも計算できるとはいえ、実際の計算は大変。そこで、MCMCや変分ベイズ法など、計算のためのアルゴリズムが重要となってくる。アルゴリズムが力を出せるような、ベイズの公式を使う段階まで持っていくのが肝心!
ただ、実際には普通の数値的最適化や数値線形代数で十分扱える問題も多いため、最初からMCMCなどと決めてかからない注意が必要。
②→HMMはマルコフ連鎖で観測されない状態が生成され、その状態から観測される量が生成されるという、生成モデルの一つの典型であるが、それを高次元化したマルコフ場モデル(MRF)は、HMMのようにたやすくは扱えない。これは、生成モデルが2次元以上では、意図したように振舞うとは限らないからである。
4.階層モデル-統一的視点
ベイジアンモデリング(前述の考え方によるモデル化)の利点
→多段階の生成機構を利用して、階層的な構造を表現できること
yが個人行動や能力、特定の個体の形態、ある地点での物質の濃度などミクロなデータを表すとき、
従来の手法→「少数個のマクロなパラメータxを用意して、最尤法でP(y|x)を当てはめることで、データを表現」
↓ベイズでは、以下のことに対応!
ベイズ→「事前分布P(x)を用意して、同時分布をP(x,y)=P(y|x)P(x)で表現」
⇒しかしこの方法では、xの安定性と引き換えに、個体差、地域差、非定常な時間的変動などが消去されてしまう
↓これに対して
「ある時間帯に来た顧客」「ある集団のメンバー」「○○地域で得られたサンプル」のように、中間的な階層ごとに異なったパラメータxを用意して、それらがさらに未知パラメータzで決まる分布P(x|z)に従うという構造を考える
⇒これは、2段階の生成モデルP(x,y)=P(y|x)P(x|z)P(z)を考えることに相当する!
↓
従来の方法では「全体をひとつにするか、あるいは適当な数の集団にまとめなおす」ことになるが、ここで、階層ベイズモデルを使えば「マクロな情報をミクロの推定にフィードバックすることで、ミクロの情報をできるだけ残した推定が可能になる」
生成モデルによるモデル化という見方をとることによって
様々なモデル(ex.階層ベイズモデル、状態空間モデル、HMM)を統一的に理解ができる→現代的な「ベイズ」のうまみといえる!
一般にベイズ統計では「すべての変数が確率変数であって、そのうちわからないところを推定する」というゆるい立場をとる
5.個性のモデル化-科学の周縁へ
階層モデルや状態空間モデルによって、今までの統計的な処理では抜け落ちていたものを拾い上げることができるようになった!
マクロな表現からミクロな表現への転換
6.生成モデルと判別モデル
生成モデル(generative model)
→全体をモデル化して、目的に応じてそれを変形して利用。変形のためにベイズの公式を積極的に利用。
~データの生成過程を条件つき確率で表現して、すべての変数の同時分布を書き下し、あとは必要に応じてベイズの公式を使う、というのが基本方針
判別モデル(discriminative model)
→必要のない部分はモデル化しない。ベイズの公式はなるべく使わない。
~与えられた目的に必要な条件つき確率のみを抜き出してモデル化する、という考え方
上記の2つはモデル化の上での相対的な方針であり「○○が生成モデルで××が判別モデル」といった絶対的な判断基準があるわけではなく、あくまでモデル化の『方針』として捉えるべき。多数のモデルを整理する軸
未知のパラメータを学習(推定)
↓
生成モデル~教師あり学習では最尤法による推定に、教師なし学習はEM法の形になることが多い
「教師あり」では 判別モデル>生成モデル
「教師なし」では 判別モデル<生成モデル
7.その他
扱わなかった問題としては、他に
・学習のときと違った分布をする入力yについての性能を良くするような学習
・モデル選択あるいは更に一段上のハイパーパラメータ選択を考える場合に判別モデルと生成モデルの考え方の違いがどう影響するのか
などがある。
統数研の伊庭さんの論文でベイズ絡みのやつが読みっぱなしだったからまとめておこう(風邪で来週に延期になったプレゼンもあるし。。。)
1.近年のベイズ統計の扱い
最近、ベイズ統計から連想されるものの多くはMCMC(マルコフ連鎖モンテカルロ法)や変分ベイズなど。だが、これらはあくまでアルゴリズム。手段に過ぎないのであって、直接に現実世界の問題が解けるわけではない。
2.むかしベイズ-不確実性をどう解釈するか
『最尤法』によるパラメータの推定
→データyを与えたときに条件つき確率P(y|x)を最大にするパラメータxを選ぶ
→これを使うと、様々な既知の結果が自動的にでてくる&未知の問題もどんどん解ける。しかし、意味を考えるとちょいとめんどい。
→xを与えたときにP(y|x)がyの確率分布を与えるのなら、yを与えたときのP(y|x)を「パラメータxの確率分布」に関連付ける⇒ということは許されない!!
→∵ xは定数なので、それの確率分布ということはありえない
最近のベイズ統計では、「有意性」だけに目がいって、肝心の「効果の大きさ」を見落としがちだということで、「仮説検定」より「信頼区間」の方が流行だが、これもまた曲者である。
『95%信頼区間』
→「与えられたデータに対してパラメータが確率95%で含まれる」区間では間違い
→「パラメータxで定まる分布P(y|x)から発生させたデータから、決まった規則で信頼区間を構成することを繰り返したとして、95%の場合にxがその区間に入るような」区間の構成法があったとして、「与えられたデータからその方法によって構成
された区間」が正しい定義
⇒「パラメータxの確率分布」といわずにすますために多大な努力をしている!
→この禁を破ることで、全部すっきりさせてしまおう!というのがベイズ統計
↓
そのために、P(y|x)の他にもう1種類、パラメータxを生成する確率分布P(x)を導入する必要がある。するとxが生成され、そのxのもとでyが生成する確率は
P(x,y)=P(y|x)P(x)
となり、条件つき確率と同時確率の定義から
P(y|x)P(x)=P(x,y)=P(x|y)P(y)
が満たされることから、「yが与えられたときのxの確率分布」
は、yとxをひっくりかえす式
P(x|y)=P(x,y)/P(y)=P(y|x)P(x)/∑P(y|x)P(x)
で求まる。そして↑がベイズの公式(ベイズの定理)である。
P(x|y)の最も大きくなるxを選ぶという推定法をMAP推定(Maximum A Posteriori estimate)と呼び、P(x)がほぼ一様とみなせるときのMAP推定の近似が最尤法となる。信頼区間の代わりとして、事後分布P(x|y)の広がりを考える。
3.いまベイズ-モデル化の手段として
ともかく、何でもよいから、さまざまな隠れた変数を経由して、データが生成してくる過程を確率分布で記述できたと仮定する。すると、データを与えた時の推論は機械的にベイズの公式でできる。
↓
ベイズ統計は「逆問題のためのモデルを順問題のモデリングによって生成する」という戦略として再認識される!
⇒ベイズ統計がモデル化の戦略として再解釈される!
↓しかし、問題点が2つ
①計算が大変
②生成過程のモデル化は簡単ではない
①→ベイズの公式で何でも計算できるとはいえ、実際の計算は大変。そこで、MCMCや変分ベイズ法など、計算のためのアルゴリズムが重要となってくる。アルゴリズムが力を出せるような、ベイズの公式を使う段階まで持っていくのが肝心!
ただ、実際には普通の数値的最適化や数値線形代数で十分扱える問題も多いため、最初からMCMCなどと決めてかからない注意が必要。
②→HMMはマルコフ連鎖で観測されない状態が生成され、その状態から観測される量が生成されるという、生成モデルの一つの典型であるが、それを高次元化したマルコフ場モデル(MRF)は、HMMのようにたやすくは扱えない。これは、生成モデルが2次元以上では、意図したように振舞うとは限らないからである。
4.階層モデル-統一的視点
ベイジアンモデリング(前述の考え方によるモデル化)の利点
→多段階の生成機構を利用して、階層的な構造を表現できること
yが個人行動や能力、特定の個体の形態、ある地点での物質の濃度などミクロなデータを表すとき、
従来の手法→「少数個のマクロなパラメータxを用意して、最尤法でP(y|x)を当てはめることで、データを表現」
↓ベイズでは、以下のことに対応!
ベイズ→「事前分布P(x)を用意して、同時分布をP(x,y)=P(y|x)P(x)で表現」
⇒しかしこの方法では、xの安定性と引き換えに、個体差、地域差、非定常な時間的変動などが消去されてしまう
↓これに対して
「ある時間帯に来た顧客」「ある集団のメンバー」「○○地域で得られたサンプル」のように、中間的な階層ごとに異なったパラメータxを用意して、それらがさらに未知パラメータzで決まる分布P(x|z)に従うという構造を考える
⇒これは、2段階の生成モデルP(x,y)=P(y|x)P(x|z)P(z)を考えることに相当する!
↓
従来の方法では「全体をひとつにするか、あるいは適当な数の集団にまとめなおす」ことになるが、ここで、階層ベイズモデルを使えば「マクロな情報をミクロの推定にフィードバックすることで、ミクロの情報をできるだけ残した推定が可能になる」
生成モデルによるモデル化という見方をとることによって
様々なモデル(ex.階層ベイズモデル、状態空間モデル、HMM)を統一的に理解ができる→現代的な「ベイズ」のうまみといえる!
一般にベイズ統計では「すべての変数が確率変数であって、そのうちわからないところを推定する」というゆるい立場をとる
5.個性のモデル化-科学の周縁へ
階層モデルや状態空間モデルによって、今までの統計的な処理では抜け落ちていたものを拾い上げることができるようになった!
マクロな表現からミクロな表現への転換
6.生成モデルと判別モデル
生成モデル(generative model)
→全体をモデル化して、目的に応じてそれを変形して利用。変形のためにベイズの公式を積極的に利用。
~データの生成過程を条件つき確率で表現して、すべての変数の同時分布を書き下し、あとは必要に応じてベイズの公式を使う、というのが基本方針
判別モデル(discriminative model)
→必要のない部分はモデル化しない。ベイズの公式はなるべく使わない。
~与えられた目的に必要な条件つき確率のみを抜き出してモデル化する、という考え方
上記の2つはモデル化の上での相対的な方針であり「○○が生成モデルで××が判別モデル」といった絶対的な判断基準があるわけではなく、あくまでモデル化の『方針』として捉えるべき。多数のモデルを整理する軸
未知のパラメータを学習(推定)
↓
生成モデル~教師あり学習では最尤法による推定に、教師なし学習はEM法の形になることが多い
「教師あり」では 判別モデル>生成モデル
「教師なし」では 判別モデル<生成モデル
7.その他
扱わなかった問題としては、他に
・学習のときと違った分布をする入力yについての性能を良くするような学習
・モデル選択あるいは更に一段上のハイパーパラメータ選択を考える場合に判別モデルと生成モデルの考え方の違いがどう影響するのか
などがある。
ベイズで検索していたら、このエントリーにたどり着きました。
内容は、すごく勉強になりました。
大変あつかましいのですが
参考にされた論文の雑誌名、巻号などを教えていただけると幸いです。よろしくお願いします。
管理人のK5です。コメントありがとございます。
>参考にされた論文の雑誌名、巻号などを教え>ていただけると幸いです
電子情報通信学会 ニューロコンピューティング研究会(NC) において、統計数理研究所の伊庭 幸人さんが「ベイズ統計の流行の背後にあるもの」というタイトルで招待講演やっていまして、それの原稿の要点をブログにまとめました。
http://staff.aist.go.jp/h.asoh/NC200610.html
最近行われたばかりの研究会ですので、もしかしたら、何らかのジャーナルにこの論文が掲載されるにはまだ時間がかかってしまうかもしれません。。。
http://hawaii.aist-nara.ac.jp/~shige-o/pukiwiki/index.php?%C8%BD%CA%CC%A4%C8%C0%B8%C0%AE%A4%CE%A5%E2%A5%C7%A5%EB
このページも参考になるかと思われます(まだ、僕は読んでないですが(汗)
自分は生態学方面(主に物質瞬間)を専門としている博士課程の学生です。
統計に明るくない自分ですが、K5さんのまとめはわかりやすくて、参考になりました。
時々、ブログ覗かせていただきます。
失礼致しました
データマイニングと機械学習がメインの研究室に所属していますが、自分の勉強は時系列データマイニングを主軸としています。そして、研究テーマは時系列データマイニングとセンサ工学+αのような感じです。ただ、研究の進み具合によって変更の可能性は全然ありますが。
>時々、ブログ覗かせていただきます。
ありがとうございます。ただ、研究関係の真面目な記事だけでなく、フザけた記事もよく投稿しますw
それと、更新はかなり不定期です。。。
恥ずかしい
友人に奇術研のやつがいたので
なんとなくK5さんには親近感がわきました
修論がんばってください
コメントありがとうございます。
詳細情報をありがとうございます。
現在、所属しているゼミでベイズ統計を勉強しています。
伊庭さんの書かれた本や論文も活用させて頂いています。