Post on 25-Jun-2015
transcript
最初のおことわり m(_ _)m
• 本資料は教科書を読んで最初????だった @_kobacky のような人が勉強するためのとっかかりとなることを目標とします。 • そのため、なるべく分布を図示して考えたいです。そこで教科書では d次元のデータについて論じられていますが、図や例は一次元データで考えて作成しています。平均ベクトルとか共分散行列は一旦置いといて、平均値・分散値で考えさせて下さい。 • 本資料は一部、教科書に記載のない、作成者の解釈による内容を含んでいます。
【STEP1】10.4.1 節と全体像
そもそも確率モデルとは何か?確率モデルによるクラスタリングとは何をすることなのか理解しましょう。 【目標!】 • ハードクラスタリングとの違いを理解する • 確率モデルについて理解する • 混合正規分布とそのパラメータについて理解する • 確率モデルによるクラスタリングとは具体的に何を求めることなのかについて理解する
確率モデルによるクラスタリング
• ハードクラスタリング • 一つのデータは一つのクラスタにのみ分類される • クラスタリング結果例 • データ1はクラスタA • データ2はクラスタB
• 確率モデルによるクラスタリング • 所属するクラスタは確率的に定められる • クラスタリング結果例 (クラスタ数 = 3) • データ1はクラスタ [A,B,C] に [0.8,0.1,0.1] の確率で所属する
• データ2はクラスタ [A,B,C] に [0.1,0.3,0.6] の確率で所属する
• 「確率モデル」ってなんすか??(次ページ)
クラスタリングにおける確率モデル
• モデルとして仮定するもの 1. クラスタ毎のデータ分布モデル 2. [1] の線形和によって表現される全体のデータ分布モデル
• よく使われるのは混合正規分布モデル
モデルの例 ・一次元正規分布 ・3クラスタ
x : 観測データ
(%)
混合正規分布モデルのパラメータ
• 各クラスタの正規分布パラメータ • μk : 平均 • Σk : 分散(標準偏差でも可)
• 混合するために必要なパラメータ • πk : クラスタ毎の正規分布の混合比
= π1 × + π3 × + π2 ×
混合正規分布 クラスタ1 クラスタ2 クラスタ3
平均:μ1 分散:Σ1
平均:μ2 分散:Σ2
平均:μ3 分散:Σ3 せん・けい・わ!
ちなみに・・
• 本資料の確率モデル図はExcel で下記の通り作成 • 9パラメータでモデルが決定しているのがわかる • パラメータを色々変えてモデルの変化をみると面白いかも・・
• こちらから DL 可能 -‐> hNp://bit.ly/1eJCa4i
確率モデル(混合正規分布モデル) によるクラスタリングとは? • 下記の2つを行うこと
1. 観測データを最もよく表現する確率モデルを推定 • 確率モデルのパラメータ推定(平均・分散・混合比)
2. 推定したモデルによって各データのクラスタを推定 • 各データが各クラスタに所属する確率の演算 • 演算する確率の数は [データ数] × [クラスタ数]
• [1][2]の推定を交互に実施し、最適なモデル推定を行うのが EM アルゴリズム(後述)
x1 : [A,B,C] = [0.8, 0.1, 0.1] x2 : [A,B,C] = [0.1, 0.6, 0.3] x3 : [A,B,C] = [0.3, 0.3, 0.4]
[1]Mステップ
[2]Eステップ
【STEP2】10.4.2 節〜10.4.4 節
確率モデルの推定、確率モデルを用いたクラスタリングを実施するための準備。 そのための各種定義について理解しましょう。 【目標!】 • 各データが所属するクラスタの状態を表現するための隠れ変数について理解する
• モデルパラメータの最尤推定を実施するために・・ • 完全データの定義について理解する • 確率モデルの尤度について理解する • 確率モデルのパラメータを最尤推定するための Q 関数について理解する
隠れ変数
• 実際に観測されたデータがどのクラスタに属するか表現するためのベクトル変数
• z = (z1,z2,z3,・・・,zK) • K : クラスタ数
• データがクラスタk に所属している状態の場合
• z = (0,0,0,・,1,・・,0) → zk = 1
• p(zk = 1) = πk
• モデル条件下で、k 番目のクラスタに所属する確率はそのクラスタの混合比に一致するため。(教科書には記載無し。@_kobacky による解釈。)
k番目
分布の演算:p(z), p(x|z) , p(x)
• 式(10.14) 〜 式(10.17) でやっていること
①p(z1=1)=π1
④p(x|z1=1)
②p(z2=1)=π2 ③p(z3=1)=π3
⑤p(x|z2=1) ⑥p(x|z3=1)
クラスタ1 クラスタ2 クラスタ3
p(z) の分布→
p(x) = ①X④ + ②X⑤ + ③X⑥
モデルに従ってxの分布・xのzに関する条件付き分布を演算 (図はx=0.6 での演算例)
隠れ変数の事後確率:γ(zk)
①p(z1=1)=π1
④p(x|z1=1)
②p(z2=1)=π2 ③p(z3=1)=π3
⑤p(x|z2=1) ⑥p(x|z3=1)
クラスタ1 クラスタ2 クラスタ3
p(z) の分布→
⑦ p(x) = ①X④ + ②X⑤ + ③X⑥
k=1 (クラスタ1)の場合
γ(z1) = ①X④ / ⑦
• 式(10.18)の演算:γ(z) = p(z) × p(x | z) / p(x)
隠れ変数の事後確率:γ(zk)
①p(z1=1)=π1
④p(x|z1=1)
②p(z2=1)=π2 ③p(z3=1)=π3
⑤p(x|z2=1) ⑥p(x|z3=1)
クラスタ1 クラスタ2 クラスタ3
p(z) の分布→
⑦ p(x) = ①X④ + ②X⑤ + ③X⑥
k=2 (クラスタ2)の場合
γ(z2) = ②X⑤ / ⑦
• 式(10.18)の演算:γ(z) = p(z) × p(x | z) / p(x)
隠れ変数の事後確率:γ(zk)
①p(z1=1)=π1
④p(x|z1=1)
②p(z2=1)=π2 ③p(z3=1)=π3
⑤p(x|z2=1) ⑥p(x|z3=1)
クラスタ1 クラスタ2 クラスタ3
p(z) の分布→
⑦ p(x) = ①X④ + ②X⑤ + ③X⑥
k=3 (クラスタ3)の場合
γ(z3) = ③X⑥ / ⑦
• 式(10.18)の演算:γ(z) = p(z) × p(x | z) / p(x)
隠れ変数に関連して考えたこと
• データx の隠れ変数z (zk=1)に関する事後確率は、このモデルにおいて x が k番目のクラスタに所属する確率を示している。 • 前頁までの例において、Σk=1,2,3(γ(zk)) = 1 となることがわかる。
完全データ
• データの集合:X • X = (x1,x2,・・・,xN) xi = (xi1,xi2,・・・,xid)の転置ベクトル
• 隠れ変数の集合:Z • Z = (z1,z2,・・・,zN) zi = (zi1,zi2,・・・,ziK)の転置ベクトル
• 変数定義 • N : 観測データの個数 • d : 観測データの次元数 • K : クラスタ数
• 完全データ:Y • Y = (X,Z) • データと隠れ変数を合わせた集合
完全データの尤度
• 完全データの尤度が最大となるように確率モデルにおけるパラメータを最適化する。 • 完全データの尤度 • Y = (X,Z) の同時確率
特定の隠れ変数集合が 生起する確率
特定の隠れ変数集合下で観測データが観測される確率
式 (10.19)
xi がクラスタk に属する場合のxi 生起確率 確率的に定まる 0 or 1
完全データの対数尤度
• 最尤推定値を求めるために対数尤度関数に変換 • 確率分布関数は対数を取った方が微分しやすい(最尤推定に関する詳細は 4.3節 参照)
• ただし隠れ変数 zik は確率的に定まるため、この対数尤度関数から直接最尤推定値を求めることはできない。
• 最尤推定:観測データから、最も尤もらしいモデルのパラメータを推定する。
式 (10.20)
1かもしれないし、 0かもしれない。
Q 関数
• Q 関数 • 対数尤度関数の、隠れ変数に関する期待値 • 対数尤度関数の代わりに最尤推定に用いる
式 (10.21)
Zik = 0 の項は全て 0 になり、zik= 1 の項のみ残る
式 (10.22)
zik の zik に関する 期待値
隠れ変数 zi の事後確率
【STEP3】10.4.5 節〜10.4.7 節
確率モデルのパラメータ推定の方法について学びます。 【目標!】 • EM アルゴリズムの考え方を理解する • 「EM アルゴリズムのパラメータ推定が Q 関数の微分を使ってできるんだなぁ・・へぇ〜」と思う • カルバック・ライブラー情報量とは何かを知る • EM アルゴリズムにより、モデルによる分布と真の分布が近づいて行くイメージを持つ
EM アルゴリズム
• 確率モデルのパラメータの最尤推定値を求める手法 • 2種類のステップを交互に実施
1. Expectafon ステップ(③) • 確率モデルのパラメータを固定 • 固定された確率モデル下における隠れ変数の事後確率を演算
2. Maximizafon ステップ(①②) • E ステップで得た隠れ変数の事後確率を Q 関数に代入 • Q 関数を最大にする (確率モデルの)パラメータを求める
• Q 関数の対数尤度が収束するまで繰り返す • 局所解には注意。初期値を変えて何度か実施すると良い。
γ11 = 0.3, γ12 = 0.4, γ13 = 0.3 γ21 = 0.6, γ22 = 0.1, γ23 = 0.3 γ31 = 0.2, γ32 = 0.7, γ33 = 0.1
①代入
③演算
②パラメータ最尤値推定
Q関数が 収束したら 完
EM アルゴリズムの式の導出
・・・は、割愛します。 気になる方は 10.4.6 節をご参照下さい。 m(_ _)m
• μk や Σk の推定は、 Q 関数の(推定対象パラメータによる)偏微分 = 0 となるようなパラメータを求めることで行う。 • πk の推定はラグランジュ関数とか使ってなんかやってます。。
EM アルゴリズムの性質(1)
• p(X|θ) = p(X,Z) / p(Z|X, θ) • X : 観測データ集合 • Z : 観測データ集合X に対する隠れ変数集合 • θ : 確率モデルのパラメータ集合 • p(X | θ):パラメータθの確率モデル下における観測データXの尤度
• 対数尤度 = lnp(X|θ) = ・・・ = L(q|θ) + KL(q||p) • q(Z) : Z に関する任意の分布 • L(q|θ) = ΣZq(Z)ln(p(X,Z|θ) / q(Z)) • KL(q||p) = ΣZq(Z)ln(q(Z) / p(Z|X,θ))
• カルバック・ライブラー情報量 • 真の分布q(Z) と (確率モデル・観測データを元に得られる)事後分布p(Z|X,θ) の確率変数間の距離(正の値)を表す
EM アルゴリズムの性質(2)
• L(q|θ) を最大化することで、KL(q||p) を小さくする、つまり、p(モデルによる隠れ変数の分布)をq(真の分布)に近づける。 • E ステップではθを固定して q に関して L(q|θ) を最大化 • M ステップでは最大化されたqを用いてθに関してL(q|θ)を最大化。 • モデルによる隠れ変数の分布が真の分布に近づく。
• ステップ毎にQ関数の値が大きくなることが示されている。
EステップではL を最大化することでこのラインを上に押し上げたい!