確率的 hpsg ・パラメータ推定

59
確確確 HPSG 確確確確確確確 確確 1

Upload: yagil

Post on 08-Feb-2016

81 views

Category:

Documents


0 download

DESCRIPTION

確率的 HPSG ・パラメータ推定. 二宮 崇. 今日の講義の予定. 識別モデル 確率的 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 確率的 HPSG ・パラメータ推定

1

確率的 HPSG ・パラメータ推定

二宮 崇

Page 2: 確率的 HPSG ・パラメータ推定

2

今日の講義の予定

識別モデル 確率的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

Page 3: 確率的 HPSG ・パラメータ推定

3

PCFG の問題

独立性の仮定

S

NP VP

香織が 走る

構文木  t S

NP

VP

香織が

走る

構文木  u

NP

P(t) = θS → NP NP × θNP → 香織 × θV → 走るP(u) = θS → NP NP × θNP → NP × θNP → 香織 × θV → 走る

S

NP

VP

香織が

走る

正解

NP>

常に P(t) > P(u) → 正解が u であっても必ず t が選ばれる

Page 4: 確率的 HPSG ・パラメータ推定

4

HPSG の確率モデル?

PCFG: 各書換規則に対応するパラメータ HPSG: ??

he gives her a present

NP[acc]NP[acc]NP[nom][3rd, sing]

PHON: <gives>

VAL:SUBJ: < >COMPS: < , >SPR: <>

PHON: <gives, her>

VAL:SUBJ:< >COMPS:< >SPR:<>

22 3

1

PHON: <gives, her, a present>

VAL:SUBJ: < >COMPS: <>SPR:<>

3

1

3

PHON: <he, gives, her, a present>

VAL:SUBJ: <>COMPS: <>SPR: <>

1

1

Page 5: 確率的 HPSG ・パラメータ推定

5

生成モデルから識別モデルへ

識別モデル直接

を解く独立な事象を仮定しない「条件部の確率」をモデルにいれない

);|(maxarg~ stptt

Page 6: 確率的 HPSG ・パラメータ推定

識別モデル

)|( 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)

Page 7: 確率的 HPSG ・パラメータ推定

CFG の識別モデルの例

構文木生成に用いられた各書換規則の適用回数

構文木

ルール ID 1 2 3 4 5 6 7 8 9 10素性ベクトル (0,0,1,0,3,0,1,1,2,0)

各次元は書換規則に対応

構文木中に含まれる各書換規則の適用回数

Page 8: 確率的 HPSG ・パラメータ推定

8

構文木の素性ベクトル簡単な CFGの例 IDS → 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

S

SUBJ VP1

NP が OBJ1 V

香織 読んだをNP

S NP

電子メールSUBJ V

NP が恵

送った

構文木  t

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)

Page 9: 確率的 HPSG ・パラメータ推定

9

識別モデルのいいところ

独立性を仮定していない ( 戦略として ) 思いつく限りいろんな素性をいれる 訓練データに対してより良い予測ができる 逆に overfitting する可能性がある

c.f. 正規分布の事前分布による MAP 推定で overfitting を緩和 CFG なら、ルールだけでなく、 head word な

どいろんな素性をいれれば良い 疎なベクトルなら数百万次元ぐらい

Page 10: 確率的 HPSG ・パラメータ推定

10

確率的 HPSG「 .... を満たすブランチ(分岐)はいくつ

あるか?」という素性の集合

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

Page 11: 確率的 HPSG ・パラメータ推定

11

確率的 HPSGブランチの周辺状況を素性にしている親のカテゴリーと左娘のカテゴリーと右娘

のカテゴリーの全ての組み合わせを列挙して素性にすれば、先ほどの例の CFG と同じ素性になる

カテゴリーだけでなく、 head word や、距離などいろいろな素性をいれられる

Page 12: 確率的 HPSG ・パラメータ推定

確率的 HPSG の素性の実例

CAT: verbSUBCAT: <>

CAT: verbSUBCAT:<NP>

Spring has come

CAT: nounSUBCAT …

<>CAT: verbSUBCAT:<VP>…

CAT: verbSUBCAT:<NP>…

NP:SUBCATverb:CAT

VBN, , VP, 1,

,VP:SUBCATverb:CAT

VBZ, ,VP, 0,1, 1, rule,-comp-head

come

hasf

rule name

distance of head words

comma exists or

notleft

daughter’s category left

daughter’s head word

left daughter

’s POS

left daughter’s head lexical entry

left daughter’s span

Page 13: 確率的 HPSG ・パラメータ推定

13

素性に関する注意その 1単語の素性と素性値

例 : head word が ``apple’’ であった時の素性値

(0,0,0,0,0,.....,0,1,0,.....,0,0,0,0,0,0)

( 訓練データに出現した ) 単語の数だけ次元がある!

各次元が単語に対応するapple に対応する次元

Page 14: 確率的 HPSG ・パラメータ推定

14

素性に関する注意その 2素性の組み合わせ

最大エントロピー法 ( ロジスティック回帰 )では、素性同士の共起情報が別素性として自動的に組み込まれるわけではない右娘と左娘の cat が同時に verbSVM: 多項式カーネル

素性の組み合わせを手で指示しないといけない⇒自動的に行うなら「素性選択」を行う

Page 15: 確率的 HPSG ・パラメータ推定

15

素性に関する注意その 2: 確率的 HPSG の素性組み合わせの実

例RULE DIST COMMA SPAN SYM WORD POS LE

✔ ✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔✔ ✔ ✔ ✔✔ ✔ ✔ ✔✔ ✔ ✔ ✔ ✔✔ ✔ ✔ ✔✔ ✔ ✔ ✔✔ ✔ ✔ ✔

Page 16: 確率的 HPSG ・パラメータ推定

16

識別モデルの学習

Page 17: 確率的 HPSG ・パラメータ推定

17

問題設定

x: 入力y: 出力訓練データ

(xi, yi) i=1,...,N例

x は文で、 y は x に対する正解の構文木x は競馬情報で、 y は 1 位の馬

問題ある未知の入力 x に対する出力 y の予測

Page 18: 確率的 HPSG ・パラメータ推定

18

素性関数

入力や出力から特徴を抽出する素性関数 (feature function) を複数定義 fj(x, y) j=1,...,M注意

人手で定義M は特にいくつでもかまわないが、増やした分だけ計算時

間・空間がかかったり、 overfitting してしまう良い素性関数をできるだけたくさん見つける、ということが

人間がしなくてはいけない重要な仕事素性ベクトル ( または特徴ベクトル , feature

vector) ( f1(x,y), f2(x,y), ..., fM(x, y) )

Page 19: 確率的 HPSG ・パラメータ推定

19

全体の流れ (1/2) Estimation ( 推定、パラメータ推定 )

各素性 fj に対する重み λj を学習

入力 出力

x1 y1

x2 y2

... ...xN yN

訓練データ素性ベクトル

<f1(x1,y1), f2(x1,y1), ..., fM(x1,y1)>

<f1(x2,y2), f2(x2,y2), ..., fM(x2,y2)>

...<f1(xN,yN), f2(xN,yN), ..., fM(xN,yN)>

学習<λ1, λ2, ..., λM>

Page 20: 確率的 HPSG ・パラメータ推定

20

全体の流れ (2/2) Inference ( 推測、推定 )

未知のデータ x に対する出力 y の推定

素性ベクトル

<f1(x,y1), f2(x,y1), ..., fM(x,y1)>

<f1(x,y2), f2(x,y2), ..., fM(x,y2)>

...<f1(x,yn), f2(x,yn), ..., fM(x,yn)>

推測

<λ1,...,λM>x

未知のデータ y1

y2

y3

...

yn

x に対する全出力候補 y

yi

学習により得られた重みベクトル

Page 21: 確率的 HPSG ・パラメータ推定

21

最大エントロピーモデル (Maximum Entropy model)多クラスロジスティック回帰 (Multi-class Logistic Regression)

対数線形モデル (Log-linear Model)

確率モデル

)(

),(exp),(

),(exp),(

1);|(

xYy jjj

jjj

yxfxZ

yxfxZ

xyp

ただし

素性関数重み

分配関数(Partition function)

Page 22: 確率的 HPSG ・パラメータ推定

22

直感的理解

スコアの対数 = 各素性の ( 値 × 重み ) の和

p(y|x)= (xy のスコア )/(x に対する候補集合 y’ のスコアの和 )

jjj

yxfyxfyxfyxfyxfyxf

xYyj

jj

jjj

yxfyxs

eeeeyxs

yxsyxsyxf

xZxyp

yxfyxs

MMMM

),(),,(log),,(

),,(),,(),(exp

),(1);|(

),(exp),,(

),(),(),(),(),(),(

)(

22112211

となる。ちなみに、

とおくと、

Page 23: 確率的 HPSG ・パラメータ推定

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 の足し算になっているから、これの極値を求めるのは難しい…

Page 24: 確率的 HPSG ・パラメータ推定

24

パラメータ推定

パラメータ更新式に変形新しいパラメータと古いパラメータによる

データ全体に対する対数尤度の差を正(もしくは正が保証されている中で最大にする)にするよう更新

古いパラメータ : λ新しいパラメータ : λ’

N

iii

N

iii xypxypL

11

);|(log);|(log),(

EM の時と同じ

Page 25: 確率的 HPSG ・パラメータ推定

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

xZxZyxf

xZxZyxf

yxfxZxZ

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

Page 26: 確率的 HPSG ・パラメータ推定

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

xZxZNyxfL

1 1 )(

1 1 )(

1 1 )(

1 1 )(

1 1 )(

1 1

),(exp);|(),(

),()(exp);|(),()(

),(exp),()(exp),(

1),()(

),(),()(exp),(

1),()(

),(exp),(

1),()(

),(),(),()(),(

ただし、 jjj

Page 27: 確率的 HPSG ・パラメータ推定

27

パラメータ更新式の導出 : Generalized Iterative Scaling

(GIS)

N

i j

N

i xYy j

ijjiiijj

N

i j

N

i xYy jijjjiiijjj

i

i

Cyxf

CxypNyxf

yxfxypNyxfL

1 1 )(

1 1 )(

),(exp);|(),(

),()(exp);|(),()(),(

ただし、 jjj

j

jyxyxfC ),(max

,

N

i j

N

i xYy jj

ijiiijj

i

CC

yxfxypNyxfL

1 1 )(

exp),(

);|(),(),(

ジェンセンの不等式

この最後の式を A(λ, λ’) とおこう

Page 28: 確率的 HPSG ・パラメータ推定

28

パラメータ更新式の導出 : Generalized Iterative Scaling

(GIS)

N

i j

N

i xYy jj

ijiiijj

i

CC

yxfxypNyxfA

1 1 )(

exp),(

);|(),(),(

N

i

N

i xYyjijiiij

j i

CyxfxypyxfA1 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

C1 )(

1

),();|(

),(log1

Page 29: 確率的 HPSG ・パラメータ推定

29

パラメータ更新式の直感的理解

N

i xYyiji

N

iiij

j

i

yxfxyp

yxf

C1 )(

1

),();|(

),(log1

訓練データに対する素性値の合計正解候補集合に対する素性値の期待値を合計

パージングなら、、、

文 st1 t2 t3 tn

...

p(t1|s;λ) p(t2|s;λ) p(t3|s;λ) p(tn|s;λ)

fj(s, t1) fj(s,t2) fj(s,t3) fj(s, tn)× × × ×

Page 30: 確率的 HPSG ・パラメータ推定

30

GIS アルゴリズム

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 f∈ j(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 f∈ j(x,y’) ≠ 0 μj := μj + fj(x,y’)・1/Z・S foreach fj f∈ Δλj := 1/C・ log(μ’j/μj) λj := λj + Δλj

Page 31: 確率的 HPSG ・パラメータ推定

31

素性森 (Feature Forest)畳み込み構文森のための CRF (Packed Parse

CRF)素性関数の期待値の計算 : 「ある文 x に対

する全ての構文木集合 Y(x) に対する確率」を計算しないといけない

畳み込まれたデータ構造を展開することなく素性関数の期待値を計算内側外側アルゴリズム ( 構文木集合 )前向き後向きアルゴリズム (系列ラベリング )

N

i xYyiji

N

iiij

j

i

yxfxyp

yxf

C1 )(

1

),();|(

),(log1

Page 32: 確率的 HPSG ・パラメータ推定

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

掛算

Page 33: 確率的 HPSG ・パラメータ推定

33

素性森

構文木の確率

内側外側アルゴリズムの適用書換規則の適用回数⇒素性値 ( 素性の発火回

数 )書換規則の確率 θr ⇒ ブランチのスコア   

構文木の各ブランチ

る内側確率)の和(=文全体に対す構文木集合全体の確率

:

),(exp

:),(

),(exp),(

1);|(

)(),(

c

eeyxf

xZ

yxfxZ

xyp

c j

cf

j

yxf

jjj

jjj

jjjj

PCFG の書換規則の確率に対応

j

cf jje )(

Page 34: 確率的 HPSG ・パラメータ推定

34

EM と最大エントロピー法

POSタガー パーザーデータ構造 曖昧性のある畳み込まれた列 曖昧性のある畳み込まれ

た木構造EM アルゴリズム 前向き後向きアルゴリズム 内側外側アルゴリズム最大エントロピー法 MEMM

Linear-Chain CRFFeature Forest (Packed-Parse CRF)

Page 35: 確率的 HPSG ・パラメータ推定

35

その他のパラメータ推定アルゴリズム

Page 36: 確率的 HPSG ・パラメータ推定

36

パラメータ更新式の導出 : Improved Iteretive Scaling

(IIS)GIS では としていたが、 とする

N

i j

N

i xYy j

ijjiiijj

N

i j

N

i xYy jijjjiiijjj

i

i

yxCyxf

yxCxypNyxf

yxfxypNyxfL

1 1 )(

1 1 )(

),(),(

),(exp);|(),(

),()(exp);|(),()(),(

ただし、jjj

j

jyxyxfC ),(max

,

j

j yxfyxC ),(),(

j

j yxfyxC ),(),(

N

i j

N

i xYy jj

ijiiijj

i

yxCyxCyxf

xypNyxfL1 1 )(

),(exp),(),(

);|(),(),(

ジェンセンの不等式

この最後の式を A(λ, λ’) とおこう

Page 37: 確率的 HPSG ・パラメータ推定

37

パラメータ更新式の導出 : Improved Iteretive Scaling

(IIS)

N

i j

N

i xYy jji

i

ijiiijj

i

yxCyxCyxf

xypNyxfA1 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) のバリエーションが多いと、メモリが大量に必要。

Page 38: 確率的 HPSG ・パラメータ推定

38

パラメータ推定 :勾配ベースのアルゴリズム

目的関数の勾配から勾配ベースの推定アルゴリズムでパラメータ推定が可能最急降下法 (steepest decent method)共役勾配法 (Conjugate Gradient, CG;

Fletcher & Reeves 1964)BFGS (L-BFGS) (Nocedal 1980)自然言語処理では、経験的に勾配ベースのア

ルゴリズムの方が IIS より非常に速く収束するため、勾配ベースのアルゴリズムが望ましい (Malouf 2002)

Page 39: 確率的 HPSG ・パラメータ推定

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

xZxZ

yxfL

1 )(1

1 )(1

11

),();|(),(

),(exp),(),(

1),(

),(),(

1),()(

n

LLL

)(,,)()(

1

g

Page 40: 確率的 HPSG ・パラメータ推定

40

パラメータ推定 : 最急降下法

パラメータ更新式

αは適当な小さな値もしくは一次元最適化 (直線探索 ともいう ) (one-dimensional line search) で決定

収束が非常に遅い

)()()()1( kkkk gλλ

λ(k)λ‘(k)

1. 候補領域の決定あるステップ幅を g 方向に 2 乗しながら探索し、 L(λ’)<L(λ) になったところで候補領域の決定

2. 候補領域を 3 分割 ( 黄金分割 ) し、2 つの中間点の L(λ) を計算し、その大小を比較することにより、左か右の領域を候補領域から削除。 2. を繰り返す。

一次元最適化

λ(k)λ’(k)

削除

黄金分割にすると、L(λ) の計算が 2 回ではなくて 1 回で済む

Page 41: 確率的 HPSG ・パラメータ推定

41

パラメータ推定 : 共役勾配法Conjugate Gradient (CG)

更新式

α は 1 次元最適化 (one-dimensional line search)で求める

毎回、直交する方向に探索しているn 次元なら、 n 回の繰り返しで終了

)1()1(

)()(

)1()()(

)()()()1(

kk

kk

FR

kFR

kk

kkkk

gggg

dgddλλ

Page 42: 確率的 HPSG ・パラメータ推定

42

パラメータ推定 : 準ニュートン法

多次元のニュートン法ヘシアンの逆行列の計算が重い…

準ニュートン法ヘシアン逆行列を近似するBFGS (Broyden 1970, Fletcher 1970,

Goldfarb 1970, Shanno 1970) が有名。ただし、|λ|2 のサイズの行列を扱うので、巨大な次元の素性ベクトルには向かない

Limited-memory BFGS (L-BFGS) (Nocedal 1980) は少ないメモリでヘシアン逆行列を近似する。最大エントロピー法ではよく使われる。

Page 43: 確率的 HPSG ・パラメータ推定

43

パーセプトロン (Perceptron) 最大エントロピー法の問題点

Z( 正解候補集合のスコアの和 ) の計算が重い パーセプトロン

訓練データ xiに対し yiを出力する確率が、正解候補集合 Y(xi) のどの要素の確率よりも高ければ良い

訓練データの正解と現在のパラメータで推測される最も確率の高い答えとだけ比較

実装もアルゴリズムも簡単! 最大エントロピーより性能は落ちるけど、メモリー使用量や学

習時間の点で非常に有利

jijj

jiijj

ixYy

iii

yxfyxf

xypyxypxypi

を大きく

を大きく

),(),(

));|(maxarg();|(log);|(log)(

Page 44: 確率的 HPSG ・パラメータ推定

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’)

Page 45: 確率的 HPSG ・パラメータ推定

45

最大エントロピーモデルの理論的背景

おまけ

Page 46: 確率的 HPSG ・パラメータ推定

46

最大エントロピーモデルの理論的背景

確率モデルはどこからきたのか?エントロピーを最大化?

)(

),(exp),(

),(exp),(

1);|(

xYy jjj

jjj

yxfxZ

yxfxZ

xyp

ただし

Page 47: 確率的 HPSG ・パラメータ推定

47

経験確率(経験期待値)とモデル確率(モデル期待値)

経験確率データ {<xi, yi>} が与えられた時、

モデル確率求める確率分布パラメータを含み、これを推定するのが目標

NxCxp

NyxCyxp

)()(~

),(),(~

)|()(~),()|(

xypxpyxpxyp

MM

M

Page 48: 確率的 HPSG ・パラメータ推定

経験確率

x1 x2 x3 y1 1 0 11 0 0 00 1 1 11 1 0 11 1 1 00 0 1 10 0 1 11 1 1 01 1 0 01 1 1 00 1 0 00 0 0 1... ... ... ...

x1 x2 x3 y freq(x,y) p(x,y)0 0 0 0 983428 983428/N0 0 0 1 58123 58123/N0 0 1 0 178237 178237/N0 0 1 1 1323 1323/N0 1 0 0 748 748/N0 1 0 1 23 23/N0 1 1 0 373 373/N0 1 1 1 2384 2384/N1 0 0 0 82 82/N1 0 0 1 343781 343781/N1 0 1 0 45854 45854/N1 0 1 1 83472 83472/N1 1 0 0 6474 6474/N1 1 0 1 27 27/N1 1 1 0 8239 8239/N1 1 1 1 634 634/N

=

訓練データの列データの頻度 ( 経験確率分布 )

Page 49: 確率的 HPSG ・パラメータ推定

49

準備

X: 入力 x の全空間Y(x): 入力 x に対する出力 y の全空間F: 素性関数の集合エントロピー

条件付きエントロピー

Xx xYy

xypxypxppH)(

)|(log)|()()(

Xx

xpxppH )(log)()(

Page 50: 確率的 HPSG ・パラメータ推定

50

準備

カルバックライブラー距離 (Kullback-Leibler distance)

条件付き確率の場合

二つの確率分布の近さを表す尺度相対エントロピー (relative entropy) とも呼ばれる一様分布との距離最小化⇔エントロピー最大化KL(p,q)≧0p=q ならば KL(p,q)=0

Xx xq

xpxpqpKL)()(log)(),(

Xx xYy xyq

xypxypxpqpKL)|()|(log)|()(),(

)(

Page 51: 確率的 HPSG ・パラメータ推定

51

最大エントロピーモデル

素性値の制約モデル期待値 =経験期待値

条件付き確率にするための制約

エントロピー最大化

)(,)(

),(),(~),()|()(~xYyXx

jXx xYy

jj yxfyxpyxfxypxpFf    

)(

1)|(xYy

xypx    x

)(maxarg)|(

)|(log)|()(~)()(

pHxyp

xypxypxppH

pM

Xx xYy

Page 52: 確率的 HPSG ・パラメータ推定

52

解く

H(p) を等式制約の元で最大化⇒ラグランジュの未定乗数法ラグランジュ関数

ラグランジュ関数を p(y|x) で偏微分

Xx xYyx

j Xx xYy xYyXxjjj

xyp

yxfyxpyxfxypxp

pHp

)(

)( )(,

1)|(

),(),(~),()|()(~

)(),,(

0),()(~)1)|()(log(~)|(

),,(

jxjj yxfxpxypxp

xypp

Page 53: 確率的 HPSG ・パラメータ推定

53

解く

前スライドの等式を p(y|x) について解くと、

次に、ラグランジュ関数を κx で偏微分

上の式を代入して解くと、、、(次スライド)

01)|(),,()(

xYyx

xypp

)(~1exp),(exp

)(~1),(exp)|(xp

yxfxp

yxfxyp x

jjj

j

xjj

Page 54: 確率的 HPSG ・パラメータ推定

54

パラメトリックフォーム

p(y|x) の式に代入すると、

)(

)(

)(

),(exp

1)(~1exp

1),(exp)(~1exp

01)(~1exp),(exp

xYy jjj

x

xYy jjj

x

xYy

x

jjj

yxfxp

yxfxp

xpyxf

jjj

xYy jjj

yxfyxf

xyp ),(exp),(exp

1)|(

)(

パラメトリックフォーム

Page 55: 確率的 HPSG ・パラメータ推定

55

解く

最後にラグランジュ関数に求まった p(y|x) を代入、極値を求めて λ を求める

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 になることに注意

Page 56: 確率的 HPSG ・パラメータ推定

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)(~)(

Page 57: 確率的 HPSG ・パラメータ推定

57

解けた

N

i

N

i jiijji

Xx xYyXx jjj

yxfN

xZN

yxfyxpxZxp

1 1

)(,

),(1)(log1

),(),(~)(log)(~)(

p.23 の数式をみてみると、ラグランジュ関数の極値と最尤推定の極値が一致→エントロピー最大化により求まるモデル

と最尤推定により求まるモデルは一致する

Page 58: 確率的 HPSG ・パラメータ推定

58

最大エントロピーモデルロジスティック回帰

対数線形モデル 最大エントロピーモデル (maximum entropy model)

素性に対する制約+エントロピー最大化によるモデル推定 ( 多クラス ) ロジスティック回帰 (multi-class logistic

regression) 多クラスのロジスティック回帰モデルに対する最尤推定

対数線形モデル (log-linear model) log-linear で表現される確率モデルの最尤推定

自然言語処理の分野では上記の三つは同じ確率モデル、パラメータ推定を指す 最大エントロピーモデル = ロジスティック回帰

Page 59: 確率的 HPSG ・パラメータ推定

59

まとめ

確率的 HPSG最適化

最大エントロピー法 (GIS, IIS, CG)パーセプトロン