prml上巻勉強会 at 東京大学 資料 第4章4.3.1 〜 4.5.2
TRANSCRIPT
PRML 上巻勉強会 第九回 4.3 - 4.5
Beenos株式会社(予定) 技術戦略室 室長
加藤寛之
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
後半はサックリと。 メインは4.3ですよ。
生成モデルと識別モデル(復習)定義(p.42)等のおさらい
!
生成モデル : 出力/入力の分布をモデル化する クラスの条件付き密度 と事前クラス確率 を求めて ベイズの定理を使って事後確率 を求める。 解析的に解け(ることが多い)、データのサンプリングが可能 !
識別モデル : 事後確率 を直接モデル化する 入力パラメータが少なく、入力のモデル化も不要だが解析的に 解けないので反復再重み付け最小二乗(IRLS)等で解く。
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
これまでの議論では入力 を直接扱ってきたが、p136で 登場した基底関数 を使うと4章に出てきたアルゴリズムを 同じように適用できる(左: 元の入力空間、右: 特徴空間)。 !
!
!
!
!
!
!
固定基底関数
実際の問題だと下図のようにクラスの条件付き確率密度 が著しく重なり合っている(= 特定のクラスだと断定できない)。
事後確率をモデル化すれば最適解を求めることができる。 適切な非線形性(をもつ基底関数)を選択するとモデル化が楽。 !
!
!
!
!
!※注意: 固定基底関数モデルにはp172の通り重要な限界がある。 後で基底関数をデータに適応させる手法が出てきます。
固定基底関数
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
一般化線形モデルのクラス の事後確率 : ※2クラス分類のとき。4.2節(p195~197)の議論を参照 => ロジスティック回帰 !
は右のように定義され、その微分は を使って右のように書ける。 !
特徴空間 がM次元の場合のパラメータ数の違い !- 生成パターン(クラスの条件付き確率密度 + 最尤法)=> - 識別パターンの場合(ロジスティック回帰)=> !という訳で、特徴空間の次元数が大きい場合にはロジスティック回帰のほうがbetter※生成パターンについてはp200を参照?
ロジスティック回帰
前提条件 !このときの尤度関数 : !※p66,67の議論と似てます。参考までに。 !これまで通り負の対数尤度から誤関数を定義すると、 !!!=> 交差エントロピー誤差関数 !これまで通り尤度関数について、微分して0(勾配が0)のときを考えたいので
交差エントロピー誤差関数{�n, tn}, tn 2 {0, 1}, �n = �(xn), 1 n N
t = (t1, .., tN )T , yn = P (C1|�n)
E(w) = � ln p(t|w) = �NX
n=1
{tn ln yn + (1� tn) ln (1� yn)}
rE(w) =NX
n=1
(yn � tn)�n
!!・(nの目的値 と予測値 の誤差)x(基底関数ベクトル ) => 基底関数を固定して考えた場合、誤差が小さい程データnは誤差関数の勾配に 影響を与えない。 !・最尤解は 、つまり となるが、これは過学習の結果。(各クラスkのすべての学習データが に割り当てられる) これは従来までの議論のように、誤差関数に正則化項を追加することで解決可能。 (p9, p142「正則化最小二乗法」等を参照) !!@二番目について次ページで補足
に関する考察rE(w)
rE(w) =NX
n=1
(yn � tn)�n
� = 0.5 wT� = 0, |w| = 1
なので、 !!つまり、このモデルは全ての入力に対して 0.5という値を返す残念なものになる(上図)。 !特徴空間上だと、下図のような ヘヴィサイドステップ関数になるので 全ての に対して となってしまう(下図)。 !=> 全くモデルとして機能していない。。
最尤法が過学習を起こす補足wT� = 0 y = �(wT�) = �(0) =
1
1 + exp(�0)
=
1
2
p(Ck|x) = 1p(Ck|x)
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
誤差関数 の最小解を求めたいが、解析的には求めることができないとき。 => ニュートン・ラフソン法(所謂ニュートン法)を使って数値的に求める。 !!!!【ケース1】p139(3.1)の二乗和誤差関数で試してみる。 誤差関数 について !!!これを更新式に当てはめると、p139の(3.15)と同じ結果が得られる。 (反復回数 = 1回と見ることができる)
反復再重み付け最小二乗
w(new) = w(old) �H�1rE(w), H =
2
64
@E
@w1@w1· · · @E
@w1@wM
.... . .
...@E
@wM@w1· · · @E
@wM@wM
3
75
ED(w) =1
2
NX
n=1
{tn �w
T�(xn)}2
w(new) = w(old) �H�1rE(w)
= w(old) � (�T�)�1��T�w(old) ��T t
= (�T�)�1�T t
rE(w) =NX
n=1
(wT�n � tn)�n = �T�w ��T t, H = rrE(w) =NX
n=1
�n�Tn = �T�
【ケース2】交差エントロピー誤差関数に適用してみる。 !誤差関数 について !!!但し、 は を対角要素とする対角行列。 なので、ヘッセ行列もwに依存している(= 誤差関数が2次でない)。 ヘッセ行列が正定値行列なので誤差関数は凸関数となり、唯一の最小解を持つ。 !上式を更新式に当てはめると !!!! 但し、
反復再重み付け最小二乗
rE(w) =NX
n=1
(yn � tn)�n = �T (y � t), H = rrE(w) =NX
n=1
yn(yn � tn)�n�Tn = �TR�
E(w) = �NX
n=1
{tn ln yn + (1� tn) ln (1� yn)}
Rnn = yn(1� yn)Ryn = �(wT�n)
w(new) = w(old) �H�1rE(w)
= w(old) � (�TR�)�1�T (y � t)
= (�TR�)�1��TR�w(old) ��T (y � t)
= (�TR�)�1�TRz
z = �w(old) �R�1(y � t)
ここで、tに関する平均 と分散 は以下の式で与えられる。 !!!従って、重み付け対角行列 の要素 = 分散 !また、 は の周りで局所線形近似して得られる 空間上の目的変数値と解釈できる。 !
と に対する考察
E[t] = �(x) = y
var[t] = E[t2]� E[t]2 = �(x)� �(x)2 = y(1� y)
E[t] var[t]
R
z w(old)
an
(w) ' an
(w(old)) +da
n
dyn
|w(old) (tn
� yn
)
= �T
n
w(old) � (yn
� tn
)
yn
(1� yn
)
= zn
R z
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
これまでの議論を多クラス分類へ拡張する。p196からkクラスの事後確率 は ! ( は活性) !ここから最尤法を用いて、直接パラメータ を決定する。 1-of-K符号化法( : k番目の要素が1で、それ以外は0)を使えば、尤度関数は !!!この式の負の対数を取れば、誤差関数 を得る。 !!!2クラスの場合と同様に、これを多クラス分類問題に対する交差エントロピー誤差関数という。
多クラスロジスティック回帰p(Ck|�)
p(Ck|�) = yk(�) =exp(ak)Pj exp(aj)
, ak = wTk � ak
{wk}tnk
p(T |w1, ...,wK) =NY
n=1
KY
k=1
p(Ck|�n)tnk =
NY
n=1
KY
k=1
ytnknk , ynk = yk(�n), T =
2
64t11 · · · t1k...
. . ....
tn1 · · · tnk
3
75
E(w1, · · · ,wK)
E(w1, · · · ,wK) = � ln p(T |w1, · · · ,wK) = �NX
n=1
KX
k=1
tnk ln ynk
2クラスの時と同じように、 の勾配を計算すると !!!(目的値 と予測値 の誤差)x(基底関数ベクトル )の形が再び登場。 !反復重み付け最小二乗法で利用するヘッセ行列 は以下のように計算できる。 !!!2クラス問題の時と同様、これも正定値行列なので誤差関数は唯一の最小解を持つ。 (演習4.15, 演習4.20)
多クラスロジスティック回帰E
rwjE(w1, · · · ,wK) =NX
n=1
(ynj � tnj)�n
tnk ynk �n
H
H = rwkrwjE(w1, · · · ,wK) =NX
n=1
ynk(Ikj � ynj)�n�Tn
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
クラスの条件付き確率密度の事後確率が簡単な形式にならない場合を考慮し、 別のタイプの識別確率モデルを考える。 : 活性化関数 !!雑音閾値モデル 各入力 に対して を評価し、 右の式に従って目的変数値 を設定する。 の値がある確率密度 で与えられる場合の活性化関数は以下の式で書ける。 !!! が平均 = 0、分散 = 1のガウス分布で与えられるとき ! => プロビット関数の逆関数
プロビット回帰
p(t = 1|a) = f(a), a = wT� f(·)
�n an = wT�n
tn✓ p(✓)
f(a) =
Z a
�1p(✓)d✓
✓
�(a) =
Z a
�1N(✓|0, 1)d✓
!プロビット関数の逆関数はロジスティックシグモイド関数 と似てる(右図参照)。 !erf関数(誤差関数) ! で定義され、プロビット関数の逆関数と ! の関係がある。 !プロビット活性化関数に基づく一般化線形モデルはプロビット回帰と呼ばれる。 ロジスティックモデルと同様、最尤法を使ってパラメータを決定できるが、 ロジスティックモデルよりも外れ値に対して敏感。
プロビット回帰
erf(a) =2p⇡
Z a
0exp(�✓2)d✓
�(a) =1
2
�1 + erf
� ap2
�
外れ値がある場合を考慮すると… !目的変数値 を確率 で誤ったラベル付けがされると仮定。 を入力 での活性化関数とすると、確率分布 は以下のように計算できる
プロビット回帰
t ✏�(x)
x
p(t|x)
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
これまで出てきた3つのモデルについて、誤差関数 について そのパラメータ に対する誤差関数の微分を並べてみる。 !ガウス分布する雑音を持つ線形回帰モデル !! ロジスティック回帰モデル !! 多クラスロジスティック回帰モデル !!すべて目的値と予測値の「誤差」に、基底関数を掛けあわせた形になっている! !正準連結関数として知られている関数を活性化関数に選び、指数分布族の中から 目的変数に対する条件付き確率分布を選択するため(次ページで解説)。
正準連結関数E(w)
w
rE(w) =NX
n=1
(yn � tn)�n
rwjE(w1, · · · ,wK) =NX
n=1
(ynj � tnj)�n
rE(w) = �NX
n=1
{tn � yn}�(xn)T
目的変数 の分布が指数型分布族だと仮定して、p201(4.84)の指数型分布族の制限形式を利用すると の条件付き確率分布は、以下の式になる。 !!!p113(2.226)と同様の計算をすれば が得られる。 この と の関係を とする。 また、一般化線形モデルを と定義する。 ! の対数尤度関数は !上記式をパラメータ について微分すると とおけば
正準連結関数t
t
p(t|⌘, s) = 1
sh� ts
�g(⌘) exp
�⌘ts
y ⌘ E[t|⌘] = �sd
d⌘ln g(⌘)
y ⌘ ⌘ = (y)
ln p(t|⌘, s) =NX
n=1
ln p(tn|⌘, s) =NX
n=1
�ln g(⌘n) +
⌘ntns
+ Cp(t|⌘, s)
w
r ln p(t|⌘, s) =NX
n=1
� d
d⌘nln g(⌘n) +
tns
d⌘ndyn
dyndan
ran
=NX
n=1
1
s{tn � yn} 0(yn)f
0(an)�n
an = wT�n
y = f(wT�)
前ページの式を簡略化するために を定義すると、以下の式が成り立つ !!!これを用いれば、次式のようになる。 !!!ガウス分布の場合は 、ロジスティックモデルの場合は を代入すれば 2ページ前の式と等しくなる。
正準連結関数f�1(y) = (y)
f( (y)) = y, f 0( ) 0(y) = 1, a = f�1(y) ! a = , f 0(a) 0(y) = 1
rE(w) =1
s
NX
n=1
{yn � tn}�n
s = ��1 s = 1
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
確率分布が複雑(パラメータ で積分できない)なときに、連続変数の集合上に定義される確率密度分布に対しガウス分布による近似を見つける手法の一つ。 !まず、 で定義される分布を仮定する。但し、 は正規化係数 ! のモードを中心とするガウス分布による近似を見つけるのが目的。 !=> となる を見つける。 を中心とした のテイラー展開は !!両辺の指数を取ると となるので、正規化分布 は !
ラプラス近似w
p(z) =1
Zf(z) Z =
Zf(z)dz
p(z)
df(z)
dz
��z=z0
= 0 z0 z0 ln f(z)
ln f(z) ' ln f(z0)�1
2A(z � z0)
2, A = � d2
dz2ln f(z)
��z=z0
f(z) ' f(z0) exp�� A
2
(z � z0)2
q(z)
q(z) =� A2⇡
� 12exp
�� A
2
(z � z0)2
前ページの内容を多次元に拡張(M次元空間z上で分布pを定義)すると ! に対して を得る !正規化係数Zの近似も、以下の形で求められる。
ラプラス近似
p(z) = f(z)/Z q(z) =|A|1/2
(2⇡)M/2exp
�� 1
2
(z � z0)TA(z � z0)
= N(z|z0,A�1
)
Z =
Zf(z)dz
' f(z0)
Zexp
�� 1
2
(z � z0)TA(z � z0)
dz
= f(z0)(2⇡)M/2
|A|1/2
目次
4.3. 確率的識別モデル 1. 固定基底関数 2. ロジスティック回帰 3. 反復再重み付け最小二乗 4. 多クラスロジスティック回帰 5. プロビット回帰 6. 正準連結関数
!!!
4.4. ラプラス近似 1. モデルの比較とBIC
4.5. ベイズロジスティック回帰 1. ラプラス近似 2. 予測分布
力尽きました
に対して、 を示す。 !パラメータ に依存する項は だけなので、 を求める。 より、 !!!従って、 !!!!!!!
演習問題4.13E(w) = �
NX
n=1
�tn ln yn + (1� tn) ln(1� yn)
rE(w) =
NX
n=1
(yn � tn)�n
w ynd�
da= �(1� �)ryn
rE(w) = �NX
n=1
�tnr ln yn + (1� tn)r ln(1� yn)
= �NX
n=1
�tn⇥ d
dynln yn
⇤ryn + (1� tn)
⇥ d
dynln(1� yn)
⇤r(1� yn)
= �NX
n=1
�tn
1
ynyn(1� yn)�n + (1� tn)
1
(1� yn)
⇥� yn(1� yn)�n
⇤
= �NX
n=1
�tn(1� yn)� (1� tn)yn
�n
= �NX
n=1
(yn � tn)�n
ryn =dyndw
=d�(wT�n)
dw= �(1� �)
dwT�n
dw= �(1� �)�n = yn(1� yn)�n