Lec09
ロジスティック回帰モデル
ロジスティック回帰分析の例(再掲)
価格
(x
i)
自動運転(y
i)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1
1.0 1.5 2.0 2.501
Car Price
Auto−Driving Equipment
ロジスティック回帰分析の例(再掲)
価格
(x
i)
自動運転(y
i)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1
1.0 1.5 2.0 2.5
01
Car Price
Auto−Driving Equipment
ロジスティック回帰分析の例(再掲)
価格
(x
i)
自動運転(y
i)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1
1.0 1.5 2.0 2.5
01
Car Price
Auto−Driving Equipment
一般化線形モデルの構成要素
▶ 線形予測子
z
i=
∑
d j=1w
jx
ij▶ リンク関数:ロジット関数
θ
i= g
−1(z
i) = 1 exp( − z
i)
▶ 確率モデル:ベルヌーイ分布
P [y
i] = θ
iyi(1 − θ
i)
(1−yi)入力変数 中間変数 パラメータ 確率分布
2クラス分類問題の訓練データ
▶ 訓練データ(
n
事例,d
次元)X =
x
11x
12· · · x
idx
21x
22· · · x
2d.. . .. . . . . .. . x
n1x
n2· · · x
nd
∈ R
n×d, y =
y
1y
2.. . y
n
∈ { 0, 1 }
nロジスティック回帰分析
▶ 確率モデル
P (y
i= 1 | x
i) = g
−1(w
⊤x
i) P (y
i= 0 | x
i) = 1 − g
−1(w
⊤x
i)
▶ ロジスティック関数
g
−1(z) = 1 1 + exp( − z)
0.40.60.81.0
Logistic Function
ロジスティック回帰モデルの尤度
▶ ロジスティック回帰分析の尤度関数
L(w) =
∏
n i=1P (y
i| x
i)
▶ ロジスティック回帰分析の対数尤度関数
ℓ(w) =
∑
n i=1log P (y
i| x
i)
=
∑
n i=1(
y
ilog 1
1 + exp( − w
⊤x
i) + (1 − y
i) log exp( − w
⊤x
i) 1 + exp( − w
⊤x
i)
)
最尤推定法
▶ ロジスティック回帰モデルの最尤推定
ˆ
w = arg max
w∈Rd+1
∑
ni=1
(
y
ilog 1
1 + exp( − w
⊤x
i) + (1 − y
i) log exp( − w
⊤x
i) 1 + exp( − w
⊤x
i)
)
▶ 繰り返しアルゴリズム
w
(0)→ w
(1)→ . . . → w
(t)→ w
(t+1)→ . . .
▶ 非線形最適化の方法
最急降下法,準ニュートン法,ニュートン法, ...
演習問題1
ロジスティック回帰モデルの対数尤度関数が
ℓ(w) =
∑
n i=1(
y
ilog 1
1 + exp( − w
⊤x
i) + (1 − y
i) log exp( − w
⊤x
i) 1 + exp( − w
⊤x
i)
)
と表されることを示せ.
演習問題1の解答
ニュートン法(まずは一変数関数から)
▶ 一変数関数
ℓ(w)
の最大化ˆ
w = arg max
w∈R
ℓ(w)
▶ 繰り返しアルゴリズム
w
(0)→ w
(1)→ · · · → w
(t)→ w
(t+1)→ · · ·
▶ 二次近似(二次の項までのテイラー展開)
ℓ(w) = ˜ ℓ(w
(t)) + ℓ
′(w
(t))(w − w
(t)) + 1
2 ℓ
′′(w
(t))(w − w
(t))
2▶ ニュートンステップ
=
二次近似モデル最小化w
(t+1)= arg max
w∈R
ℓ(w) ˜
ニュートンステップ
▶ 一変数関数のニュートン法において,w(t)から
w
(t+1)の更新式はw
(t+1)← w
(t)− ℓ
′(w
(t)) ℓ
′′(w
(t))
と表される.(証明)
例題
一変数関数
ℓ(w) = − (w − 2)
4を最大にするような
w
をニュートン法によって求める(演習問題2)ニュートン法の例
(a) t = 0 (b) t = 1
(多変数関数の)ニュートン法
▶ 多変数関数の最大化問題
ˆ
w = arg max
w∈Rd+1
ℓ(w)
▶ 繰り返しアルゴリズム
w
(0)→ w
(1)→ · · · → w
(t)→ w
(t+1)→ · · ·
▶ 二次近似(二次の項までのテイラー展開)
ℓ(w) =˜ ℓ(w(t)) + [∂ℓ
∂w ]⊤
w=w(t)
(w−w(t)) +1
2(w−w(t))⊤ [ ∂2ℓ
∂w∂w⊤ ]
w=w(t)
(w−w(t))
▶ ニュートンステップ
=
二次近似モデル最小化w
(t+1)= arg max
w
ℓ(w) ˜
一次微分ベクトルと二次微分行列
▶ 一次微分ベクトル
[ ∂ℓ
∂w ]
w=w(t)
:=
∂ℓ
∂w1
∂ℓ
∂w2
.. .
∂ℓ
∂wd
w=w(t)
▶ 二次微分行列
[ ∂
2ℓ
∂w∂w
⊤]
w=w(t)
:=
∂2ℓ
∂w1∂w1
∂2ℓ
∂w1∂w2
· · ·
∂w∂12∂wℓ d.. . .. . . . . .. .
∂2ℓ
∂wd∂w1
∂2ℓ
∂wd∂w2
· · ·
∂w∂d2∂wℓ d
w=w(t)
多変数関数のニュートンステップ
▶ 多変数関数のニュートン法において,w(t)から
w
(t+1)の更新式はw
(t+1)← w
(t)− [ ∂
2ℓ
∂w∂w
⊤]
−1w=w(t)
[ ∂ℓ
∂w ]
w=w(t)
と表される(演習問題2)
演習問題2
▶ 一変数関数
f(w) = − (w − 2)
4を最大にするような
w
をニュートン法によって求める(演習問題 2a
)初期解をw
(0)= 0
とするとき,ニュートン法の更新値w
(1), w
(2), w
(3)を求めよ.▶ 多変数関数のニュートン法において,
w
(t)からw
(t+1)の更新式がw
(t+1)← w
(t)− [ ∂
2ℓ
∂w∂w
⊤]
−1w=w(t)
[ ∂ℓ
∂w ]
w=w(t)
と表されることを示せ.
演習問題2の解答
2クラス分類問題とパターン認識
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
2クラス分類問題とパターン認識
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
2クラス分類問題とパターン認識
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
2クラス分類問題とパターン認識
▶ 2クラス分類問題の訓練データ(
n
事例,d
次元)X =
x
11x
12· · · x
idx
21x
22· · · x
2d.. . .. . . . . .. . x
n1x
n2· · · x
nd
∈ R
n×d, y =
y
1y
2.. . y
n
∈ { 0, 1 }
n▶ 線形分類境界
h(x) = w
0+
∑
d j=1w
jx
i= 0
▶ 分類規則
h(x
i) > 0 ⇒ y
i= 1,
h(x
i) < 0 ⇒ y
i= 0
3つの線形2クラス分類アルゴリズム
▶ ロジスティック回帰分析
▶ 線形判別分析
▶ (線形)サポートベクトルマシン
2クラス分類器としてのロジスティック回帰分析
▶ 2クラス分類規則
P (y
i| x
i) = 1
1 + exp( − w
⊤x
i) > 0.5 ⇒ y ˆ
i= 1, P (y
i| x
i) = 1
1 + exp( − w
⊤x
i) < 0.5 ⇒ y ˆ
i= 0
▶ 線形分類境界を
h(x) = w
⊤x
としたとき,分類規則は以下のように表される:
h(x
i) > 0 ⇒ y ˆ
i= 1, h(x
i) < 0 ⇒ y ˆ
i= 0
(証明)
線形判別分析
▶ 各クラスの入力ベクトル分布
P (x
i| y
i= 1), P (x
i| y
i= 0)
▶ 両分布が分散共分散行列の等しい多変量正規分布のとき線形判別 境界となる
-4 -2 0 2 4
Feature x2
(線形)サポートベクトルマシン
▶ 分類境界とマージン
80 100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
(線形)サポートベクトルマシン
▶ 分類境界とマージン
80 100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
演習問題3
▶ 判別分析では,
H(x) := P (y = 1 | x) − P (y = 0 | x)
を考え,以下のように分類する:H (x
i) > 0 ⇒ y ˆ
i= 1, H (x
i) < 0 ⇒ y ˆ
i= 0
▶ ベイズの定理
P (y = 1 | x) = P (x | y = 1) P (y = 1)
P (x) , P (y = 0 | x) = P (x | y = 0) P (y = 0) P (x) ,
を用いて,対数識別関数h(x) := log P (y = 1 | x) − log P (y = 0 | x)
が以下のように表されることを示せh(x) = log P (x | y = 1) − log P (x | y = 0) + log P (y = 1) − log P (y = 0)
演習問題3(つづき)
▶ また,クラスごとの入力ベクトルの確率分布が以下のように多変 量正規分布に従うとする.
x | y = 1 ∼ N(µ
1, Σ), x | y = 0 ∼ N (µ
0, Σ).
このとき,対数識別関数