4.3 確率的識別モデル #prmlrevenge

9

Click here to load reader

Upload: yoh-okuno

Post on 11-Jun-2015

2.454 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4.3 確率的識別モデル #PRMLRevenge

4.3 確率的識別モデル

#PRMLreveng

@nokuno

Page 2: 4.3 確率的識別モデル #PRMLRevenge

Twitter: @nokuno

はてなid: nokuno

自然言語処理勉強会(次回11/7)の主催者

機械学習 / 並列分散処理に興味

自己紹介 2

2002~2006:サークルでゲーム開発2007~2008:未踏でSocial IMEの開発2009~現在:Web業界勤務

Page 3: 4.3 確率的識別モデル #PRMLRevenge

生成モデルの特徴

一般にパラメータが多い

入力のモデル化が必要

解析的に解ける(ことが多い)

データのサンプリングが可能

識別モデルの特徴

パラメータが少ない

入力のモデル化が不要

解析的に解けない

柔軟に特徴量を利用できる

4.3 生成モデルと識別モデル 3

Page 4: 4.3 確率的識別モデル #PRMLRevenge

入力xの代わりに、基底関数ベクトルΦ(x)を使う

前処理として非線形変換や特徴抽出を行う

固定基底関数には限界があるので注意が必要

4.3.1 固定基底関数 4

図4.12 非線形基底関数の例(左:入力空間、右:特徴空間)

Page 5: 4.3 確率的識別モデル #PRMLRevenge

ロジスティック回帰の事後確率

4.3.2 ロジスティック回帰(1) 5

)()()|( 1 φwφφTyCp

)exp(1

1)(

aa

(4.87)

(4.59)

ロジスティック関数の定義と性質

)1(

)exp(1

)exp(11

)exp(1

1

)exp()exp(1

12

a

a

a

aada

d

(演習4.12)

Page 6: 4.3 確率的識別モデル #PRMLRevenge

尤度関数は以下のように表せる

ロジスティック回帰(2) 6

N

n

t

n

t

nnn yyp

1

11)|( wt

T

Ntt ),...( 1t

データ集合を以下のように定義すると、

(4.89)

nn t, 1,0nt

)( nn x

誤差関数(尤度の負の対数)を取ると

N

n

nnnn ytytpE1

)1ln()1(ln)|(ln)( wtw (4.90)

)|( 1 nn Cpy

Page 7: 4.3 確率的識別モデル #PRMLRevenge

誤差関数の勾配を求める(演習4.13)

ロジスティック回帰(3) 7

N

n

nn

N

n

nnnn

N

n

nn

n

nnn

n

n

tyytyt

yyy

tyyy

tE

11

1

)()1()1(

)1(1

1)1()1(

1)(

ww

(4.91)

yの勾配を求める(準備)

)1())(1)((

/)(

/)(

/

/ 11

yy

dwd

dwd

dwdy

dwdy

y

TT

M

T

T

M

ww

w

w

w

Page 8: 4.3 確率的識別モデル #PRMLRevenge

ロジスティック回帰は2値分類のための識別モデル

勾配ベクトルは「誤差」(y_n-t_n)と基底ベクトルの積

逐次アルゴリズム:データが到着するたびに更新

まとめ 8

Page 9: 4.3 確率的識別モデル #PRMLRevenge

おまけ:PythonによるSGD実装 9

実行結果$ ./logistic.py

[-0.026686414030449118,

0.7539998466069512,

-0.7745361565412446]

参考:http://www.chokkan.org/blog/archives/149