7. 線形回帰
6
sample
• 例えば右図のようなサンプル(x,y) 4
の集合が与えられたとき,未知の 2
xに対してyを予測したい
0
y
• y=f(x)となるfを推定する -2
•
-4
最も簡単なのはいわゆる一次近似
-6
-3 -2 -1 0 1 2 3
x
y (i) ≈ w0 + w1 x(i) (9)
N
, w1 ) = {y (i)
− w0 + w1 x (i) 2
} (10)
i
8. (1) (1)
BD(Pstate , Pstate )
(1)
(2)
一次の線形回帰の解 (8)
BD(Pstate , Pstate )
.
.
.
(i) (1) (N ) (i)
近似式: y state0 Pstate ) w0 + w1 x
BD(P ≈ w , + y 1 x
(i)
w ≈ (i)
(9) (9)
N N
二乗誤差: yi ≈{y (i)+= 1 x{y(i) −x(i)0 +2w1 x(i) }2
R(w , w ) = R(w0 , w1 ) w w i+ w w }
w0
−
(9)
(10) (10)
0 1 0 1
i
i
R(w0 , w1 ) = {yi −ˆ(wˆ1 ) =w1 xi )}R(w0 , w1 )
(w0 , w + argmin (10)
2
(11)
ti−1 ) 二乗誤差を最小にするwを求める 0
(w0 , wi1 ) = argmin R(w0 , ,w 1))
ˆ ˆ (w w 0 1 (11)
(w0 ,w1 )
(12)
(w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ (11)
(12)
(w0 ,w1 )
(12)
9. ∂R
=0
∂wk
一次の線形回帰の解:解法 wk =wk
ˆ
N
∂R
= −2{y (i) − w0 + w1 x(i) }
Rはw0,w1に対して凸関数なので微分
∂w0 i
=
してゼロでおk
N
i
(i) 2 x(i) y (i)
x x(i) w1
i i = i
i x(i) 1 w0 i y (i)
10. 一次の線形回帰:結果
6
sample
f(x)
4
2
0
y
-2
-4
-6
-3 -2 -1 0 1 2 3
x
18. y (i)
≈ w0 + w1 x (i)
(10)
y ≈ w0 + w1 x
(i) (i)
(10)
正則化 }
N
R(w0 , w1 ) = {yN(i)
− 0 1 w +w x (i) 2
(11)
R(w0 , w1 )i = {y − w0 + w1 x
(i) (i)
} (11)
2
Overfitしないようにパラメータに制約を加える
i
(w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ (12)
(w0 , w1(w= argmin R(w0 , w1 )
ˆ ˆ ) 0 ,w1 ) (12)
(w0 ,w1 )
ˆ
w = argmin {y (i) − wT φ(x(i) )}2
ˆ
w= w argmin
i {y − w φ(x )}
(i) T (i) 2
w
i
ˆ
w = argmin {y (i)
− w φ(x )} + λw w
T
(i) 2 T
ˆ w
w = argmin
i
(i)
{y T
− w φ(x )} + λw w
(i) 2 T
w
i
ˆ
w = argmin R(w) (13)
ˆ w
w = argmin R(w) (13)
w
ˆ
w = argmin R(w) + λw w (14) T
ˆ
w= w argmin R(w) + λw T w (14)
19. w
R(w0 , w1 ) = {y (w0 ,w0 )+ w1 x R(w0(11)
(i)
−ˆ w1 = T
ˆ argmin } , w1 ) (i) 2
(12)
ˆ= i
w T argmin R(w) + λw (w0 ,w1 ) (15)
w
ˆ
w = argmin R(w) + λw w w 演習 (15)
w
(ˆˆ, w ) ˆ argmin R(w w w
w = argmin 0 {y,(i) 1 ) wT(16) (i) )}2
(w00 ,wˆ1) = argmin R(w ,0 1 ) −
w ˆ1 φ(x(12) (13)
ˆ ˆ 2次正則化付き線形回帰の最適解
w0 , w1 ) = argmin R(w0 , w1 ) i (w(16)
0
w
(w0 ,w11 )
,w )
(w0 ,w1 )
T (1) (1) T (1)
(1)
T ˆ (1) T
w = argmin
φ
(2) w {y − w φ(x )}
φ1
(1)
(i) φˆ = argminφM
w2 ··· (i) R(w)
2 (14)
(1) (2)
)
φ1 以下で表される解を求めよ
φ φ ··
2 · φM
φ1
i
(2) (2)
φ2 w
· · · φM
T (2) = (2) . = (2) .
Φ · φ .
) φ1 φ2 . · M. ˆ
. · . w = argmin.R(w) . λwT w
. . .
+
. (i) . 2 . (15)
= . (i) T
. (N ) T. . {y φ− φ(N w · )} +(N ) T w
. (N )w φ(x · · φ λw
ˆ
w = argmin
. . .1 2 )
. .
φ
w . . M
(N ) w0 , w1 )
(ˆ ˆ = argmin R(w0 , w1 ) (16)
i
N )T (N )
φ1
(N )
φ2 ··· φ
φ = φ(x(i) )
(i) M (w0 ,w1 )
(17)
(1) ˆ argmin
w = (1) (1)
(1) T R(w) (1) (13) (1)
y φwy φ1 φ2 · · · φM
y (2) (2) (2)
(2) T φ (2) (2)
φ y
1 φ2 · · · φM
y = . w = Φ = . . + λwT w
y R(w) = .
= (17)
ˆ argmin . . (18) .
. (14) .
. . w . . . . .
. .
. .
.
y (N )
φ y (N )
(N ) T (N )
φ1
(N )
φ2
(N )
· · · φM
(w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ (15)
2
2 (w0 ,wx)
1 (i) 2
(i) x(i)
20. φ (i) 演習 (i) )
= φ(x
2次正則化付き線形回帰の最適解
Φ Φw = Φ y
T T
(Φ Φ + λI)w = Φ y
T T
(1)
y
λを大きくしてゆくとwは0に近づく
y (2)
y= .
.
.
21. 正則化の効果
λ=0 λ=0.0001
6 6
sample sample
f(x) f(x)
4 4
2 2
0 0
y
y
-2 -2
-4 -4
-6 -6
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
λ=0.05 λ=1.0
6 6
sample sample
f(x) f(x)
4 4
2 2
0 0
y
y
-2 -2
-4 -4
-6 -6
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
22. φ(i)
= φ(x )
(i)
(16)
Φ Φw = Φ y
T T
(17)
リプレゼンター定理
(Φ Φ + λI)w = Φ y
T T
(18)
二次正則化付き誤差最小化問題において,損失関数
が w T φ(i) の関数で表されるとき,その解 w は
ˆ
線形包 span{φ , · · · , φ } に存在する.
(1)
,φ (2) (N )
(1)
y
• y (2)
カーネル法を理解するのに最も重要な定理
y= . (19)
• .
ていうかこれが分かってればおk .
(N )
y
• 証明は案外簡単
2
(i)
23. i
ˆ
w = argmin {y (i)
φ(x ≈)} 0 + w1 x
−w y T (i) (i)
w + λw 2 T
w(i)
リプレゼンター定理:証明
w
i
N
ˆ
w = argmin , w ) =w φ{y) + − w + w x(
R(w0 1L(y , (i)
(i) λw w T (i) T
w 0 1
i
i
ˆ
w = argmin R(w)
Φで張られる空間に存在する= (14)
w (w0 , w1 ) = argmin R(w0 , w1
ˆ ˆ
全てのΦに直交する成分を持たない 0 ,w1 ) (w
ˆ
w = argmin R(w) + λw w
T
(15)
w
こう書けば,ξが0であ ˆ
w= αi φ + ξ
(i)
(w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ
ることはほぼ自明 (16)
(w0 ,w1 ) i
ξは第二項を増大させる一方で第一項に無影響
T (1)
φ(1) ˆ φ argmin ·{y φM w φ(x
w =1 (1)
φ2 ··
(i) (1) T
− (
24. (w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ (
リプレゼンター定理
(w ,w ) 0 1
ˆ
w= αi φ (i)
+ξ (
i
実は,特徴ベクトルΦの次元に関わらず,そ 2
ˆ
w = argmin {y − w φ(x )}
(i) T (i)
の自由度はサンプル数Nしかない
w
i
最適化問題を解く時,wについて解いてもい
ˆ
w = argmin
(i) T (i) 2
{y − w φ(x )} + λw w T
いし,αについて解いてもいい
w
i
25. (w0 , w(w) ,w1 )argminR(w00,,w11 )
ˆ ˆ1 =
ˆ ˆ
(w0 , w1 )0 = argmin R(w w ) (12)
(12)
(w0 ,w1 )
(w0 ,w1 )
ˆ
w= αi φ(i) +(i) , (j) T (i)
(13) (j) T
ˆ
α= argmin L(y ξ αj φ φ )+λ αj φ φ(xφ
α ˆ
w=
i
カーネル関数
i j
i
α φ(i) + ξ
αiiφ(i) + ξ (13)
(13)
j
(i) i
ˆ
w = argmin
w
{y − wT φ(x(i) )}2 (14) y
i
ˆ
w = argmin
ˆ
w (i)
− wT φ(x(i) )}2
{y(i) − wT φ(x(i))}T
{y (i) 2
(i)
k(x ,iiT
w x (j)
) = φ(xT ) φ(x (j)
) (15)
ˆ
w = argmin {y(i)
− w φ(x )} + λw w(i) 2
w
i
ˆˆ
w = argmin
w = argmin {y (i) − wT φ(x(i) )}22+ λwTT w
(i)
− wT φ(x(i) )} T λw w
+ (i)
ˆ ˆ w
w= w
w = argmin argminwT φ(i) ) + λwT w φ ) + λw w
L(y (i) ,
i
L(y , w (i) T
w w
i i
ˆ
w = argmin R(w) (14)
(j) T (i)
T (i) (j) TT
ˆ
ˆ = argmin
α = argmin
(i)
ˆ αjjφ (j) φ )+λ
φ )+λ φ(i)
α
α
α
L(y (i),,
L(y w
w
= argmin R(w)
α φ αj φ (j)
αj φ (16)
ααi φ(i)
i
i j jj ii
i T w j
ˆ
w = argmin R(w) + λw w (15)
w
ˆ
ˆ = argmin
α
α = argmin L(y (i) ,,
L(y (i) αjjk(x(i) ,,x(j) ))+λαTT Kα
α k(x x ))+λα Kα
(i) (j)
ˆ
ˆ0 ˆ iw = argmin R(w)(16) λw w
(wα, w1 ) = argmin R(w0 , w1 )
α
i (w ,w ) jj + T
(17)
0 1
w
T (i) (1) (i) T
φ(1) k(x(i) , φ1 ) = φ(x · ·)· φ(x (j) )
(1) ) (14)
(j) (1) (i) T (j)
k(x , x(j) ) = φ(x ) φ(x
x φ2 φM (14)
26. (w0 ,w1 ) 0 1 0 1 j
w0 , w1 ) = argmin R(w0w0 , w1) = argmin R(w0 , w1 )
ˆ ˆ ( ,ˆw1 )
ˆ i (12) j αi
(12)
ˆ
(w0= 1 ) αi φ
w ,w (i)
+ (ξˆ0 , w1 ) = argmin 1 ) 0 , w1 )
w ˆ (13)
(w0 ,w R(w (12)
カーネル関数による書き換え, x
ˆ
α = argmin
ˆ
α =
w
L(y ,
α φ +ξ
i
αj k(x
(13)
(w0 ,w1 )
(i)
(i) (i) (j)
))
ˆ
w = argmin {y (i)
− w φ(x )}
T ˆ
w=2
(i) i
i(i)
i αi φ (13)
+ξ j (13) 二次正則化
w
i i が w T φ(i)
ˆ {y ≈ 2 線形包
w = argmin y (i)(i) −TwT φ(x(i) )}(i) , x(j) ) spa
(i)ˆ = argmin {y(i) − w φ(xαj)}2 (i) k(x
ˆ = argmin w{y φ(x T φ(x(i) )}2 + λwT w (14)
−w )
(i) T (i) 二次
w y ≈ w w
w
i
i
j
がw
w
i
ˆw =argmin {y (i) −− wT φ(x(i) )}λwTλwT w
=
w ˆ argmin {y w φ(x )} + + w
(i) 2
(15) 線形
T (i) 2
ˆ
w = argmin L(y (i) , wT φ(i) ) +iλwT w
w (i) T
w
i
w
i (i) (j)
k(x , x (j)
) = φ(x ) φ(x )
ˆ
w = argmin R(w)
ˆ
w
ˆ w argmin
=
ˆ
α w = argmin ={y
{y
(14)
argmin
(i)
(i)
−−
(16)(j)x(j) )}2TKαT Kα λw
(i) (i) (i) , w T φ(i) ) +
k(x L(y
αiα k(x x , )}2 +λα+λα
,
i
αw wj j
ii
i
ˆ
w = argmin R(w) + λw w(1)
T
(15) (17) · · (j) k(x(1), x(N ))
k(x(i) , x(j)x(1) )exp(−β x(2)argmin ) (2) (14) , x(2) )
(1) (1)
k(x , ) = k(x (i) · 2
ˆ
w = −x
w
R(w)
k(x(2) , x ) k(x(2) , x ) · · · k(x , x(N ) )
ˆ ˆ K=
(w0 , w1 ) = argmin R(w0 , .w1 ) (16). w .
φ(x) = {a
. exp(−b(x − z)2 )|z .∈. R}
. .
. . . (15)
.
(w0 ,w1 )
k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · · )
k(x(N ) , x(N )T
T ˆ = argmin R(w) +2λw w
w(1)
(1)
φ exp(−βφx(i) −x ·
φ1
(1) (1)
2 ··
(j) 2
)=
φM
(i)
a exp(−b(x −z) )a T
wT exp(−b(x
(i) (j) (i) (j) (i
27. i j j
ˆ
α = argmin (i)
L(y , (i)
αj k(x , x (j)
))+λα Kα T
α カーネル回帰
i j
y (i)
≈ (i)
αj k(x , x (j)
) (14)
j
(i) T
• k(x , x ) = φ(x ) φ(x )
(i) (j)
もはや学習も回帰も全てαとカーネル関数kで (15) (j)
行われる
ˆ
w = argmin
L(y , w φ ) + λw w (i) T (i) T
•
w
パラメータ数=サンプル数
i
ˆ
w = argmin R(w) (16)
• Φの次元数をいくら増やしても動く
w
ˆ
w = argmin R(w) + λwT w (17)
w
28. (j) T (j) T
ˆ
α = argmin L(y ,(i)
αj φ φ )+λ
(i)
αj φ
α カーネルトリック
i j j
(14)
(i) T
(i)
k(x , x (j)
) = φ(x ) φ(x (j)
) (15)
•w特徴ベクトルΦを用いてカーネル関数kを定義
ˆ = argmin
w
L(y , w φ ) + λw w
(i) T (i) T
i
したが,もはやΦは出てこない
• ˆ
w = argmin R(w)
特徴ベクトルΦとはなんだったのか?
w
(16)
• 特徴ベクトルΦなんてなかった.
ˆ
w = argmin R(w) + λw w T
(17)
• カーネル関数の値だけ定義すればいい
w
29. i
無限次元のカーネルトリック
ˆ
w = argmin {y − (i)
αi k(x , x (i) (j)
)} +λα Kα
2 T
w (シュタゲのサブタイトルっぽい)
i j
(i)
k(x , x (j)
) = exp(−β x (i)
−x (j)
) (14)
k(xガウスカーネル (2) )
(1)
, x(1) ) k(x(1) , x ··· k(x(1) , x(N ) )
k(x(2) , x(1) ) k(x(2) , x(2) ) ··· (N )
k(x , x )
(2)
•
最もよく使われるカーネル .
K=
.
.
. .
.
..
.
.
.
.
• k(x , x ) k(x , x ) · · · k(x ,
(N )
実は無限次元の特徴ベクトルΦを用いていること x
(1) (N ) (2) (N ) (N )
)
と等価 (j) T (j) T
ˆ
α = argmin L(y , (i)
αj φ φ )+λ
(i)
αj φ
•
α
Φが無限次元だろうがなんだろうがパラメータ数
i j j i
=サンプル数だから高々有限(正しい使い方) Kα
ˆ
α = argmin (i)
L(y , αj k(x , x ))+λα
(i) (j) T
α
i j
30. w i
i w
i
が w T φ(i) の関数で
ˆ
w = argmin {y (i) − wT φ(x(i) )}2 + λwT w
線形包 span{φ(1) , φ
w
i
ガウスカーネルk(x
ˆ
ˆ
w = argmin
w = argmin
{y −
{y −
w
α
α k(x
(i)
(i) i
i
(i)
)} +λα T
(j) 2
(i), x (j) 2
,x )} +λα
T
w i j
i j T
ˆ
w = argmin {y −(i)
αi k(x , x(j) )}2 +λα Kα
(i)
y
カーネル関数
i
w k(x(i) , x(j) )
j (i) = exp(−β (i)
x(i) − x(j) )
(j)
(14
k(x , x (j)
) = exp(−β x )
−x 2
(14
(i) (1) (j) 2
k(x , x ) = exp(−β k(x − , x(1) )) k(x(1) , x(2) ) · · · k(x(1
(i) (j)
x x (14) 2
特徴ベクトル φ(x) =(2) exp(−b(x − z) (2) ∈ R}
k(x {ax(1) ) k(x(2) , x)|z) · · · k(x(2 (15
,
φ(x) = {a exp(−b(x − z) )|z ∈ R}
K=
2
(15)
. . .. φ(x (
(i) . (j) 2. .
. . −z)2 )a
exp(−β x −x (i) ) =2 a exp(−b(x 2 (i)
exp(−β x −x(i) (j) 2
) = a exp(−b(x ) k(x(N ) , x(2) ) · · · k(x(N
(N )
k(x , x (1) −z) )a exp(−b(x(j) −z) )dz
(16
y (i
(1) (1) , x(1) ) (i) k(x(1) , x(2) ) (i) · · (
k(x , x )ˆ = argmin ) L(y ,k(x α, x (j)) φ ·)+λ k(x
(1) (1)
k(xk(xx (2)
α (2) , (2) (1)· · · (1) (N ) T
K=
•
k(x , x ) k(xk(xx ,) · ·) k(x , x ) ) · · ·
関数=連続な特徴ベクトル,とみなせる.
(2) (1)
. K = .
α,
(2) x
i
· k(xj
(2) φ (2)
j (N )
(2) , x
k(x
j
α(
x j
. . .. .. .
. . . . . ..
.. ..
• 内積は和ではなく積分
ˆ
.
k(x(N ) , x(1)α = argmin(2) )xL(y (i) k(x(N ) ,)xx(2) ) x(j) ))+λαT K
) k(xk(x(N ) , (1) ) ,
(N )
,x · · · k(x(Nj k(x) ) , · · · k(x(
α , (N (i)
α
i j
31. argmin {y − w φ(x )} + λw w
w
i
ˆ
w = argmin
gmin (i) いいから実際に解いてみる
L(y ,
w α φ φ )+λ
i
α φ αφ
{y (i)(j) T
j
−
j
αi k(x(i) , x(j) )}2 +λαT Kα
(i) (j) T (i)
j i
α
i j j i φ(
gmin k(xL(y x, ) = k(x , x x − x
αj exp(−β ))+λα Kα ) (14)
(i) (i) (j) (i) T (j)
, (i) (j)
α
i j
6 y
) k(x , x ) · · ·
k(x , x (i) (j) (1) (1) (1) (2)
k(x , x ) (1) (N ) sample
y (i) ≈ (2)αj k(x , x ) (2) (2)
k(x , x(1) ) k(x , x (14) · · · ) k(x(2) , x(N ) )
4
K= j
. . ..
2
.
.
. .
. . .
.
T 0
k(x(i) , x(j)(N ) φ(x(i) ) φ(x(j) ) ) (2)
) = (1) (15) y
k(x , x ) k(x , x ) · · ·
(N
-2
k(x(N ) , x(N ) )
= argmin L(y (i) , wT φ(i) ) + λwT w -4
(j) T (j) T
ˆ
α = argmin
w
i L(y , (i)
αj φ -6
φ )+λ(i)
αj φ αi φ(i)
α -3 -2 -1 0 1 2 3
w = argmin R(w) j
ˆ i (16) j i
x
w
ˆ w = argmin L(y (i) ,
α =ˆargmin R(w) + λwT wαj k(x(17)x(j) ))+λαT Kα
(i)
,
α w
i j
32. カーネル回帰の結果
λ=0 λ=0.0000001
6 6
sample sample
f(x) f(x)
4 4
2 2
0 0
y
y
-2 -2
-4 -4
-6 -6
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
λ=0.0001 λ=1.0
6 6
sample sample
f(x) f(x)
4 4
2 2
0 0
y
y
-2 -2
-4 -4
-6 -6
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
33. ˆ
w=
ˆ
w= αi φ(i) +
αi φ(i) + ξξ (13)
(13) 二次正則化
ii が w T φ(i)
演習:カーネル回帰の解
ˆ = argmin {y − w φ(x )}
w = argmin
ˆ {y − w φ(x )}
(i)
(i)
T
T
(i) 2
(i) 2
線形包 spa
w w
i
二次正則化付
w
i
が w T φ(i) の
ˆ
w = argmin {y (i) − wTT (i) )}2 2 λwT w
φ(x (i) +
ˆ argmin i {y (i) − w φ(x )} + λw
w = 以下で表される解を求めよ T w
w 線形包 span{
w
i
ˆ
α = argmin {y −(i)
αi k(x , x )} +λα Kα
(i) (j) 2 T
α
ˆ
w = argmin i {y (i) − j αi k(x(i) , x(j) )}2 +λαT Kα
w
i j
k(x , x ) = exp(−β x(i) − x(j) 2 )
(i) (j)
(14)
φ(x) = {a exp(−b(x − z), x ∈ R} · · k(x , x )
k(x , x ) k(x )|z ) ·
(1) (1) (1) 2 (2) (1) (N )
(15)
k(x(2) , x(1) ) k(x(2) , x(2) ) · · · k(x(2) , x(N ) )
K = (i) . (j) 2 . .
.−z)2 )a exp(−b(x(j) 2 )d
exp(−β x −x
.
. .
) = a exp(−b(x .
.
(i) . .
.
−z)
k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · · k(x(N ) , x(N )
)
k(x(1) , x(1) ) k(x(1) , x(2) ) · · · k(x(1) , x(N ) )
(2) (1) (2) (2) T (2) (N ) T
34. φ(x ) = x(i)
(i)
(25
1
b(x (j)
演習:カーネル回帰の解
−z) )dz
2
これもαに関する凸関数なのでy (i)
≈ w φ(x )
T (i)
(26
)
)
) 微分して0でおk → φ(x(i) )
(i)
(27
) x
(K + λI)α = y (28
N)
)
(29
T (i)
αi φ
i
(30
35. 多項式カーネル
(i) T
(i)
k(x , x (j)
) = (x (j)
x + c)
p
(29)
(30)
(31)
• 離散特徴で非常によく使われる
(32)
• 連続特徴でも使えて,多項式特徴ベクトルを
使っていることに相当 (33)
(34)
43. 回帰問題としての定式化
y (i)
≈w x T (i)
(30
• 識別問題は回帰問題の一種として定式化でき
ˆ
る w = argmin {y (i)
− w x } + λw w
T (i) 2 T
w
i
• ⃝を+1, Xを-1として目的変数とする
(i) T
(i) (j)
) = (x (j)
+ c)
p
(31
• k(x , x
あとは単純に回帰 x
y (i)
≈w x T (i)
y (i)
∈ {−1, +1}
(30) (32
y (i)
≈w x T (i)
(30)
argmin {y (i)
− w x (i) + T (i) w
T
} (i) 2
λw 2 T
ˆ
w = argmin {y − w x } + λwT w
w
ik(x, y)
w = i(x1 y1 + x2 y2 + c) 2
= T 1 y1
x 2 2
+ 2 2
x2 y2 + c + 2x1 x2 y1 y2 + 2cx2 y
2