ナイーブベイズ分類器を理解するための数学「確率」

自然言語処理学習結果

今、別記事で自然言語処理を学習している。

その中で出てくる機械学習の部分で、
結構数学の知識が必要となる。

それを補足していこうというのが、本記事の内容だ。

今回は、確率を解説する。

案外苦手な人も多いであろう部分なので、
基本的な部分から解説していこう。

スポンサーリンク

確率とは

確率とは、全体のうち特定の事象が起こる割合だ。

普段の生活にも密接に関わっているので、
なんとなくは分かっていると思う。

よくあるソシャゲの排出率3%みたいなものも、
もちろんこの確率だ。

確率の種類

いきなり蛇足だが、
実は確率には種類があることはご存じだろうか。

  • 統計的確率
  • 数学的確率
  • 公理的確率

この3つだ。

統計的確率

これは、実際に何度も繰り返して統計を取り、
その結果から求める確率だ。

例えば、サイコロを振って、
1の目が出る確率を求めるとしよう。

100回サイコロを振って、1が15回出たとする。

このときの1が出る統計的確率は、
15/100 = 15%となる。

数学的確率

これが、学校で習う確率だ。

全部の事象のうち、ある事象が占める割合
そのまま確率とする。

上と同じくサイコロを例に出そう。

どの面も出る割合が等しいとしたときに、
サイコロの1の目が出る確率を求めよう。

全体の事象は1から6の目が出るパターンなので6通り。

その中で、1の目が出るパターンは1通り。

というわけで、割合を出すと1/6、
これがそのまま確率となる。

本記事では、
単に確率と言ったらこれを表すとしよう。

なお、どの面も出る割合が正しいとする
というのがポイントだったりする。

これを、同様に確からしいという言い方をする。

公理的確率

こちらは、集合やその実数への写像を公理として定め、
それを確率として扱うというもの。

今回解説したいものとはちょっと異なるので、
詳細な説明は省こう。

確率の計算

では、具体的な計算を見ていこう。

確率の定義

全体のパターン数を\(n\)、
そのうちある事象\(A\)のパターン数を\(a\)としたとき、
事象\(A\)が起こる確率\(p\)を、

$$p = \frac{a}{n}$$

と定義する。

例えば、コイントスを1回する場合。

全体は表か裏かの2パターン、
どちらが出るかは同様に確からしいとしよう。

表が出るという事象を\(A\)とすると、
そのパターン数はもちろん1だ。

この確率は、

$$p = \frac{1}{2}$$

となる。

これは大丈夫だと思う。

互いに独立な事象が同時に起こる確率

次にこれを見よう。

二つの独立した事象\(A\)、\(B\)が
同時に起こる確率を求めたい。

このとき、単純に
それぞれの確率を掛けてあげればいい

式に直そう。

事象\(A\)が起こる確率を\(p_a\)、
\(B\)が起こる確率を\(p_b\)と置く。

このとき、\(A\)と\(B\)が同時に起こる確率\(p\)は、

$$p = p_a \times p_b$$

となる。

例えば、コイントスサイコロを同時にやってみる。

ここで、
コインが表かつサイコロで偶数が出る確率
を求めてみよう。

前提として、
コインは表、裏が出る確率は同様に確からしい、
サイコロもどの面も出る確率は同様に確からしいとしよう。

まず、コインが表になる確率は上で求めた通り1/2。

次に、サイコロで偶数が出る確率は、
全体が6通り、偶数は2, 4, 6の3通りなので、
こちらも1/2となる。

よって、
コインが表かつサイコロで偶数が出る確率\(p\)は、

$$p = \frac{1}{2} \times \frac{1}{2} = \frac{1}{4}$$

となる。

このあたりまでは大丈夫だと思う。

ちょっとだけ発展させてみよう。

\(n\)個の事象が全て独立とし、
その確率を\(p_1, p_2, …, p_n\)とする。

このとき、これらが全て起こる確率\(p\)は、
全部掛け合わせればいいので、

$$p = p_1 \times p_2 \times … \times p_n$$

となる…のだが、これを毎回書くのは面倒だろう。

というわけで、掛け算の省略形を定義する。

円周率を表すときによく使う
ギリシャ文字\(\pi\)の大文字\(\Pi\)を使って、
以下のように書き直す。

$$p_1 \times p_2 \times … \times p_n = \Pi_{i=1}^{n}p_i$$

右辺は、文字\(i\)を1から\(n\)まで1ずつ足しながら、
その右にある\(p_i\)を掛けていく、という意味になる。

この記法は元の機械学習解説側で使うので、
覚えておいて欲しい。

また、もう一つ補足で、
この書き方は確率の話ではなく、数学全体の話だ。

条件付き確率

これがちょっと分かりづらいという人も多いかもしれない。

条件付き確率とは、
ある事象\(A\)が起こったとき、別の事象\(B\)が起こる確率
を指す。

そのまま、ある条件の元で求める確率のことだ。

これを、数式では\(P(B|A)\)と書き表し、
以下の式で求めることができる。

$$P(B|A) = \frac{P(A \cap B)}{P(A)}$$

なお、\(P(A \cap B)\)は、
事象\(A\)と事象\(B\)が同時に起こる確率を表す。

例えば、これもサイコロで見てみよう。

これまで通り、
どの面も出る確率は同様に確からしいとする。

ここで、
事象\(A\):2の倍数が出たということは分かっており、
事象\(B\):それが3の倍数である確率を求めてみる。

まず、\(P(A)\)は、
単純に2の倍数である確率なので、1/2だ。

次に\(P(A \cap B)\)、
2の倍数かつ3の倍数…これは要するに6だ。

よって、確率\(P(A \cap B)\)は1/6になる。

最後に、これを計算しよう。

$$P(B|A) = \frac{P(A \cap B)}{P(A)} = \frac{\frac{1}{6}}{\frac{1}{2}} = \frac{1}{3}$$

よって、計算では1/3と出た。

合っているか、一応意味的に考えてみよう。

まず、2の倍数が出たと分かっているので、
出た目は2, 4, 6のいずれかである。

この時点で、
全体が3パターンに絞られたことになる。

その中で3の倍数であるのは6のみ、
つまり1パターン。

よって、確率は1/3、
一致したので大丈夫そうだ。

ちなみに、一個上の段落で
独立という言葉を使用している。

その定義は、
片方が起こったと分かっても、
もう片方の確率に影響しないということ。

さっき上げたコインとサイコロの例だと、
例えコインがどっちになろうと、
サイコロの目がいくつになるかは分からないので独立だ。

逆に、
こっちの例であるサイコロの2の倍数と3の倍数では、
片方が分かるともう片方の確率に影響するため、
独立ではないということになる。

ベイズの定理

…実は、これを解説したかったので
この記事を書いたといっても過言ではない。

ベイズの定理は、条件付き確率を書き直すものだ。

先に定理の内容を。

ある事象\(A\)が起こるという条件の元、
事象\(B\)が起こる条件付き確率\(P(B|A)\)は、
以下のように書き直せる。

$$P(B|A) = \frac{P(B) \times P(A|B)}{P(A)}$$

さて、定理ということは証明しないと使えない

まあ、一般的にはすでに証明されている内容ではあるが、
折角なので証明していこう。

まず、条件付き確率を使って、
事象\(A\)と事象\(B\)それぞれ、
片方が起こったらもう片方も起こるという確率を表す。

$$
\begin{eqnarray}
P(A|B) & = & \frac{P(A \cap B)}{P(B)} \\
P(B|A) & = & \frac{P(A \cap B)}{P(A)}
\end{eqnarray}
$$

上の式の両辺に\(P(B)\)を掛ける。

$$P(B) \times P(A|B) = P(A \cap B)$$

これを、下の式に代入する。

$$P(B|A) = \frac{P(B) \times P(A|B)}{P(A)}$$

これで完成だ。

ここまで分かれば、
次回の内容が理解できるだろう。

おわりに

今回は、自然言語処理…というか、
機械学習の内容を補足するために、確率を解説した。

高校でやったような内容は
結構難しいという人も多いだろうが、
このあたりだけなら大丈夫だと思う。

というわけで、
次回は機械学習分類器というものを解説する。

その具体例、ナイーブベイズ分類器というもので、
ここの内容が出てくる。

そのときにはこの記事へのリンクも貼っておくので、
適宜参照しながら進めて欲しい。

コメント

タイトルとURLをコピーしました