機械学習の部屋

機械学習及び統計の学習

確率密度関数に関するtips

確率密度関数について初めて学んだ人が陥る可能性があるいくつかの疑問や誤解について考察していこうと思います。

(下に書いてあることはどれも分かってしまえば自明なことですが、私自身最初は混乱していました。)

1 確率密度関数の値は1を超えてもいいのだろうか?

 確率密度関数p(x)自体は確率ではありません。p(x)\delta xというように積分した値が確率となるのです。そのため確率密度関数自体は1を超えても何の問題もありません。

しかし当たり前ですが全領域で積分した時には1以下でなければいけません。

2 ある実現値をとる確率は0になるがこれは大丈夫なのか?

 確かに連続確率密度関数においてある一点{z}からなる集合が生じる確率は

\int_z^z p(x)dx = 0

より0です。

しかし確率が0であるからといってそれが空集合であるわけではありません。確率0であっても空集合ではないので実現されると考えられるのです。

確率0に関するイメージを持つために測度論でよく出てくる例を考えてみましょう。1点のみの確率が0であるならば、確率の加法性よりそれを可算無限個足し合わせた有理数全体の集合が実現される確率も0となります。*1このように確率0であっても空集合ではない例はたくさんあります。

また実現された確率の高い低いに関してはあまり意味がないともいえるでしょう。例えば1から100万までの数字が書かれた100万枚のカードを用意し、その中から一枚を選ぶとします。この時あるカードが選ばれる確率は100万分の1ですが、それについてレアなことが起こったとは言わないでしょう。

3 現象の起こりやすさ=確率密度関数の大きさではない?

1でも書きましたが、確率密度関数はあくまで確率の密度を表しているのであってそれ自体は確率を表しません。なのでその大きさがイコール確率と考えてはいけません。

 この点については渡辺(2012)『ベイズ統計の理論と方法』で詳しく指摘されています。その中で

p(x) \propto exp(-||x+100||) + 1000 exp(-||x-100||/0.01(ただしx \in R^{10}

という例が出てきます。p(x)の大きさで見ると二項目が支配的に見えますが、実際に積分すると一項目が支配的になるのです。

この例からも「確率密度関数ではなく、それを積分した値が実際の確率である」という意識はしっかり持っておくべきなのかもしれません。

 

参考文献

原啓介 『測度・確率・ルベーグ積分』 講談社

渡辺澄夫 『ベイズ統計の理論と方法』 コロナ社

渡辺澄夫 『データ学習アルゴリズム』 共立出版

 

 

 

*1:これはディリクレ関数のルベーグ積分です。