Transcript こちら

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