スライド 1

第3章
線形回帰モデル
修士1年
山田 孝太郎
内容
1.
2.
3.
4.
5.
線形基底関数モデル
バイアス-バリアンス分解
ベイズ線形回帰
ベイズモデル比較
エビデンス近似
はじめに
 回帰とは?
 D次元の入力ベクトル(観測値)とそれに対応
する訓練データ集合から,新しい観測値に対
応する目標値を予測するもの
 線形回帰モデル
 基底関数の線形結合を回帰式とするもの
1.線形基底関数モデル
 一般形:基底関数の線形結合
M 1
y(x, w)  0  B j j (x)  w  (x).
T
j 1
 基底関数の例
x  ( x1 ,..., xD )
w  (1 ,..., M 1 )
 j (x) : 基底関数
 (x)  (1 ,...,M 1 )
 j ( x)  x 2

 (x   j ) 

 j ( x)  exp
 :ガウス基底関数
2
2
s




 xj
 j ( x)   
 s
1


(
a
)

 1  exp(a)

:シグモイド基底関数
1.1 最尤推定と最少二乗法
 tを関数とガウスノイズの和であらわすと
t  y(x, w)    つまり,tは次の分布に従う
p(t | x, w,  )  N (t | y(x, w),  )
1
 入力と目標値が与えられたときの尤度関数
N
p(t | X, w,  )   N (tn | y(x, w),  1 )
n 1
1.1 最尤推定と最少二乗法
 尤度関数の対数をとって最小化する
N
 ln p(t | w,  )   {t  wT  ( xn )} ( xn )T
n 1
 =0とおいてwについてとくと,
w ML  (T )1 T t
 0 (x1 ) 1 (x1 )

 0 (x 2 ) 1 (x 2 )
ただし 



  (x )  (x )
1
N
 0 N
ムーア・ペンローズの
擬似逆行列
 M 1 (x1 ) 

 M 1 (x 2 ) 




 M 1 (x N ) 
1.2 最小二乗法の幾何学
 幾何学的に考える
  j (x1 ) 
 y ( x1 , w ) 




  j (x 2 ) 
 y (x 2 , w ) 


j  {0,...M  1}で張られる線形部分空 間S上にある.
y 
は j 










 y (x , w ) 

(
x
)
j
N


N


二乗和誤差
{t  wT (xn )}2  (t  y)2
はtとyの「距離の二乗」
最尤推定解wMLを求めることは,
線形部分空間Sにあるベクトルの中で,
最もtと近いベクトルを求めること.
⇒Yはtの線形部分空間Sへの正射影
例)2つのベクトルで張られる線形部分空間
1.4 正則化最小二乗法
 過学習を防ぐため,誤差関数
1 N
ED (w)  {t  wT  (x n )}2
2 n1
に正則化項を加えた
ED (w)  EW (w)
を最小化する.
 正則化項の例
単純形:
一般形:
1 T
w w
2
1 M
q
|
w
|
 j
2 j 1
q=1のときlasso
例)様々なqに対する正則化項の等高線表示
1.4 正則化最小二乗法
1 n
 M
T
2
q
{
t

w

(
x
)}

|
w
|
 n
 j の最小化は
n
2 n1
2 j 1
1 n
T
2
{
t

w

(
x
)}
 n
n
を,制約条件
2 n 1
n
q
|
w
|
 j 
j 1
の下で最小化するのと等価
 例)2次元の場合
2
{t
n 1
n
 w T  (x n )}2
 {t1  w T  (x1 )}2  {t 2  w T  (x 2 )}2
 {t1  (11 (x1 )  22 (x1 ))}2  {t 2  (11 (x 2 )  22 (x 2 ))}2
ω1, ω2 に関する楕円の式
q=2のとき
q=1のとき
※疎な解が得られる
2.バイアス-バリアンス分解
 損失関数の予測値(条件付き期待値)
h(x)  E[t | x]   tp(t | x)dt
 期待二乗損失
E[ L]   { y (x)  h(x)}2 p (x)dx    {h(x)  t}2 p (x, t )dxdt
この項を最小化したいが…データは有限個
 データ集合の取り方を考慮
{ y (x;D )  h(x)}2
 { y (x;D )  ED [y(x;D )]  ED [y(x;D )]  h(x)}2
 { y (x;D )  ED [y(x;D )]}2  {ED [y(x;D )]  h(x)}2
2{ y (x;D )  ED [y(x;D )]}{ED [y(x;D )]  h(x)}
2.バイアス-バリアンス分解
 期待値を取ると
ED [{y(x;D )  h(x)}2 ]
 {ED [y(x;D )]  h(x)}2  ED [{[ y(x;D )]  ED [y(x;D )]}2 ]
(バイアス)2
バリアンス
 バイアス:
回帰関数とすべてのデータ集合の取り方に関する予測
値の平均からのずれ
 バリアンス:
個々のデータ集合に対する解が特定のデータ集合の選
び方に関する期待値の周りでの変動の度合い
2.バイアス-バリアンス分解
 もとの損失関数に戻すと
E[ L]   { y (x)  h(x)}2 p (x)dx    {h(x)  t}2 p (x, t )dxdt
  {ED [y(x;D )]  h( x)}2 dx
  ED [{[ y ( x;D )]  ED [y(x;D )]}2 ] dx
   {h( x)  t}2 p ( x, t ) dxdt
 (バイアス)  バリアンス ノイズ
2
 バイアスとバリアンスをバランスよく小さ
くすることが必要
2.バイアス-バリアンス分解
 例)h( x)  sin(2x)
 サンプル25点からなる100種類のデータ集合
 25個のガウス関数をフィット
バイアス大,バリアンス小
バイアス小,バリアンス大
3.ベイズ線形回帰
 最尤推定
 モデルの複雑さはデータサイズに依存
 正則化項で調整
 過学習の可能性
 ベイズ線形回帰
 パラメータを確率変数として扱う
3.1 パラメータの分布
 尤度関数
N
p(t | X, w,  )   N (tn | wT  (x n ),  1 )
n 1
の指数部分はwの2次関数
⇒事前分布はガウス分布
 事後分布
p(w)  N (w | m0 , S0 )
p(w | t)  N (w | m N , SN )
m N  SN (S01  T t )
S-N1  S01T 
3.1 パラメータの分布
 事前分布を
p(w |  )  N (w | 0, 1I)
 とすると,事後分布は次のように単純になる
p(w | t)  N (w | m N , SN )
m N  S N T t
S-N1  I  T 
3.1 パラメータの分布
 例)線形基底関数モデル y( x, w)  w0  w1 x
関数
f ( x, a)  a0  a1 x (a0  0.3, a1  0.5)
を復元する.
1. 初期値を適当に(復元する関数周辺で)取り出す
2. 初期値から尤度関数を求める
3. 尤度関数と事前分布をかけて,パラメータの事後分
布を求める
4. パラメータの事後分布から適当に取り出し,関数を
推定する.
5. データ点を再度取り出す
6. 2~5を繰り返す
3.1 パラメータの分布
事後分布
尤度関数
事前分布
×
=
×
=
・・・ ×
=
・・・
3.2 予測分布
 予測分布:tを予測したい
p (t | t,  ,  )   p (t | w,  ) p (w | t,  ,  )dw
 結局
ただし p(t | w,  )  N (t | y(x, w),  1 )
p(w | t,  ,  )  N (w | m N , S N )
p(t | x, t, ,  )  N (t | mTN (x), N2 (x))
ただし  ( x) 
2
N
1

  ( x) T S N  ( x)
Wに関する不確かさ
データに含まれる
ノイズ
3.2 予測分布
 例)ガウス基底関数結合モデルの sin(2x) へのあてはめ
N=1
N=2
ガウス予測
分布の平均
N=25
N=4
+-標準偏差
wの事後分布から選んでプロットしたy(x, w)
3.3 等価カーネル
 訓練データの目標値だけから予測する
 線形基底関数モデルに対して
事後分布の平均解を導入 N
y(x, m N )  mTN (x)  (x)T S N T t   (x)T S N ( xn )tn
m N  SN T t n1
S-N1  I  T 
 つまり,訓練データの目標値tnの線形結合
N
y(x, m N ) B k (x, x n )tn
n 1
k (x, x' )  (x)T S N (x' )
平滑化行列または等価カーネル
3.3 等価カーネル
 ガウス基底関数に対するk(x,x’)をプロット
x
⇒xに近いx’を大きく重みづけ
x’
3.4 ベイズモデル比較
 データ集合 D 上のモデル集合 {Mi }(i  1,...,L)
からモデル選択をベイズ的に行う
p(Mi | D)  p(Mi ) p(D | Mi )
 モデルエビデンス
p(D | Mi )
モデルでデータがどれぐらい説明できているか
を表す.
 ベイズ因子
p(D | Mi )
p(D | M j )
3.4 ベイズモデル比較
 モデルエビデンスは確率の加法・乗法定理
により
p(D | Mi )   p(D | w, Mi ) p(w | Mi )dw
となる.
⇒パラメータを事前分布から適当にサンプ
リングしたときにデータ集合 D が生成され
る確率
3.4 ベイズモデル比較
 例)パラメータ1つのモデル
p (D )   p (D | w) p ( w) dw
事後分布:最頻値付近で尖って,幅 wposterior
事前確率:平坦で,幅 wprior
p(D)   p(D | w) p(w)dw  p(D | wMAP )
wposterior
wprior
対数をとると
 w posterior
ln p(D )  ln p(DB| wMAP )  ln B
 w
prior

データへの
フィッティング度
ペナルティ項




3.4 ベイズモデル比較
 3つのモデルの比較.
 複雑さは M1 , M2 , M3 の順で大きくなる
M1:単純なモデル
生成できるデータ集合の
範囲が狭く,データに
フィットできない.
M3:複雑なモデル
得られるデータは広範囲
だが,割り当てられる確
率は低い
3.5 エビデンス近似
 パラメータwの分布を決める超パラメータ
α,βについても事前分布を考える
p (t | t )   p (t | w,  ) p (w | t,  ,  ) p ( ,  | t )dwdd
1
 | mN , SN )
p(t | x, w,  )  N (t | y(x
B, w),  ) p(w | t)  N (w,  , B
m N  S N T t
S-N1  I  T 
p( ,  | t)  p(t |B ,  ) p( ,  )
周辺尤度関数
 周辺尤度関数を最大化することが目標
5.1 エビデンス関数の評価
 周辺尤度関数をwに関する積分で表現
p(t |  ,  )   p(t | w,  ) p (w |  )dw
 これまでの結果より
  
p(t |  ,  )  

 2 
N /2
B 


 2 
M /2
 exp{E(w)}dw


E (w )  ED (w )  EW (w )  || t  w ||  w T w
2
2
1
 E (m N )  (w  m N )T A(w  m N ) ←平方完成
2
2
A  I    T 
E (m N ) 

2
|| t  m N || 
2

2
T
mN mN
5.2 エビデンス関数の最大化
 周辺尤度の対数をとると
M
N
1
N
ln p(t |  ,  ) 
ln   ln B E (m N )  ln | A |  ln( 2 )
2
2
2
2
 これを最大化するα,βの値は


1
T
m N mN
 
i
1
B

 N 
i
  i
iはT の固有値
N
T
2
{
t

m

(
x
)}
 n N N
n 1