対数線形モデルメモ
対数線形モデルとは?
- log-linear model
- 最大エントロピーモデルとも呼ばれる
- P(y|d)を直接モデル化する(y:ラベル、d:事例)
- P(d), P(d|y), P(d,y)などは求めることができない
素性関数
- ラベルと事例の組(y, d)を素性として扱う
- そうでない場合としては、事例の各要素を素性として使うが、それにラベルも追加
- 素性関数を各要素に持つ素性ベクトルを定義する
- 要は、ラベルごとに事例の要素を別の素性として扱う
- 事例の要素数*ラベル数だけの素性ができる
- これによって線形分類器などで、クラスごとに重みベクトルを考えなくても良くなる
- 例
- ラベルにはA,Bがあり、事例の要素にはa,bがある場合、
- (ラベルがAならaの値, ラベルがAならbの値, ラベルがBならaの値, ラベルがBならbの値)と定義すると、
- ( ラベルA, 事例(a=1, b=2) )というものは、(1, 2, 0, 0)
- ( ラベルB, 事例(a=2, b=5) )というものは、(0, 0, 2, 5)
対数線形モデル
- 条件付き確率P(y|d)を次のようにモデル化する
- : 正規化のための係数
- 分類
-
- ラベルだけを求めたい場合は正規化係数Zはいらないので、指数部分だけを計算すればいい
-
- 学習
- 正則化項をつけた以下の目的関数を最大化
-
- ただし、この問題は解析的には求められない
-
- 最急勾配法では、以下の更新を繰り返す
-
- ε : 学習率
- 対数線形モデルでは、勾配の部分が以下のように変形できる
- (2016/9/1修正)
参考文献
- 言語処理のための機械学習入門