4.3 確率的識別モデル #prmlrevenge
TRANSCRIPT
4.3 確率的識別モデル
#PRMLreveng
@nokuno
Twitter: @nokuno
はてなid: nokuno
自然言語処理勉強会(次回11/7)の主催者
機械学習 / 並列分散処理に興味
自己紹介 2
2002~2006:サークルでゲーム開発2007~2008:未踏でSocial IMEの開発2009~現在:Web業界勤務
生成モデルの特徴
一般にパラメータが多い
入力のモデル化が必要
解析的に解ける(ことが多い)
データのサンプリングが可能
識別モデルの特徴
パラメータが少ない
入力のモデル化が不要
解析的に解けない
柔軟に特徴量を利用できる
4.3 生成モデルと識別モデル 3
入力xの代わりに、基底関数ベクトルΦ(x)を使う
前処理として非線形変換や特徴抽出を行う
固定基底関数には限界があるので注意が必要
4.3.1 固定基底関数 4
図4.12 非線形基底関数の例(左:入力空間、右:特徴空間)
ロジスティック回帰の事後確率
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)
尤度関数は以下のように表せる
ロジスティック回帰(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
誤差関数の勾配を求める(演習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
ロジスティック回帰は2値分類のための識別モデル
勾配ベクトルは「誤差」(y_n-t_n)と基底ベクトルの積
逐次アルゴリズム:データが到着するたびに更新
まとめ 8
おまけ:PythonによるSGD実装 9
実行結果$ ./logistic.py
[-0.026686414030449118,
0.7539998466069512,
-0.7745361565412446]
参考:http://www.chokkan.org/blog/archives/149