人工知能特論 ii 第 8 回
Post on 20-Mar-2016
70 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
人工知能特論 II 第 8 回二宮 崇
2
今日の講義の予定
HMM の教師付学習 HMM の教師無し学習
EM アルゴリズムの導入 EM アルゴリズム
教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 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
3
隠れマルコフモデルHidden Markov Model (HMM)
Q: 状態の有限集合Σ: 出力記号の有限集合πq: 文頭が状態 q になる確率
Σr∈Q πr=1aq,r: 状態 q から状態 r への遷移確率
Σr∈Q aq,r=1bq,o: 状態 q における記号 o の出力確率
Σo Σ∈ bq,o = 1
4
状態記号列の確率と生成確率
状態と記号の列が与えられた時
記号列のみが与えられた時
解析 ( 入力 : o1o2…oT)
T
toq
T
tqqqTT
TT
ttttbaoqoqoqp
oqoqoq
1,
2,2211
2211
11)(
:
状態記号列
QqQqQq
TTT
T
T
oqoqoqpooop
ooo
,,221121
21
21
)()(
:記号列(生成確率 )
)(maxarg~~~2211
,,21
21
TTQqQqQq
T oqoqoqpqqqT
(この問題はビタビアルゴリズムで効率的に解ける )
5
ラグランジュの未定乗数法
ラグランジュの未定乗数法
はラグランジュ関数と呼ばれる
0,...,0,0
)(...)()()(
0)(,...,0)()(maxarg
21
11
1
n
mm
m
LLLggfL
ggf
θθθθ
θθθθ
ただし
)(θL
6
学習 ( パラメータ推定 ): HMMの教師付学習
7
HMM の教師付学習Supervised Learning of HMMs
パラメータ推定 訓練データ ( 入力 )
パラメータ ( 出力 )πq … |Q| 個の変数aq,r … |Q|×|Q| 個の変数bq,o … |Q|×|Σ| 個の変数
とする。。正解品詞列に対応する正解状態列
の記号列長
とする。。単語列文を表す記号列
訓練データ
i
i
iTiiiiii
ii
iTiiiii
nn
qqqqyxyxT
ooooxxyyyxxx
321
321
2121
)(::
)(:,:
8
HMM の教師付学習Supervised Learning of HMMs
パラメータ推定
n
i
T
toq
T
tqqq
ba
n
iiTiTiiii
ba
n
iii
ba
i
itit
i
ittii
ii
ba
oqoqoqp
yxpba
1 1,
2,
,,
12211
,,
1,,
)1(1maxarg
)(maxarg
),(maxarg,,
9
HMM の教師付学習Supervised Learning of HMMs
パラメータ推定
n
i
T
toq
T
tqqq
n
i
T
toq
T
tqqq
i
itit
i
ittii
i
itit
i
ittii
babal
babal
1 1,
2,
1 1,
2,
logloglog),,(log
),,(
)1(1
)1(1
制約付き最適化問題
) allfor (1
) allfor (1
1s.t.
),,(logmaxarg
,
,
,,
qb
qa
bal
ooq
Qrrq
Qqq
ba
10
ラグランジュ関数
HMM の教師付学習Supervised Learning of HMMs
ラグランジュの未定乗数法
Qq o
oqqQq Qr
rqqQq
q
n
i
T
toq
T
tqqq
Qq ooqq
Qq Qrrqq
Qqq
baba
babal
baL
i
itit
i
ittii ,,1 1
,2
,
,,
111logloglog
111),,(log
),,(
)1(1
ラグランジュ乗数ρ … 1個の変数αq … |Q|個の変数βq … |Q|個の変数
11
HMM の教師付学習Supervised Learning of HMMs
πq を求める
nqC
n
nqC
qC
qqqC
qCL
q
Qqq
Qq q
q
n
i i
)()1(
1)(
1
)1()(
)(
0)(
1
1
1
1 11
1
に代入して、。これを式よって、
であるからところで
ただし、
アイバーソンの記法(Iverson bracket)
otherwise0
trueis if1][
PP
C1(q) は訓練データ中で、文の先頭が q になっている回数
12
HMM の教師付学習Supervised Learning of HMMs
aq,r を求める
Qr
rq
Qrq
q
Qr
Qrrq
Qr rq
qrq
n
i
T
t itti
qrqrq
rqCrqCa
rqC
rqCa
a
rqCa
rqqqrqC
arqC
aL
i
'
,
'
'
'',
,
,
1 2 )1(
,,
)',(),(
)1()',(
1)',(
1
)1(),(
),(
0),(
に代入して、。これを式よって、
であるからところで
ただし、
C(q,r) は訓練データ中で、状態 qから状態 r に遷移した回数
13
HMM の教師付学習Supervised Learning of HMMs
bq,o を求める
n
i
T
t it
o
oq
oq
q
o
ooq
o oq
qoq
n
i
T
t itit
qoqoq
i
i
qqqC
qCoqC
oqCoqCb
oqC
oqCb
b
oqC
ooqqoqC
boqC
bL
1 1
'
,
'
'
'',
,
,
1 1
,,
)(
)(),(
)',(),(
)1()',(
1)',(
1
)1(),(b
),(
0),(
ただし、
に代入して、。式よって、
であるからところで
ただし、
C(q,o) は訓練データ中で、状態q から記号 o を出力した回数
C(q) は訓練データ中で、状態q が出現した回数
14
HMM の教師付学習Supervised Learning of HMMs
パラメータ推定
の出現回数を出力した回数から
に遷移した回数から任意のに遷移した回数から
全文数になっている文の数先頭の状態が
qoq
qCoqC
oqCoqCb
rqrq
rqCrqCa
qnqC
o
oq
Qr
rq
q
)(),(
)',(),(
)',(),(
)(
'
,
'
,
1
n
i
T
t it
n
i
T
t itit
n
i
T
t itti
n
i i
i
i
i
qqqC
ooqqoqC
rqqqrqC
qqqC
1 1
1 1
1 2 )1(
1 11
)(
),(
),(
)(ただし、
15
HMM の教師無し学習 : EM アルゴリズムの導入
16
HMM の教師無し学習Unsupervised Learning of HMMs
パラメータ推定 訓練データ ( 入力 )
パラメータ ( 出力 )
n
i QqQqQqiTTii
ba
n
iiTii
ba
n
ii
ba
iT
ii
i
oqoqoqp
ooop
xpba
1 ,,2211
,,
121
,,
1,,
21
)(maxarg
)(maxarg
)(maxarg,,
の記号列長
とする。。単語列文を表す記号列
訓練データ
ii
iTiiiii
n
xT
ooooxxxxx
i
:
)(::
321
21
17
HMM の教師無し学習Unsupervised Learning of HMMs
EM アルゴリズムによる教師無し学習不完全データ(欠損や曖昧性のあるデータ)
に対する有名な学習法EM アルゴリズム+前向き後向きアルゴリズ
ム
18
EM アルゴリズム
19
EM アルゴリズムの問題設定 (1/2) 実際に観測されたデータ x1,...,xNが存在 それぞれのデータ xiは隠れ状態 yi1,...,yiTのいずれかから生成されたと仮定
隠れ状態の集合はデータ毎に変わっても良い (機械学習一般には隠れ状態集合は固定であることが多い )
パラメータ集合 θ により p(x, y) が計算される
x1
x2
x3
... ... ...p(x1, y11)y11 y12 y13
y21
y31 y32 y33 y34 y35
p(x1, y12) p(x1, y13)
p(x2, y21)
p(x3, y31) p(x3, y32) p(x3, y33)p(x3, y34) p(x3, y35)
20
パラメータ推定 訓練データ ( 入力 )
パラメータ ( 出力 )
)(maxarg~);,(log)(
);,(logmaxarg
);,(maxarg
);(maxarg~
1 )(
1 )(
1 )(
1
lyxpl
yxp
yxp
xp
n
i xYyi
n
i xYyi
n
i xYyi
n
ii
i
i
i
とおくと
に対する隠れ状態集合
訓練データ
xxYxxx n
:)(: 21
EM アルゴリズムの問題設定 (2/2)
21
EM アルゴリズムの全体像
)(maxarg~
l
),(maxarg )()1(
Q
問題変形
個々の問題に応じて決まる Q関数の極値を解析的に求める個々の問題によって決まるパラメータ更新式
[E ステップ ] p(y | x ; θ)を計算
[M ステップ ]
によりパラメータ更新
),(maxarg )()1(
Q
22
Q 関数の導出 (1) 問題 : 実際に観測されたデータ x1,...,xn が存在して、それ
に対して、対数尤度を最大化するパラメータを求める
問題チェンジ : パラメータを θ から θ’ にした時の対数尤度の差を最大化することを繰り返せば極大値が求まる
);(logmaxarg)(maxarg~1
i
n
i
xpl
n
iii xpxp
1
);(log);(logmaxarg
argmaxを求めているが、ようは正の値になればより尤度の高いパラメータが得られることに注意
23
Q 関数の導出 (2) 個々の事象の対数尤度の差
y i
ii
y i
ii
y i
i
i
ii
y i
ii
yi
i
i
i
iii
xypxypxyp
yxpyxpxyp
xypxyp
yxpyxpxyp
xpxpxyp
xypxpxp
xpxpxpxp
);|();|(log);|(
);,();,(log);|(
);|();|(
);,();,(log);|(
);();(log);|(
);|();();(log
);();(log);(log);(log
ジェンセンの不等式より、常に≧ 0
24
Q 関数の導出 (3) 個々の事象の対数尤度の差
yii
yii
y i
ii
y i
ii
y i
iiii
yxpxypyxpxypyxpyxpxyp
xypxypxyp
yxpyxpxypxpxp
);,(log);|();,(log);|();,();,(log);|(
);|();|(log);|(
);,();,(log);|();(log);(log
ここを Q関数とみなす
yii yxpxypQ );,(log);|(),(
),( Qすると、ここは、
25
Q 関数の導出 (4) まとめ
対数尤度の差は次のようにおける
ただし
より良いパラメータ θ’ を見つけるためには、 Q(θ, θ’) - Q(θ, θ) 0≧ となれば良いが、 効率を考えると、対数尤度の差が最大になるほうが良い Q(θ, θ) は θ’ に関わりなく一定なので、対数尤度の最大化するに
は、 Q(θ, θ’) を最大化すれば良い θ’ = θ とおくと ( 古いパラメータと同じにすると )Q 関数の差は 0
になる⇒ argmax をとれば、常に Q(θ, θ’)-Q(θ, θ) ≧0
),()',();(log);(log QQxpxp ii
y
ii yxpxypQ );,(log);|(),(
26
EM アルゴリズム : Q 関数の最大化
次のパラメータ更新を繰り返すアルゴリズム
y
ii yxpxypQ );,(log);|(),(
),(maxarg )()1(
Q
ただし、
しかし、まだ問題は解けていない!argmax Qをどうやって求めるか??
n
i yii yxpxypQ
1
);,(log);|(),(
全ての観測データ x1, x2, ..., xnに対しては、
とすればよい
27
休憩 : Q 関数の直感的な意味 (1)
Q 関数
( 古いパラメータ θ で計算した隠れ状態の条件付き確率 )× ( 新しいパラメータ θ’ による xi と y の同時確率の対数 )≒ xi と y の同時確率の対数の期待値
y
ii yxpxypQ );,(log);|(),(
xiy1
y2
y3
...
);,(log 1 yxp i
);,(log 2 yxp i
);,(log 3 yxp i
);|( 1 ixyp
);|( 2 ixyp
);|( 3 ixyp
28
休憩 : Q 関数の直感的な意味 (2)
そもそもなぜ直接 θ を最大化しないのか?
????
);,(log
);,(log)(
1
1
n
i yi
n
i yi
yxp
yxpl
⇒パラメータ更新式にすれば、実はこの sumを logの外にだすことができるのであった
29
ジェンセンの不等式 凸関数 f(x) は区間 I 上の実数値関数 p1,p2,...,pn は p1+p2+...+pn=1 を満たす非負の実数 任意の x1,x2,...,xn I ∈ に対し次の不等式が成り立
つ
休憩 : ジェンセンの不等式
f(x)= - log(x) 、 xi=qi /pi とおくと
)()()()( 22112211 nnnn xpxpxpfxfpxfpxfp
0logloglog
ii
i i i
ii
i
ii q
pqp
qpp
30
まとめ
HMM の教師付学習HMM の教師無し学習
EM アルゴリズムの導入EM アルゴリズム
Q 関数の導出資料
http://aiweb.cs.ehime-u.ac.jp/~ninomiya/ai2/
top related