読者です 読者をやめる 読者になる 読者になる

PRML読書会第十一回

機械学習 PRML 勉強会

今週で二章が終わりました。確率分布の章はわりとスムーズに進んだような気がしなくもない。上巻が5章くらいあるので、そういう意味では40%を読んだことになります。わっしょい。

混合ガウス分布

正規分布の和の分布と、混合正規分布が昔ごっちゃになっていたりしたんでそれを整理した時のlogが残っている。
www.yasuhisay.info
この例だと正規分布に混合係数をかけて、それを足し合わせたものが混合ガウス分布というものだった。で、混合係数自体に確率密度を考えることができるということで、確率の乗法定理とか加法定理などが使えるようになってくる。これから事後分布が計算できるんだけど、それは負荷率とも呼ばれるらしい。詳しくは9章。

で、混合ガウスってパラメータいっぱいすぎだよねっていう話をした。2次元ガウスとかを考えるとパラメータ数の総数は平均項、共分散項、混合係数をそれぞれkについて考えて、合計として(2+3+1)*Kのパラメータが出てくる。こりゃ大変。最尤推定じゃclosed-formに表わせないよーってことでEMアルゴリズムというのが役に立つらしい。NNでも出てくるとか出てこないとか。この辺はid:wilsonia先生の解説に期待。

指数型分布族

僕は理論統計学でexponential familyとしてこれは知っていたのでほとんど抵抗がないけど、初めての人は抵抗あるよね。とりあえず

  • いままでやった分布が指数型分布族に属している
  • 指数型分布族に対して、言える一般的な性質を示す
  • じゃあ、その性質は、いままでやってきた分布にも適用できるよね

という流れさえ掴めばそんなに問題がないと思う。

ああ、あとP110のところに「今までに学んできた確率分布は(混合ガウス分布を除いて)、指数型分布族と呼ばれる分布の例となっている」と書いてあるんだけど、ディレクレ分布も指数型分布族なのかな?ここが不明だった。

最尤推定と十分統計量

ここはいいかなー。十分統計量が組になっている場合もあるよねーとかそういうの。P113の(2.226)を導入する付近でちょっと時間使ったけど、普通にやれば大丈夫。

あと、(2.227)式の対数尤度を最大化するのが(2.228)になるのはちゃんと確かめないと。。。

共役事前分布

指数分布族なら、共役事前分布が(2.229)で書けるよねーとかそういう話。

無情報事前分布

何もパラメーターについて知らないということを表わすために、ベルヌーイ試行とかだと事前分布は一様分布などとおけた。だけど、正規分布の平均に関するパラメータなんてのはマイナス無限大から無限大まであるので、ちゃんとしたproperな確率分布になれない*1

こういうproperじゃない分布は変則事前分布と呼ばれている。でも、このimproperな事前分布からでも事後分布がproper(正規化できるという意味で)であれば、こういう事前分布は割と使われるらしい。

ベイズ統計学入門とかに載っていたような気がするんだけど、こういうimproperな分布のやつで、P70にあるa=0.1、b=0.1のようなほとんど一様分布と見なせるベータ分布とかを事前分布に持ってくる的なことが書いてあった気がする。PRML本にはあんまりこの辺は詳しく書いてなかった。

ノンパラメトリック法

なんという卒研。次元数上がると次元の呪いなっちゃうよねーとか。そこでセミパラですよ。

あと、P118に「しかし、ノンパラメトリックなベイズ的手法は近年、急速に注目されてきていることには留意されたい」と書いてある。ちょっと探した感じだとこの辺かな。3つのうちの一つ。まだ読んでない。アクセス権ないと見れないかも。

カーネル密度推定法

カーネル関数とかは卒論でやってるからまあ大体よろしい。密度推定とかはこの辺で実際にRでやってみていたりする。

「お前が作ったコードとか使えないよ!!」っていう人はR付属のdensity関数をplotしてみるとよいと思います。

で、(2.226)式p(x)=\frac{K}{NV}からのような式からカーネル推定法、という流れになるのは初めて聞いた。KとVのどっちをfixするかでカーネル推定法かK近傍法になったりする。ふーむ。でも、カーネル推定法っていう名前はしっくりこないなー。カーネル推定法っていうと適切なカーネルはどれか、という問題っぽく聞こえてしまう。やりたいのは密度推定なんだから、密度推定法とかのほうがしっくりくるかなーとか思った。ああ、でもそうすると下の最近傍法もそうか。じゃあ、カーネル関数を使った密度推定法とか。…長いか。

最近傍法

ノンパラ卒研でやる身としては、ノンパラな他の手法も一緒にやれておいしい感じ。

密度推定でのカーネルアプローチには

  • カーネル幅を決めるパラメータhがすべてのカーネルで一定であるという問題がある
    • まあ、一定でも最小二乗クロスバリデーション評価関数最小にする問題とかそんなに簡単でもないんだけどね。
  • そのため、データの密度が高い領域では、hが大きすぎると平滑化され過ぎて、大き過ぎなければデータから取り出せるかもしれない構造がかき消されてしまうことがある
  • しかし、hが小さすぎると、密度が小さい領域では、ノイズの多い推定をしてしまうかもしれない

ということでhの設定を最も適切に行なうには、データ空間の位置によってhを変えたほうがよいでしょう、とな。で、これが最近傍法による密度推定らしい。

(2.226)式p(x)=\frac{K}{NV}において、Kを固定しての最適な値を求めることを考える。推定したい点を中心とした小球を考える。その小球の半径をちょうどk個のデータが含むようになるまで広げる。そうすると密度の推定値が求められる。え、これだけ?

と思ったら、Kが平滑化の度合いを決めているらしく、ここで最適化をする必要がありそうだ。Kは整数なので、問題はこっちのほうが簡単…でもないのかな。最適化関数にかまそうとすると最適解が整数っていう条件が入るとやっかいそうだけど、Kがそんなに大きくないなら総当たりでもいけそうな気がする。まあ、いいや。コンセプトはシンプル。

で、この最近傍法をクラス分類問題に拡張してあるのが書いてあった。ベイズを使うよ。クラスに帰属する事後確率がP123の(2.256)式p(C_k|x)=\frac{p(x|C_k)p(C_k)}{p(x)}\frac{K_k}{K}となって、これを最大にするクラスを割り当てるということになるようだ。

K=1の最近傍分類器の性質として、Nを無限大にしたときの誤差分類率は真のクラス分布を用いた最適な分類器で達成可能な最小誤差分類率のたかだか2倍にしかならない、というよい性質も書いてあった。こういうのもあってかなくてか、テキストの分類とかだとKNN法になかなか勝てないんだよねー、というのをid:wilsoniaさんが言っていた気がする。

最後のまとめ的なものとして

手法 メリット デメリット
パラメトリックな手法 ノンパラと比較すると計算が少なくて(怪しい)すむ ノンパラと比較すると表現力というか柔軟性が劣る
ノンパラメトリックな手法 非常に柔軟である 探索コストがでかい

という感じだった。ああ、なんか言葉が非常にだめっぽい感じ(特にパラメトリックな方)ですが、要するにトレードオフなので、一概にどちらがよいとは言えないよねという感じです。はい。

関連



パターン認識と機械学習 上

パターン認識と機械学習 上

  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/04/05
  • メディア: 単行本(ソフトカバー)
  • 購入: 6人 クリック: 33回
  • この商品を含むブログ (18件) を見る

*1:積分すると無限大に飛んでしまって、1にならないから。