Upload
maisie
View
53
Download
6
Embed Size (px)
DESCRIPTION
数理言語情報論 第 12 回. 2010 年 1 月 13 日. 数理言語情報学研究室 講師 二宮 崇. 今日の講義の予定. 識別モデル 確率的 HPSG 最大エントロピーモデル ( 多クラスロジスティック回帰 ) 最適化 GIS, IIS, CG パーセプトロン 教科書 - PowerPoint PPT Presentation
Citation preview
数理言語情報論 第数理言語情報論 第 1212 回回
数理言語情報学研究室 講師 二宮 崇
2010 年 1 月 13 日
1
今日の講義の予定今日の講義の予定 識別モデル 確率的 HPSG 最大エントロピーモデル ( 多クラスロジスティック回帰 ) 最適化
GIS, IIS, CG パーセプトロン
教科書 Yusuke Miyao (2006) From Linguistic Theory to Syntactic
Analysis: Corpus-Oriented Grammar Development and Feature Forest Model, Ph.D Thesis, University of Tokyo
Jun’ichi Kazama (2004) Improving Maximum Entropy Natural Language Processing by Uncertainty-aware Extensions and Unsupervised Learning, Ph.D. Thesis, University of Tokyo
北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大出版会 Jorge Nocedal, Stephen Wright (1999) “Numerical Optimization”
Springer, 1st edition 1999, 2nd edition 2006 Cristopher M. Bishop “PATTERN RECOGNITION AND MACHINE
LEARNING” Springer, 2006
2
PCFGPCFG の問題の問題
独立性の仮定
3
SS
NPNP VP
香織が香織が 走る走る
構文木 t構文木 t SS
NPNP
VP
香織が香織が
走る走る
構文木 u構文木 u
NPNP
P(t) = θS → NP NP × θNP → 香織 × θV → 走る
P(u) = θS → NP NP × θNP → NP × θNP → 香織 × θV → 走る
SS
NPNP
VP
香織が香織が
走る走る
正解正解
NPNP>
常に P(t) > P(u) → 正解が u であっても必ず t が選ばれる
HPSGHPSG の確率モデル?の確率モデル?
PCFG: 各書換規則に対応するパラメータ HPSG: ??
4hehe givesgives herher a presenta present
NP[acc]NP[acc]NP[acc]NP[acc]NP[nom][3rd, sing]NP[nom][3rd, sing]
PHON: <gives>
VAL:
SUBJ: < >COMPS: < , >SPR: <>
PHON: <gives, her>
VAL:
SUBJ:< >COMPS:< >SPR:<>
22
22 33
11
PHON: <gives, her, a present>
VAL:
SUBJ: < >COMPS: <>SPR:<>
33
11
33
PHON: <he, gives, her, a present>
VAL:
SUBJ: <>COMPS: <>SPR: <>
11
11
生成モデルから識別モデルへ生成モデルから識別モデルへ
識別モデル直接
を解く独立な事象を仮定しない「条件部の確率」をモデルにいれない
5
);|(maxarg~ stptt
識別モデル識別モデル
)|( stp s = “A blue eye girl with white hair and skin walked”
t1 t2 t3 t4
文法 G により s から導出出来る全ての構文木集合
…
p(t3|s) は t1,t2,t3,..,tn から t3 を選択する確率
tn
素性ベクトル( 特徴ベクトル )
(0,0,1,0) (1,0,1,0) (1,1,1,0) (0,0,1,1) (1,0,0,0)
CFGCFG の識別モデルの例の識別モデルの例
構文木生成に用いられた各書換規則の適用回数
構文木
ルール ID 1 2 3 4 5 6 7 8 9 10素性ベクトル (0,0,1,0,3,0,1,1,2,0)
各次元は書換規則に対応
構文木中に含まれる各書換規則の適用回数
構文木の素性ベクトル構文木の素性ベクトル簡単な CFGの例 ID
S → SUBJ VP1 1
S → SUBJ V 2
SUBJ → NP が 3
VP1 → OBJ1 V 4
OBJ1 → NP を 5
NP → S NP 6
V → 送った 7
V → 読んだ 8
NP → 香織 9
NP → 恵 10
NP → 電子メール 11
NP → プレゼント 12
NP → 香織 NP1 13
NP → 恵 NP1 14
NP1 → と NP 15
SS
SUBJSUBJ VP1VP1
NPNP がが OBJ1OBJ1 V
香織香織 読んだ読んだををNPNP
SS NPNP
電子メール電子メールSUBJSUBJ VV
NPNP がが
恵恵
送った送った
構文木 t構文木 t
8
ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15素性ベクトル ( 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0)
識別モデルのいいところ識別モデルのいいところ
独立性を仮定していない ( 戦略として ) 思いつく限りいろんな素性をいれる 訓練データに対してより良い予測ができる 逆に overfitting する可能性がある
c.f. 正規分布の事前分布による MAP 推定で overfitting を緩和
CFG なら、ルールだけでなく、 head word などいろんな素性をいれれば良い
疎なベクトルなら数百万次元ぐらい
9
確率的確率的 HPSGHPSG
「 .... を満たすブランチ(分岐)はいくつあるか?」という素性の集合
10
CAT: verbSUBCAT:<NP>
CAT: verbSUBCAT:<VP>…
CAT: verbSUBCAT:<NP>…
親の cat が verb で左娘のcat が verb で右娘の catが verb であるか?→ yes→ +1
親の cat が verb で左娘のcat が noun で右娘の catが verb であるか?→ no → +0
確率的確率的 HPSGHPSG
ブランチの周辺状況を素性にしている親のカテゴリーと左娘のカテゴリーと右娘
のカテゴリーの全ての組み合わせを列挙して素性にすれば、先ほどの例の CFG と同じ素性になる
カテゴリーだけでなく、 head word や、距離などいろいろな素性をいれられる
11
確率的確率的 HPSGHPSG の素性の実例の素性の実例
CAT: verbSUBCAT:<>
CAT: verbSUBCAT:<NP>
Spring has come
CAT: nounSUBCAT …
<>CAT: verbSUBCAT:<VP>…
CAT: verbSUBCAT:<NP>…
NP:SUBCAT
verb:CAT VBN, , VP, 1,
,VP:SUBCAT
verb:CAT VBZ, ,VP, 0,1, 1, rule,-comp-head
come
has
f
rule name
distance of head words
comma exists or
not
left daughter’s category
left daughter’s head word
left daughter
’s POS
left daughter’s head lexical entry
left daughter’s span
素性に関する注意その素性に関する注意その 11
単語の素性と素性値例 : head word が ``apple’’ であった時の素性値
13
(0,0,0,0,0,.....,0,1,0,.....,0,0,0,0,0,0)
( 訓練データに出現した ) 単語の数だけ次元がある!
各次元が単語に対応する
apple に対応する次元
素性に関する注意その素性に関する注意その 22
素性の組み合わせ最大エントロピー法 ( ロジスティック回帰 )
では、素性同士の共起情報が別素性として自動的に組み込まれるわけではない右娘と左娘の cat が同時に verbSVM: 多項式カーネル
素性の組み合わせを手で指示しないといけない⇒自動的に行うなら「素性選択」を行う
14
素性に関する注意その素性に関する注意その 2: 2: 確率確率的的 HPSGHPSG の素性組み合わせの実の素性組み合わせの実
例例
15
RULE DIST COMMA SPAN SYM WORD POS LE
✔ ✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
識別モデルの学習識別モデルの学習
16
問題設定問題設定
x: 入力y: 出力訓練データ
(xi, yi) i=1,...,N
例x は文で、 y は x に対する正解の構文木x は競馬情報で、 y は 1 位の馬
問題ある未知の入力 x に対する出力 y の予測
17
素性関数素性関数
入力や出力から特徴を抽出する素性関数(feature function) を複数定義 fj(x, y) j=1,...,M注意
人手で定義M は特にいくつでもかまわないが、増やした分だけ計
算時間・空間がかかったり、 overfitting してしまう良い素性関数をできるだけたくさん見つける、という
ことが人間がしなくてはいけない重要な仕事 素性ベクトル ( または特徴ベクトル , feature
vector) ( f1(x,y), f2(x,y), ..., fM(x, y) )
18
全体の流れ全体の流れ (1/2)(1/2)
19
Estimation ( 推定、パラメータ推定 ) 各素性 fj に対する重み λj を学習
訓練データ
学習
<λ1, λ2, ..., λM>
全体の流れ全体の流れ (2/2)(2/2)
20
Inference ( 推測、推定 ) 未知のデータ x に対する出力 y の推定
推測
<λ1,...,λM>x
未知のデータ y1
y2
y3
...
yn
x に対する全出力候補 y
yi
学習により得られた重みベクトル
最大エントロピーモデル 最大エントロピーモデル (Maximum Entropy model)(Maximum Entropy model)多クラスロジスティック回帰 多クラスロジスティック回帰 (Multi-class Logistic Regression)(Multi-class Logistic Regression)
対数線形モデル 対数線形モデル (Log-linear Model)(Log-linear Model)
確率モデル
21
)(
),(exp),(
),(exp),(
1);|(
xYy jjj
jjj
yxfxZ
yxfxZ
xyp
ただし
素性関数重み
分配関数(Partition function)
直感的理解直感的理解スコアの対数= 各素性の( 値× 重み) の和p(y|x)= (xyのスコア )/(xに対する候補集合y’のスコアの和 )
22
jjj
yxfyxfyxfyxfyxfyxf
xYyj
jj
jjj
yxfyxs
eeeeyxs
yxs
yxsyxf
xZxyp
yxfyxs
MMMM
),(),,(log
),,(
),,(
),,(),(exp
),(
1);|(
),(exp),,(
),(),(),(),(),(),(
)(
22112211
となる。ちなみに、
とおくと、
パラメータ推定パラメータ推定
訓練データに対する対数尤度
23
N
i jiijj
N
ii
N
i jiijj
i
N
iii
N
iii
yxfxZ
yxfxZ
xyp
xyp
11
1
1
1
),(),(log
),(exp),(
1log
);|(log
);|(log
xex xee log)exp(log
baab logloglog
Z はパラメータを含む exp の足し算になっているから、これの極値を求めるのは難しい…
パラメータ推定パラメータ推定パラメータ更新式に変形
新しいパラメータと古いパラメータによるデータ全体に対する対数尤度の差を正(もしくは正が保証されている中で最大にする)にするよう更新古いパラメータ: λ新しいパラメータ: λ’
24
N
iii
N
iii xypxypL
11
);|(log);|(log),(
EM の時と同じ
EM の時と同じ
パラメータ更新式の導出パラメータ更新式の導出
25
N
i j
N
i i
iiijjj
N
i j
N
i i
iiijjj
N
i
N
i jiijjj
i
i
N
i jiijj
i
N
i jiijj
i
N
i
N
iiiii
N
iii
N
iii
xZ
xZyxf
xZ
xZyxf
yxfxZ
xZ
yxfxZ
yxfxZ
xypxyp
xypxypL
1 1
1 1
1 1
11
1 1
11
),(
),(1),()(
),(
),(log),()(
),()(),(
),(log
),(exp),(
1log),(exp
),(
1log
);|(log);|(log
);|(log);|(log),(
よりxx 1log
パラメータ更新式の導出パラメータ更新式の導出
26
N
i j
N
i xYy jijjiiijj
N
i j
N
i xYy jijjjiiijjj
N
i j
N
i xYy jijj
jijjj
iiijjj
N
i j
N
i xYy jijj
jijjj
iiijjj
N
i j
N
i xYy jijj
iiijjj
N
i j
N
i i
iiijjj
i
i
i
i
i
yxfxypNyxf
yxfxypNyxf
yxfyxfxZ
Nyxf
yxfyxfxZ
Nyxf
yxfxZ
Nyxf
xZ
xZNyxfL
1 1 )(
1 1 )(
1 1 )(
1 1 )(
1 1 )(
1 1
),(exp);|(),(
),()(exp);|(),()(
),(exp),()(exp),(
1),()(
),(),()(exp),(
1),()(
),(exp),(
1),()(
),(
),(),()(),(
ただし、 jjj
パラメータ更新式の導出パラメータ更新式の導出 : : Generalized Iterative Scaling Generalized Iterative Scaling
(GIS)(GIS)
27
N
i j
N
i xYy j
ijjiiijj
N
i j
N
i xYy jijjjiiijjj
i
i
C
yxfCxypNyxf
yxfxypNyxfL
1 1 )(
1 1 )(
),(exp);|(),(
),()(exp);|(),()(),(
ただし、 jjj
j
jyx
yxfC ),(max,
N
i j
N
i xYy jj
ijiiijj
i
CC
yxfxypNyxfL
1 1 )(
exp),(
);|(),(),(
ジェンセンの不等式
この最後の式を A(λ, λ’) とおこう
パラメータ更新式の導出パラメータ更新式の導出 : : Generalized Iterative Scaling Generalized Iterative Scaling
(GIS)(GIS)
28
N
i j
N
i xYy jj
ijiiijj
i
CC
yxfxypNyxfA
1 1 )(
exp),(
);|(),(),(
N
i
N
i xYyjijiiij
j i
CyxfxypyxfA
1 1 )(
0)exp(),();|(),(),(
ここで、 A を最大化 (=極値を求める )
N
i xYyiji
N
iiij
j
i
yxfxyp
yxfC
1 )(
1
),();|(
),()exp(
GIS のパラメータ更新式
N
i xYyiji
N
iiij
j
i
yxfxyp
yxf
C
1 )(
1
),();|(
),(log
1
パラメータ更新式の直感的理解パラメータ更新式の直感的理解
29
N
i xYyiji
N
iiij
j
i
yxfxyp
yxf
C
1 )(
1
),();|(
),(log
1
訓練データに対する素性値の合計
正解候補集合に対する素性値の期待値を合計
パージングなら、、、
文 st1t1 t2t2 t3t3 tntn
...
p(t1|s;λ) p(t2|s;λ) p(t3|s;λ) p(tn|s;λ)
fj(s, t1) fj(s,t2) fj(s,t3) fj(s, tn)× × × ×
GISGISアルゴリズムアルゴリズム
Input: training data D={<x,y>}, feature functions f={fj}, initial parameters λ={λj}Output: optimal parameters λ
foreach <x,y> ∈ D foreach fj ∈ f such that fj(x,y) ≠ 0 μ’j := fj(x,y)
C := -∞loop until λ converges foreach <x,y> ∈ D R := {}; Z := 0 foreach y’ ∈ Y(x) C := max(∑j fj(x,y’), C); S := exp(∑k λkfk(x,y’)); Z := Z + S R := R ∪ {<y’, S>} foreach <y’, S> ∈ R foreach fj ∈ f such that fj(x,y’) ≠ 0 μj := μj + fj(x,y’)・ 1/Z・ S foreach fj∈f Δλj := 1/C・ log(μ’j/μj) λj := λj + Δλj
30
素性森 素性森 (Feature Forest)(Feature Forest)畳み込み構文森のための畳み込み構文森のための CRF (Packed Parse CRF (Packed Parse
CRF)CRF)
素性関数の期待値の計算 : 「ある文 x に対する全ての構文木集合 Y(x) に対する確率」を計算しないといけない
畳み込まれたデータ構造を展開することなく素性関数の期待値を計算内側外側アルゴリズム ( 構文木集合 )前向き後向きアルゴリズム ( 系列ラベリング )
31
N
i xYyiji
N
iiij
j
i
yxfxyp
yxf
C
1 )(
1
),();|(
),(log
1
素性森素性森
各ブランチのスコアの積=全体のスコア
32
...
......
... ...
(1,0,1,1,0)
(0,0,1,0,0)
構文木全体の素性ベクトル : (1,0,2,1,0)
01101 54321 eeeee
00100 54321 eeeee
01201 54321 eeeee
掛算
素性森素性森
構文木の確率
内側外側アルゴリズムの適用書換規則の適用回数⇒素性値 ( 素性の発火回数 )書換規則の確率 θr ⇒ ブランチのスコア
33
構文木の各ブランチ
る内側確率)の和(=文全体に対す構文木集合全体の確率
:
),(exp
:),(
),(exp),(
1);|(
)(),(
c
eeyxf
xZ
yxfxZ
xyp
c j
cf
j
yxf
jjj
jjj
jjjj
PCFG の書換規則の確率に対応
j
cf jje )(
EMEM と最大エントロピー法と最大エントロピー法
POSタガー パーザー
データ構造 曖昧性のある畳み込まれた列 曖昧性のある畳み込まれた木構造
EM アルゴリズム 前向き後向きアルゴリズム 内側外側アルゴリズム
最大エントロピー法 MEMMLinear-Chain CRF
Feature Forest (Packed-Parse CRF)
34
その他のパラメータ推定アルゴその他のパラメータ推定アルゴリズムリズム
35
パラメータ更新式の導出パラメータ更新式の導出 : : Improved Iteretive Scaling Improved Iteretive Scaling
(IIS)(IIS)GIS では としていたが、 とする
36
N
i j
N
i xYy j
ijjiiijj
N
i j
N
i xYy jijjjiiijjj
i
i
yxC
yxfyxCxypNyxf
yxfxypNyxfL
1 1 )(
1 1 )(
),(
),(),(exp);|(),(
),()(exp);|(),()(),(
ただし、jjj
j
jyx
yxfC ),(max,
j
j yxfyxC ),(),(
j
j yxfyxC ),(),(
N
i j
N
i xYy jj
ijiiijj
i
yxCyxC
yxfxypNyxfL
1 1 )(
),(exp),(
),();|(),(),(
ジェンセンの不等式
この最後の式を A(λ, λ’) とおこう
パラメータ更新式の導出パラメータ更新式の導出 : : Improved Iteretive Scaling Improved Iteretive Scaling
(IIS)(IIS)
37
N
i j
N
i xYy jji
i
ijiiijj
i
yxCyxC
yxfxypNyxfA
1 1 )(
),(exp),(
),();|(),(),(
ここで、 A を最大化 (=極値を求める )
0),(exp),();|(),()(
1 1 )(
N
i
N
i xYy jjiijiiij
j i
yxCyxfxypyxfA
・1 変数の方程式になっているので、上の式をニュートン法で解けばよい・上の式の C(xi,y) が同じ項をまとめると C(xi,y) が同じデータに対してのみモデル期待値を記憶しておくだけですむ・C(xi,y) を定数 C にしたのが GIS で、 GIS ではニュートン法を使わなくても直接解析的に解ける。 GIS の収束は IIS より遅い。・C(xi,y) のバリエーションが多いと、メモリが大量に必要。
・1 変数の方程式になっているので、上の式をニュートン法で解けばよい・上の式の C(xi,y) が同じ項をまとめると C(xi,y) が同じデータに対してのみモデル期待値を記憶しておくだけですむ・C(xi,y) を定数 C にしたのが GIS で、 GIS ではニュートン法を使わなくても直接解析的に解ける。 GIS の収束は IIS より遅い。・C(xi,y) のバリエーションが多いと、メモリが大量に必要。
パラメータ推定パラメータ推定 :: 勾配ベースの勾配ベースのアルゴリズムアルゴリズム
目的関数の勾配から勾配ベースの推定アルゴリズムでパラメータ推定が可能最急降下法 (steepest decent method)共役勾配法 (Conjugate Gradient, CG;
Fletcher & Reeves 1964)BFGS (L-BFGS) (Nocedal 1980)自然言語処理では、経験的に勾配ベースのア
ルゴリズムの方が IIS より非常に速く収束するため、勾配ベースのアルゴリズムが望ましい (Malouf 2002)
38
パラメータ推定パラメータ推定 : : 勾配ベースの勾配ベースのアルゴリズムアルゴリズム
目的関数
勾配
39
N
i jiijj
N
ii
N
iii yxfxZxypL
111
),(),(log);|(log)(
N
i xYyiji
N
iiij
N
i jijj
xYyij
i
N
iiij
N
i j
i
i
N
iiij
j
i
i
yxfxypyxf
yxfyxfxZ
yxf
xZ
xZyxf
L
1 )(1
1 )(1
11
),();|(),(
),(exp),(),(
1),(
),(
),(
1),(
)(
n
LLL
)(
,,)(
)(1
g
パラメータ推定パラメータ推定 : : 最急降下法最急降下法
パラメータ更新式
αは適当な小さな値もしくは一次元最適化 ( 直線探索 ともいう ) (one-dimensional line search) で決定
収束が非常に遅い
40
)()()()1( kkkk gλλ
λ(k)λ‘(k)
1. 候補領域の決定あるステップ幅を g 方向に 2 乗しな
がら探索し、 L(λ’)<L(λ) になったところで候補領域の決定
2. 候補領域を 3 分割 ( 黄金分割 ) し、2 つの中間点の L(λ) を計算し、その大小を比較することにより、左か右の領域を候補領域から削除。 2. を繰り返す。
一次元最適化
λ(k)λ’(k)
削除
黄金分割にすると、 L(λ) の計算が 2回ではなくて 1 回で済む
黄金分割にすると、 L(λ) の計算が 2回ではなくて 1 回で済む
パラメータ推定パラメータ推定 : : 共役勾配法共役勾配法Conjugate Gradient (CG)Conjugate Gradient (CG)
更新式
α は 1 次元最適化 (one-dimensional line search) で求める
毎回、直交する方向に探索しているn 次元なら、 n 回の繰り返しで終了
41
)1()1(
)()(
)1()()(
)()()()1(
kk
kk
FR
kFR
kk
kkkk
gg
gg
dgd
dλλ
パラメータ推定パラメータ推定 : : 準ニュートン準ニュートン法法
多次元のニュートン法ヘシアンの逆行列の計算が重い…
準ニュートン法ヘシアン逆行列を近似するBFGS (Broyden 1970, Fletcher 1970,
Goldfarb 1970, Shanno 1970) が有名。ただし、|λ|2 のサイズの行列を扱うので、巨大な次元の素性ベクトルには向かない
Limited-memory BFGS (L-BFGS) (Nocedal 1980) は少ないメモリでヘシアン逆行列を近似する。最大エントロピー法ではよく使われる。
42
パーセプトロン パーセプトロン (Perceptron)(Perceptron)
最大エントロピー法の問題点 Z( 正解候補集合のスコアの和 ) の計算が重い
パーセプトロン 訓練データ xi に対し yi を出力する確率が、正解候補集
合 Y(xi) のどの要素の確率よりも高ければ良い
訓練データの正解と現在のパラメータで推測される最も確率の高い答えとだけ比較
実装もアルゴリズムも簡単! 最大エントロピーより性能は落ちるけど、メモ
リー使用量や学習時間の点で非常に有利 43
jijj
jiijj
ixYy
iii
yxfyxf
xypyxypxypi
を大きく
を大きく
),(),(
));|(maxarg();|(log);|(log)(
パーセプトロンパーセプトロン : : アルゴリズムアルゴリズム
44
Input: training data D={<x,y>}, feature functions f={fj}, initial parameters λ={λj}
Output: optimal parameters λ
loop until λ converges foreach <x,y> ∈ D
z’ := argmaxz p(z|x;λ) if( y ≠ z’ )
foreach fj ∈ f
λj := λj + fj(x, y) – fj(x, z’)
最大エントロピーモデルの理論的最大エントロピーモデルの理論的背景背景
おまけ
45
最大エントロピーモデルの理論的背景最大エントロピーモデルの理論的背景
確率モデルはどこからきたのか?エントロピーを最大化?
46
)(
),(exp),(
),(exp),(
1);|(
xYy jjj
jjj
yxfxZ
yxfxZ
xyp
ただし
経験確率(経験期待値)と経験確率(経験期待値)とモデル確率(モデル期待値)モデル確率(モデル期待値)
経験確率データ {<xi, yi>} が与えられた時、
モデル確率求める確率分布パラメータを含み、これを推定するのが目標
47
N
xCxp
N
yxCyxp
)()(~
),(),(~
)|()(~),(
)|(
xypxpyxp
xyp
MM
M
経験確率経験確率
x1 x2 x3 y
1 1 0 1
1 0 0 0
0 1 1 1
1 1 0 1
1 1 1 0
0 0 1 1
0 0 1 1
1 1 1 0
1 1 0 0
1 1 1 0
0 1 0 0
0 0 0 1
... ... ... ...
x1 x2 x3 y freq(x,y) p(x,y)
0 0 0 0 983428 983428/N
0 0 0 1 58123 58123/N
0 0 1 0 178237 178237/N
0 0 1 1 1323 1323/N
0 1 0 0 748 748/N
0 1 0 1 23 23/N
0 1 1 0 373 373/N
0 1 1 1 2384 2384/N
1 0 0 0 82 82/N
1 0 0 1 343781 343781/N
1 0 1 0 45854 45854/N
1 0 1 1 83472 83472/N
1 1 0 0 6474 6474/N
1 1 0 1 27 27/N
1 1 1 0 8239 8239/N
1 1 1 1 634 634/N
=
訓練データの列
データの頻度 ( 経験確率分布 )
準備準備
X: 入力 x の全空間Y(x): 入力 x に対する出力 y の全空間F: 素性関数の集合エントロピー
条件付きエントロピー
49
Xx xYy
xypxypxppH)(
)|(log)|()()(
Xx
xpxppH )(log)()(
準備準備
カルバックライブラー距離 (Kullback-Leibler distance)
条件付き確率の場合
二つの確率分布の近さを表す尺度相対エントロピー (relative entropy) とも呼ば
れる一様分布との距離最小化⇔エントロピー最大化KL(p,q)≧0p=q ならば KL(p,q)=0 50
Xx xq
xpxpqpKL
)(
)(log)(),(
Xx xYy xyq
xypxypxpqpKL
)|(
)|(log)|()(),(
)(
最大エントロピーモデル最大エントロピーモデル
素性値の制約モデル期待値 = 経験期待値
条件付き確率にするための制約
エントロピー最大化
51
)(,)(
),(),(~),()|()(~xYyXx
jXx xYy
jj yxfyxpyxfxypxpFf
)(
1)|(xYy
xypx x
)(maxarg)|(
)|(log)|()(~)()(
pHxyp
xypxypxppH
pM
Xx xYy
解く解くH(p)を等式制約の元で最大化⇒ラグランジュの未定乗数法
ラグランジュ関数
ラグランジュ関数をp(y|x)で偏微分
52
Xx xYyx
j Xx xYy xYyXxjjj
xyp
yxfyxpyxfxypxp
pHp
)(
)( )(,
1)|(
),(),(~),()|()(~
)(),,(
0),()(~)1)|()(log(~)|(
),,(
jxjj yxfxpxypxp
xyp
p
解く解く
前スライドの等式をp(y|x)について解くと、
次に、ラグランジュ関数をκxで偏微分
上の式を代入して解くと、、、(次スライド)
53
01)|(),,(
)(
xYyx
xypp
)(~1exp),(exp
)(~1),(exp)|(xp
yxfxp
yxfxyp x
jjj
j
xjj
パラメトリックフォームパラメトリックフォーム
p(y|x) の式に代入すると、
54
)(
)(
)(
),(exp
1
)(~1exp
1),(exp)(~1exp
01)(~1exp),(exp
xYy jjj
x
xYy jjj
x
xYy
x
jjj
yxfxp
yxfxp
xpyxf
jjj
xYy jjj
yxf
yxf
xyp ),(exp
),(exp
1)|(
)(
パラメトリックフォーム
解く解く
最後にラグランジュ関数に求まった p(y|x) を代入、極値を求めて λを求める
55
Xx xYyx
j Xx xYy xYyXxjjj
Xx xYy
xyp
yxfyxpyxfxypxp
xypxypxpp
)(
)( )(,
)(
1)|(
),(),(~),()|()(~
)|(log)|()(~),,(
j Xx xYy xYyXxjj
jjjj
Xx xYy jjj
jjj
yxfyxpyxfyxfxZ
xp
yxfxZ
yxfxZ
xp
)( )(,
)(
),(),(~),(),(exp)(
1)(~
),(exp)(
1log),(exp
)(
1)(~)(
この項は 0 になることに注意
解く解く
56
Xx xYyXx jjj
Xx xYyXx jjj
xYy jjj
Xx xYyXx jjj
xYy jjj
xYyXx jjj
Xx xYy jjj
jjj
jjj
Xx xYy jjj
xYyXx jjj
Xx jj
xYyj
jjj
Xx xYy jjj
jjj
yxfyxpxZxp
yxfyxpyxfxZ
xZxp
yxfyxpxZyxfxZ
xp
yxfyxpyxfyxfxZ
xp
yxfxZyxfxZ
xp
yxfyxpyxfyxfxZ
xp
yxfxZyxfxZ
xp
)(,
)(,)(
)(,)(
)(,)(
)(
)(,)(
)(
),(),(~)(log)(~
),(),(~),(exp)(
1)(log)(~
),(),(~)(log),(exp)(
1)(~
),(),(~),(),(exp)(
1)(~
),()(log),(exp)(
1)(~
),(),(~),(),(exp)(
1)(~
),()(log),(exp)(
1)(~)(
解けた解けた
57
N
i
N
i jiijji
Xx xYyXx jjj
yxfN
xZN
yxfyxpxZxp
1 1
)(,
),(1
)(log1
),(),(~)(log)(~)(
p.23 の数式をみてみると、ラグランジュ関数の極値と最尤推定の極値が一致
→ エントロピー最大化により求まるモデルと最尤推定により求まるモデルは一致する
最大エントロピーモデル最大エントロピーモデルロジスティック回帰ロジスティック回帰
対数線形モデル対数線形モデル 最大エントロピーモデル (maximum entropy model)
素性に対する制約+エントロピー最大化によるモデル推定 ( 多クラス ) ロジスティック回帰 (multi-class logistic
regression) 多クラスのロジスティック回帰モデルに対する最尤推定
対数線形モデル (log-linear model) log-linear で表現される確率モデルの最尤推定
58
自然言語処理の分野では上記の三つは同じ確率モデル、パラメータ推定を指す 最大エントロピーモデル = ロジスティック回帰
まとめまとめ
確率的 HPSG最適化
最大エントロピー法 (GIS, IIS, CG)パーセプトロン
次回は 1/20(水 ) 16:30~ HPSG 文法開発 ( 上 )
講義資料 http://www.r.dl.itc.u-tokyo.ac.jp/~ninomi/mistH21w/
59
レポート課題レポート課題
課題(いずれかのうち一つ) 言語学、パージングもしくは機械学習に関する論文を一つ以上読んで内容をまとめ、考察を加えよ。ただし、論文は次の国際会議から選ぶこととする。 NLP系の国際会議 : ACL, NAACL, EACL, COLING, EMNLP機械学習系の国際会議 : ICML, NIPS, COLT, UAI, AIStats人工知能系の国際会議 : IJCAI, AAAI データマイニング系の国際会議 : KDD, SDM, ICDM
授業内容でよくわからなかった箇所を教科書やスライドを頼りに例題を作りつつ内容をまとめ、考察せよ 例 : CCG や HPSG で簡単な文法を紙の上に書き、紙の上で構文解析 例 : 正規分布の混合分布に対する EM の導出 例 : エントロピー最大化によるパラメータ推定とパラメトリック形
式の最尤法によるパラメータ推定が一致することを確認授業内容に関連する内容を発展させた内容を調査もしくは考察
例 : 最大エントロピー法のスムージングのための正規分布の事前分布 例 : 準ニュートン法について調べる
60
レポート課題レポート課題
A4 で 4ページ以上日本語か英語締切 : 2010 年 2 月 17 日 ( 水曜 )提出先
工学部 6号館 1F 計数教務室レポートには所属、学籍番号、名前を記入
61