Transcript o T
人工知能特論II 第7回
二宮 崇
1
今日の講義の予定
系列ラベリングのためのHMM
解析
ビタビアルゴリズム
最尤推定
学習
教科書
北研二(著) 辻井潤一(編) 言語と計算4 確率的言語モデル
東大出版会
C. D. Manning & Hinrich Schütze “FOUNDATIONS
OF STATISTICAL NATURAL LANGUAGE
PROCESSING” MIT Press, 1999
Christopher M. Bishop “PATTERN RECOGNITION
AND MACHINE LEARNING” Springer, 2006
2
系列ラベリングのためのHMM
HMM FOR SEQUENTIAL
LABELING
3
品詞解析
品詞タガー
“I have a pen.”
トーカナイザー
I
have
a
pen
.
POSタガー
I
代名詞
have
動詞
a
pen
不定冠詞
名詞
.
ピリオド
4
隠れマルコフモデル
Hidden Markov Model (HMM)
0.3
ピリオド
0.5
名詞
0.01
0.1
he
0.25
出力 (emission)
0.01
…
代名詞
遷移 (transition)
動詞
have
0.3
Mary
0.43
不定
冠詞
I
I
a
pen
不定冠詞
名詞
.
0.3
代名詞
0.4
動詞
0.01
ピリオド
5
隠れマルコフモデル
Hidden Markov Model (HMM)
Q: 状態の有限集合
Σ: 出力記号の有限集合
πq: 文頭が状態qになる確率
aq,r: 状態qから状態rへの遷移確率
Σr∈Q πr=1
Σr∈Q aq,r=1
bq,o: 状態qにおける記号oの出力確率
Σo∈Σ bq,o = 1
6
状態記号列の確率と
生成確率
状態と記号の列が与えられた時
状態記号列 : q1o1q2 o2 qT oT
p (q1o1q2 o2 qT oT ) q1 bq1 ,o1 aq1 ,q2 bq2 ,o2 aqT 1 ,qT bqT ,oT
q1 aq1 ,q2 aqT 1 ,qT bq1 ,o1 bq2 ,o2 bqT ,oT
T
T
t 2
t 1
q1 aqt 1 ,qt bqt ,ot
記号列のみが与えられた時
記号列 : o1o2 oT
p (o1o2 oT )
p(q o q o q o
1 1 2 2
q1Q , q2 Q ,qT Q
T T
)
(生成確率)
7
解析(INFERENCE)
復号化(DECODING)
8
解析
解析 (入力: o1o2…oT)
q~1q~2 q~T
arg max
q1Q , q2 Q ,qT Q
p(q1o1q2o2 qT oT )
しかし、計算量はO(|Q|T)!
9
効率的な品詞解析: ビタビアルゴリズム
動的計画法
δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列
の確率
maxq∈ Q δ(T, q)を求めれば良い
2
時刻 1
o2
出力記号 o1
3
o3
T
oT
状態1
…
状態2
…
…
状態3
…
状態4
トレリス
10
効率的な品詞解析: ビタビアルゴリズム
(t , q)
max
q1Q ,, qt 1Q
p (q1o1 qt 1ot 1 )aqt 1 ,q bq ,ot
max max
p (q1o1 qt 2 ot 2 )aqt 2 ,qt 1 bqt 1 ,ot 1 aqt 1 ,q bq ,ot
qt 1Q q1Q ,, qt 2 Q
max (t 1, qt 1 )aqt 1 ,q bq ,ot
qt 1Q
o1
最大確率で遷移したパス
をバックポインタで保存
o2
ot-1
ot
oT
状態1
…
…
状態2
…
…
…
状態 q
…
…
…
…
…
11
効率的な品詞解析: ビタビアルゴリズム
動的計画法
δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率
左から右に向かって
全てのδ(t,q)を計算
時刻
出力記号
状態1
状態2
状態3
状態4
1
o1
2
o2
3
o3
T
oT
δ(1,状態1)=π状態1b状態1,o1
…
δ(1,状態2)=π
状態2b状態2,o1
…
δ(1,状態3)=π
…
状態3b状態3,o1
δ(1,状態4)=π
状態4b状態4,o1
…
12
効率的な品詞解析: ビタビアルゴリズム
動的計画法
δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率
左から右に向かって
全てのδ(t,q)を計算
最大確率で遷移したパス
をバックポインタで保存
時刻
出力記号
状態1
状態2
状態3
状態4
1
o1
2
o2
3
o3
T
oT
δ(2,状態1)=
max { …
δ(1,状態1)a状態1,状態1b状態1,o2,
…
δ(1,状態2)a
状態2,状態1b状態1,o2,
δ(1,状態3)a状態3,状態1b状態1,o2,
…
δ(1,状態4)a状態4,状態1b状態1,o2
}
…
13
効率的な品詞解析: ビタビアルゴリズム
動的計画法
δ(t, q): 時刻t(otが出力される時)に状態qとなる状態列の中で最大確率となる列の確率
左から右に向かって
全てのδ(t,q)を計算
時刻
出力記号
状態1
状態2
状態3
状態4
1
o1
2
o2
3
o3
T
oT
δ(2,状態2)=
…
max {
δ(1,状態1)a
b
,
… 状態1,状態2 状態2,o2
δ(1,状態2)a状態2,状態2b状態2,o2,
δ(1,状態3)a
… 状態3,状態2b状態2,o2,
δ(1,状態4)a状態4,状態2b状態2,o2
}
…
14
効率的な品詞解析: ビタビアルゴリズム
最後にバックポインタを辿ることで最大確
率となる状態列が得られる
o1
o2
oT-2
状態1
…
状態2
…
状態 3
…
状態 4
…
oT-1
oT
15
効率的な品詞解析: ビタビアルゴリズム
δ[1,q] := π[q]b[q, o1] (for all q)
for t =2 to T
for q ∈ Q
δ[t, q] := maxq’∈Q {δ[t-1, q’]a[q’,q]b[q, ot]}
bp[t,q] := argmaxq’∈Q {δ[t-1, q’]a[q’,q]b[q, ot]}
16
学習 (パラメータ推定): 最尤推定
17
パラメータ推定: 最尤推定
最尤推定
文の集合を観測したとき、その文の集合がそ
こに出現したのは、その文の集合が最も確率
が高かったから、と考えるやり方
コインの例:表がでる確率θが未知のコインが
ある。100回投げたところ、62回表がでた。す
ると、その確率はθ62(1-θ)38となる。この確率
はθ=0.62で最大となるので、θは0.62であった
のだろう、と考えるのが最尤推定の考え方で
ある。
18
最尤推定
最尤推定
観測値 x1,...,xn が与えられた時、それぞれが独
立に出現したと考えると、その確率はパラ
メータθの関数になる
n
p( x1 ,..., xn ) p( xi ; ) l ( )
i 1
このl(θ)を尤度(likelihood)もしくは尤度関数
(likelihood function)と呼ぶ
尤度関数を最大化するθを求める
~
arg maxl ( )
19
最尤推定
最大を求めるために尤度関数の極値を求め
る
l ( ) 0
コインの例を解析的に解いてみよう
l(θ) = θ62(1-θ)38
20
最尤推定
対数尤度(log likelihood)を使うと計算が楽
になる
~
arg maxl ( ) arg maxlogl ( )
コインの例で解いてみよう
log l(θ) = log( θ62(1-θ)38 )
21
最尤推定
正規分布の最尤推定
正規分布N(μ, σ2)から抽出された標本をx1,...,xn
とする
n
尤度
( xi ) 2
1
2
l ( , )
i 1
exp
2
2 2
対数尤度
n
( xi ) 2
1
log l ( , ) log
2
2
2
i 1
i 1
n
( xi ) 2
n log( 2 )
2 2
i 1
n
2
22
ラグランジュの未定乗数法
ラグランジュの未定乗数法
arg max f (θ)ただし g1 (θ) 0,..., g m (θ) 0
θ
L(θ) f (θ) 1 g1 (θ) ... m g m (θ)
L
L
L
0,
0,...,
0
1
2
n
L(θ) はラグランジュ関数と呼ばれる
23
まとめ
HMM
解析
ビタビアルゴリズム
学習
最尤推定
資料
http://aiweb.cs.ehime-u.ac.jp/~ninomiya/ai2/
24