データ解析入門

確率論と確率モデル(5章)

画面操作キー(全画面,ワイド表示,ソースコードハイライト)

確率論と確率モデル(5章)

  • ナイーブベイズ分類器を例として「確率モデル」を解説.データ解析が
  • 「モデルを用いて,データの背後にある特徴や関係を明らかにする」
    ことを示す
  • 分類器を構成する方法は2つ(本章では後者について解説)
    • 直接的に識別関数を学習する(4章)
    • クラスに属する特徴ベクトル(入力ベクトル)の生成モデルを用いて分類器構成
  • 理解に必要な「確率論」を概説(目標:「壺の問題」が解ける)
    • 同時確率,事前確率,事後確率.確率計算での対数の利用
  • 文書解析などで欠かせない多項モデルをフルーツポンチの例で解説

事象と確率

  • サイコロを投げて「偶数の目が出る確率」を考える
    • サイコロを投げることを試行という
    • 試行によって得られる結果を事象という
    • 「偶数の目が出る事象」を考え,これを記号\(A\)で表し
    • 事象\(A\)が起こる確率を\(P(A)\)と書く
    • \(A\):偶数の目が出る事象,事象\(B\):3の倍数が出る事象とし,
    • \(A\)と\(B\)が同時に起こる確率を\(P(A,B)\)と書き,
    • \(P(A,B)\)を「事象\(A\)と事象\(B\)の同時確率」とよぶ
    • 対して,\(P(A)\)と\(P(B)\)を周辺確率とよぶ(表の周囲に出現)
  • 記号化は,考えを整理するために欠かせない手段

確率の表と周辺確率

「アンケート回答のうち,男子は7割で,男子かつコーヒーが好きという人は56%,女子かつコーヒーが好きという人は15%」→確率の表作成

  • 事象\(A_1\):男子の回答である,  事象\(A_2\):女子の回答である
    事象\(B_1\):好きという回答である, 事象\(B_2\):嫌いという回答である.
  • \(B_1\)\(B_2\)計(周辺)
    \(A_1\)\(P(A_1,B_1)=0.56\)\(P(A_1,B_2)\)\(P(A_1)=0.7\)
    \(A_2\)\(P(A_2,B_1)=0.15\)\(P(A_2,B_2)\)\(P(A_2)\)
    計(周辺)\(P(B_1)\)\(P(B_2)\)\(1\)
  • 確率の表ですが,度数を集計するクロス表と実質的に同じ
  • 演習問題5.2(表の完成,各マスの確率が何を意味するかを言う)

条件付き確率とベイズの定理(1)

  • 事象Bが起こった条件下で事象Aが起こる条件付き確率\(P(A|B)\)
  • \[P(A|B)=\frac{P(A,B)}{P(B)}\] 変形すると「確率の乗法の定理」になる
    \(P(A,B)=P(B|A)P(A)\), \(P(A,B)=P(A|B)P(B)\)
  • 式の読み方:「事象Aと事象Bが同時に起こる確率は,事象Aが起こり,さらにその条件下で事象Bが起こる確率に等しい」

条件付き確率とベイズの定理(2)

  • \[P(A|B)=\frac{P(A,B)}{P(B)}, \;P(A,B)=P(B|A)P(A)\]
  • 条件付き確率(左式)の分子を乗法の定理(右式)で置き換えたものが「ベイズの定理」「条件付き確率が左右逆になる」点が重要! \[P(A|B)=\frac{P(B|A)P(A)}{P(B)}\]

条件付き確率とベイズの定理(3)

  • \[P(A|B)=\frac{P(B|A)P(A)}{P(B)}\]
  • 「条件付き確率が左右逆になる」ことで,通常は難しい「結果から原因を推定する」
  • 探りたい原因を事象\(A\),得られる結果を事象\(B\)とするとき
  • \(P(A|B)\):事後確率(←これが知りたい事)
    • 結果である\(B\)がわかった後に原因\(A\)が起こっていた確率
  • \(P(A)\):事前確率
    • 結果である\(B\)がわかる前に(関係なく)原因\(A\)が起こる確率
  • \(P(B|A)\):尤度(←これは予測容易なことが多い)
    • 原因\(A\)が起こるときに,結果\(B\)が起こる確率(尤もらしさ)

条件付き確率とベイズの定理(4)

事象\(A_1\):男子の回答である,  事象\(A_2\):女子の回答である
事象\(B_1\):好きという回答である, 事象\(B_2\):嫌いという回答である.

\(B_1\)\(B_2\)計(周辺)
\(A_1\)\(P(A_1,B_1)=0.56\)\(P(A_1,B_2)\)\(P(A_1)=0.7\)
\(A_2\)\(P(A_2,B_1)=0.15\)\(P(A_2,B_2)\)\(P(A_2)\)
計(周辺)\(P(B_1)\)\(P(B_2)\)\(1\)
  • 問:「回答が男子からであるときに,コーヒーを好きと答えている確率」(ヒント:本問については,ベイズの定理不要,演習問題5.3)
  • \(P(B_1|A_1)=\frac{P(A_1,B_1)}{P(A_1)}=\frac{0.56}{0.7}=0.8\)

壺の問題(1)その1

2つの壺があり,第1の壺には赤玉が2個と白玉が1個,第2の壺には赤玉が1個と白玉が2個入っている.第1の壺と第2の壺は,2:1の確率で選ばれる.今,いずれかの壺を選んで玉を取り出したところ,白玉であった.第1の壺が選ばれていた確率を求めよ.

  • \(A_1\):第1の壺が選ばれる事象,\(A_2\):第2の壺が選ばれる事象,
    \(B_1\):赤玉が選ばれる事象,\(B_2\):白玉が選ばれる事象
  • 求めるべき確率は,\(P(A_1|B_2)\)
    • \(P(A_1|B_2) = \frac{P(A_1)P(B_2|A_1)}{P(B_2)}\),   
      問題文より \(P(A_1)=2/3,P(B_2|A_1)=1/3\)
    • 周辺確率は \(P(B_2)=P(B_2,A_1)+P(B_2,A_2)\)
      \(=P(B_2|A_1)P(A_1)+P(B_2|A_2)P(A_2)\)
      \(=1/3 \cdot 2/3 + 2/3 \cdot 1/3 = 4/9\)
    • 式に代入 \(P(A_1|B_2) = \frac{2/3 \cdot 1/3}{4/9} = 1/2\)(答え)

壺の問題(1)その2

2つの壺があり,第1の壺には赤玉が2個と白玉が1個,第2の壺には赤玉が1個と白玉が2個入っている.第1の壺と第2の壺は,2:1の確率で選ばれる.今,いずれかの壺を選んで玉を取り出したところ,白玉であった.第1の壺が選ばれていた確率を求めよ.与えられているのは条件付き確率と一部の周辺確率.確率の表作成
\(A_1\):第1の壺が選ばれる事象,\(A_2\):第2の壺が選ばれる事象,(←既知)
\(B_1\):赤玉が選ばれる事象,\(B_2\):白玉が選ばれる事象(←未知)

\(B_1\)\(B_2\)計(周辺)
\(A_1\)\(P(A_1,B_1)=P(B_1|A_1)P(A_1)\)\(P(A_1,B_2)=P(B_2|A_1)P(A_1)\)\(P(A_1)\)
\(A_2\)\(P(A_2,B_1)=P(B_1|A_2)P(A_2)\)\(P(A_2,B_2)=P(B_2|A_2)P(A_2)\)\(P(A_2)\)
計(周辺)\(P(B_1)\)\(P(B_2)\)\(1\)
求めるもの\(P(A_1|B_2)=P(A_1,B_2)/P(B_2)\)

壺の問題(2)

[演習5.5]2つの壺a,bがあり,aの壺には赤玉が2個と白玉が3個,bの壺には赤玉が4個と白玉 が8個入っている.今,どちらかの壺を選んで玉を取り出したところ,赤玉であった.aの壺が選ばれていた確率を求めよ(ヒント:壺aと壺bが選ばれる確率は同じ)

[演習5.6]赤と青の2つの箱があり,赤の箱にはりんごが2個とオレンジが6個,青の箱にはり んごが3個とオレンジが1個入っている.赤い箱は40%,青い箱は60%の確率で選ばれる.今,箱の1つをランダムに選び,フルーツをランダムに1個取り出したところ,オレンジであった.青い箱が選ばれていた確率を求めよ.

  • いずれの問題も,尤度(壺や箱がわかっている時に赤玉やオレンジが選ばれる確率)はすぐわかる
  • ところが,原因(どの壺を選んだか)の確率を求めるには,工夫が必要
  • 世の中で必要なのは,こちら(=結果から原因を推定すること)
  • 確率の表を頭に思い描き,ベイズの定理を使って解くのが最終目標.最初は表を作成して解いてもOK.

ナイーブベイズ分類器

  • 文書の生成モデルを考え,文書が与えられたとき,その文書のクラスあるいはカテゴリ(政治,経済,スポーツ)を推定する方法を解説
  • ナイーブベイズ分類器は,生成モデルを使って分類を行う
  • 「事象の条件付き独立」の仮定をつかう
    • フルーツポンチなら「あるフルーツが選択されることは,別のフルーツが選択されることに影響されない」(容易に納得できる)
    • 文書なら「ある単語の出現は,他の単語の出現に影響されない」(これは大胆な仮定)

確率変数と確率分布

  • 確率変数は,「確率的に値が決まる変数」で,サイコロを投げたときに出る目の値は,確率変数の例.
  • 「サイコロを投げた時に出る目の値を確率変数\(X\)とする」のように使い,確率変数には,それがとる値に対し確率が与えられる
  • サイコロの場合でいえば,
    • \( P(X=1)=1/6, \; P(X=2)=1/6, \ldots\)
  • 確率変数が,それぞれの値をとるときの確率 \[P(X=x_k)=f(x_k)\]を\(X\)の確率分布という
  • 確率変数および確率分布を,「サイコロの例」で覚えてください

2項分布と多項分布(2項分布,参考)

  • コインを3回投げ,結果は「表→裏→表」でした
  • このように出る確率は? 答えは1/8
  • では,表が2回,裏が1回出る確率はどうでしょうか? 答えは3/8
  • 確率が変わるのは,表が2回で裏が1回の組み合わせが3通りのため
    • 表表裏,表裏表,裏表表
    • 3回のうち表が2回出る組み合わせは, \( {}_3\mathrm{C}_2 = \frac{3\cdot 2}{2\cdot 1} = 3\)
  • コインを10回投げて,表が3回出る確率は,
    \({}_{10}\mathrm{C}_3\,(0.5)^3(1-0.5)^{10-3}\)
  • 試行に成功する確率が\(p\)のとき,\(n\)回繰り返して\(x\)回成功する確率は \[P(X=x)=f(x) = {}_n\mathrm{C}_x \,p^x(1-p)^{n-x}\]
  • \(f(x)\)が,確率変数\(X\)を「成功する回数」としたときの確率分布(この場合は2項分布

2項分布と多項分布(多項分布,重要

  • 巨大フルーツポンチの壺から,果物を10粒すくってボウルに入れる
  • フルーツポンチの壺には,{ぶどう,白桃,ナタデココ,いちご}が\(q_1,q_2,q_3,q_4\)の割合(=確率)で入っている
  • ボウルの中を見たところ,それぞれが{2,3,4,1}個入っていた
  • 組み合わせを考えなければ,起こる確率は \(q_1^2 \cdot q_2^3 \cdot q_3^4 \cdot q_4\)
  • 「同時確率が掛け算になる」のは,果物を取り出す各事象が独立ゆえ
    • 事象の独立:取り出した果物は,取り出す果物に影響しない
  • 各果物の出現確率が\(q_m\),出現個数が\((x_1,\ldots,x_M)\)である確率は, 確率変数\(X_m(m=1,\ldots,M)\)を\(m\)番目の果物が出現する個数としたときの確率分布(この場合は多項分布)で表される(組み合わせの数を\(A\)と表記)
  • \[ f(x_1,\ldots,x_M)=A\prod_{m=1}^M q_m^{x_m}\]

フルーツポンチ(1)

トロピカル,クラシック,山形,山梨というラベルが付いた壺があり,それぞれ特徴的なフルーツポンチ.オーダーにより壺を選び,選んだ壺からフルーツポンチをすくい,ボウルに入れて提供.

果物\壺
トロピカルクラシック山形山梨
マンゴー
0.50.050.030.05
ナタデココ
0.10.10.10.1
いちご
0.030.30.050.05
ぶどう
0.030.10.150.5
さくらんぼ
0.040.10.40.05
もも
0.10.30.250.2
アロエ
0.20.050.020.05
  • のフルーツ(=果物)のブレンド割合(縦方向の和は1)
  • ブレンド割合=壺が選ばれたときに各果物が選ばれる条件付き確率.例:\(P(マンゴー|トロピカル)=0.5\) ←トロピカルの壺で,マンゴーが選ばれるのは50%

フルーツポンチ(2)

  • \(k\)番目の壺の\(m\)番目のフルーツの割合を\(q^k_m\)と表す(表の4x7データ)
  • ボウル中の果物数が\((x_1,\ldots,x_7)\)である事象を\({\boldsymbol X}\),\(k\)番目の壺を選ぶ事象を\(C^k\)とするとき,\(k\)番目の壺から\({\boldsymbol X}\)が取り出される確率は, \[P(X_1=x_1,X_2=x_2,\ldots,X_7=x_7|C^k) = A\prod_{m=1}^7 (q_m^k)^{x_m}\]
  • 結果から原因を探る問題を考える.結果(ボウルの中身\({\boldsymbol X}\))が\(k\)番目の壺から取り出される確率(事後確率)は下記(ベイズの定理より).これを最大化する\(k\)を探す(MAP推定)のが妥当な解決法. \[P(C^k|{\boldsymbol X}) = \frac{P(C^k)P({\boldsymbol X}|C^k)}{P({\boldsymbol X})},\]
    ここで\(P(C^k)\)は\(k\)番目の壺が選ばれる事前確率

フルーツポンチ(3)

\[P(C^k|{\boldsymbol X}) = \frac{P(C^k)P({\boldsymbol X}|C^k)}{P({\boldsymbol X})} \]

  • 式を最大化する\(k\)を考える.まず,両辺の対数をとると \( \log P(C^k|{\boldsymbol X}) = \log P(C^k) + \log P({\boldsymbol X}|C^k) - \log P({\boldsymbol X})\)
  • 右辺第2項を前述の式\(A\prod_{m=1}^7(q_m^k)^{x_m}\)で置き換えると \(\log P(C^k) + \log A + \sum_{m=1}^7 x_m \log q_m^k - \log P({\boldsymbol X})\)
  • 第2,4項は定数.よって事後確率の最大化は下式による \[ \log P(C^k) + \sum_{m=1}^7 x_m \log q_m^k\]
  • 式の第2項を対数尤度とよび,これの最大化による推定は最尤推定

フルーツポンチ(4)

\[ \log P(C^k) + \sum_{m=1}^7 x_m \log q_m^k\]

  • 演習問題5.7.壺kのMAP推定(すべての壺の事前確率は等しい).
    • ボウル1:マンゴー3,ナタデココ2,もも2,アロエ3
    • ボウル2:マンゴー1,ナタデココ1,ぶどう2,さくらんぼ6
    • ボウル3:いちご1,ぶどう4,さくらんぼ1,もも3,アロエ1
    • ボウル4:自分で考えたフルーツの組み合わせ
  • プログラム(JavaScriptアプリケーション)での対数事後確率の計算
    • 手作業(電卓)による演習問題5.7をプログラム(アプリ)で実施
    • 教科書にある,ボウルの生成(乱数が異なるので結果は異なる)
    • ボウルの推定実験(演習5.8)

フルーツポンチ(5)

  • フルーツの割合\(q^k_m\)や事前確率\(P(C^k)\)は,生成モデルパラメータ
  • 実世界(文書解析)では,パラメータの値も推定対象
  • 山形の壺から取り出した果物100個のうち23個→\(q^3_6=0.23\)
  • ボウル100個のうち30個山形→\(P(C^3)=0.30\)
  • 観測値からパラメータの値が推定できる
  • ゼロ頻度問題(出現回数がゼロでも本当にゼロかは不明)の回避
  • 出現回数(各壺,各果物の)に1を加えることで回避(ラプラス法)
  • 演習問題5.9(パラメータの推定実験)の実施
    • 「それぞれのパラメータの値の推定精度は,何に依存するのか」

現象(観測値)とモデル(1)

  • 現実世界の現象は複雑.何らかの抽象化/単純化を行ってモデル
  • モデルのパラメータは,観測値をモデルにあてはめることで推定する
  • 生成モデルがあれば,
    • 観測値を予測することができる
    • 観測値をシミュレーションとして生成できる
  • モデルは唯一ではない.より良いモデル化は本質的な課題

現象(観測値)とモデル(2)

  • ナイーブベイズ分類器における現象とモデルについて
  • フルーツが出現する事象\({\boldsymbol X}\)を束ねたものを\({\cal{X}}\)(入力ベクトル),\(k\)番目の壺が選択される事象\(C^k\)を束ねたものを\({\cal C}\)(クラスラベル),モデルパラメータ全体を\({\cal Q}\)とする
  • クラスラベル\({\cal C}\)とモデルパラメータ\({\cal Q}\)から入力ベクトル\({\cal X}\)を生成したり,モデルパラメータ\({\cal Q}\)と入力ベクトル\({\cal X}\)からクラスラベル\({\cal C}\)を推定したり,など互いに推定しあう関係にある

平方和最小基準クラスタリング(1)

平方和最小基準クラスタリングには生成モデルがあり,観測値をモデルに当てはめてモデルパラメータを推定していた(以下の導出は参考)

  • \(C^k\)に属する入力ベクトル\({\boldsymbol x}_i\)が「重心ベクトルが\({\boldsymbol \mu}_k\),分散が\(\sigma^2\)で,次元間に相関がない多次元正規分布」にしたがう(生成モデルとする)なら,確率密度関数\(p\)は \[ p({\boldsymbol x}_i|{\boldsymbol x}_i \in C^k)=\frac{1}{(2\pi\sigma^2)^{M/2}}\exp \left( -\frac{\|{\boldsymbol x}_i - {\boldsymbol \mu}_k\|^2}{2\sigma^2}\right)\]
  • 入力ベクトル集合\({\cal X}\)の同時確率密度関数\(P({\cal X}|{\cal C})\)は \[P({\cal X}|{\cal C}) = \prod_{k=1}^K \prod_{{\boldsymbol x}_i \in C^k} \frac{1}{(2\pi\sigma^2)^{M/2}} \exp \left( -\frac{\|{\boldsymbol x}_i - {\boldsymbol \mu}_k\|^2}{2\sigma^2}\right)\]

平方和最小基準クラスタリング(2)

続き

  • \[P({\cal X}|{\cal C}) = \prod_{k=1}^K \prod_{{\boldsymbol x}_i \in C^k} \frac{1}{(2\pi\sigma^2)^{M/2}} \exp \left( -\frac{\|{\boldsymbol x}_i - {\boldsymbol \mu}_k\|^2}{2\sigma^2}\right)\]
  • 対数を取る(大小関係は変わらず)と右辺は, \[-\frac{NM}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_{k=1}^K \sum_{{\boldsymbol x}_i \in C^k} \|{\boldsymbol x}_i - {\boldsymbol \mu}_k\|^2\]
  • 式の最大化は\(\sum_{k=1}^K \sum_{{\boldsymbol x}_i \in C^k} \|{\boldsymbol x}_i - {\boldsymbol \mu}_k\|^2=J_W\)の最小化
  • 平方和最小基準クラスタリングも,実は多次元正規分布モデルを用いて,データの背後にある特徴や関係性を明らかにする」解析である

<Thank You!>

データ解析入門(第5章) 内山俊郎