Processing math: 100%
線形モデル選択と正則化(機械学習)

線形モデル選択と正則化(機械学習)

Y=β0+β1X1++βpXp+ϵ

  • 予測の正確性
    • 真のモデルが線形ならば、線形モデルのバイアスは小さい。
    • サンプルサイズが説明編して比較して大きければ、線形モデルは分散が小さい。
  • モデルの解釈
    • 関係ない説明変数がモデルに入ると解釈が複雑になる。
    • 線形の場合にはそのような変数を特定するのが簡単になる。
      • Subset Selection
      • Shrinkage
      • Dimension Reduction

Subset Reduction

最良の選択

線形のなかで2変数でも、ありうるモデルはrC2=p(p1)/2個ある。

すべての変数を考えると2p個のモデルがある。

アルゴリズム

  • M0 をNull Model(predictorの入っていないモデル)とする。
  • k=1,,pについて
    • k 個のpredictorの入った pCk 個のモデルを推定する。
    •  pCk 個のモデルの中から、R2かRSSの意味で最良のモデルMk を選ぶ。
  • M0, ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。

説明変数の数が同じ中での比較では、自由度修正は必要ないが、説明変数の数が異なるモデルの比較には修正が必要なため、上記の手順になる。

段階選択法

前向き選択

  • M0 をNull Model(predictorの入っていないモデル)とする。
  • k=0,,p1について
    • Mkに入っていないpredictorを考える。
    • pk個の変数のうちR2やRSSの意味で最良のものを加えたモデルをMk+1とする。
  • M0, ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。

総当たりならば2p個のモデルの比較が必要だが、この手続きにより1+p(p+1)/2個のモデルの比較で十分になる。

後ろ向き選択

  • Mp をFull Model(predictorのすべて入ったモデル)とする。
  • k=p,,1について
    • Mkから1つのpredictorを除いたすべてのモデル考える。
    • k個の変数のうち1つのpredictorを除いたモデルのうち、R2やRSSの意味で最良のモデルをMk1とする。
  • M0, ,Mp から、CV予測誤差、Cp、AIC、BIC、Adjusted R2などを使い最良のモデルを選ぶ。

総当たりならば2p個のモデルの比較が必要だが、この手続きにより1+p(p+1)/2個のモデルの比較で十分になる。

混合選択法

forwardのあとにbackward

最適なモデル選択

Training error vs Test error

Test errorの意味で良いモデルを選びたい。

Cp, AIC, BIC, and Adjusted R2

MSEとRSSは関係しており、Least Squaresはtraining set RSSを小さくするので、training MSEはtest errorの過小推定になっており使えない。そこで、test errorの一致なり不偏推定量なりになるようにadjustしたもので評価しようという考えに至る。

d 個のpredictorを含むLeast Squaresに対して

Cp=1n(RSS+2dˆσ2)

Cpはtest MSEの不偏推定量である。

最尤推定量に適用できる基準にAICがある。d 個のpredictorを含むgaussian Linear MLEに対してAICは

AIC=1n(RSS+2dˆσ2)

となりCpと一致する。

ベイズ統計の観点からの評価指標としてBICがある。

BIC=1n(RSS+log(n)dˆσ2)

R2の自由度の修正という観点からadjusted R2も用いられる。

Adjusted R2=1RSS/(nd1)TSS/(n1)

クロスバリデーション

AICやBICなどは計算が簡単だが、そのための仮定も入っている。その意味で、Cross Validationはより好ましい。以前は計算機の能力の問題が顕著だったが、近年ではそれも和らいできている。

縮小法

目的関数に正則化項を加えることで、変数選択を行う方法を紹介する。

リッジ回帰

線形回帰のRSSは

RSS=ni=1(yiβ0pj=1βjxij)2

Ridge回帰ではこれにβの2乗に比例するペナルティ項を付け加えて評価を行う。

ni=1(yiβ0pj=1βjxij)2+λpj=1β2j=RSS+λpj=1β2j

λpj=1β2jをshrinkage penaltyという。λはチューニングパラメタである。

minβ{ni=1(yiβ0pj=1βjxij)2}  s.t.  pj=1β2js

Lasso

LassoではRSSにβの絶対値に比例するペナルティ項を付け加えて評価を行う。λはチューニングパラメタである。

ni=1(yiβ0pj=1βjxij)2+λpj=1|βj|=RSS+λpj=1|βj|

LassoはRidgeと比較してペナルティによってβ0になりやすい(後述)ので、変数選択や解釈が簡単になる。

これらは制約付き最小化問題としての解釈が出来る。

minβ{ni=1(yiβ0pj=1βjxij)2}  s.t.  pj=1|βj|s

制約付き最小化問題の比較がFig.6.7であり、Lassoのほうが0が容易に得られることがわかる。Fig.6.7はRidgeが有利なDGPである。

Lassoの変数選択

Lassoとリッジ回帰の比較

Ridge回帰とLassoの関係を示すシンプルな例

n=p

X=diag(p)

Regression without intercept

とすると回帰は pj=1(yjβj)2 に簡単化される。最小2乗推定量は ˆβj=yj である。RidgeとLassoではそれぞれ目的関数 pj=1(yjβj)2+λpj=1β2j pj=1(yjβj)2+λpj=1|βj| を考えればよく。その結果推定量は以下の表現を得る。 ˆβRj=yj/(1+λ) ˆβLj={yjλ/2if yj>λ/2yj+λ/2if yj<λ/20if |yj|λ/2

Ridge回帰とLassoのベイズ的解釈

チューニングパラメーターの選択

Cross Validationによる例?

次元を下げる方法

ここまで考えてきたdimension reduction

  • predictorの部分集合を使う
  • predictorの係数を0に近づける
ここでは、predictorを変形する方法を紹介する。 Zm=pj=1ϕjmXj
  • X1,,Xpはpredictor
  • M<p
  • ϕ1m,,ϕpm (m=1,,M)はパラメタ
yiZmに回帰すると以下のような表記になる。 yi=θ0+Mm=1θmzim+ϵi,    i=1,,n, このモデルでは説明変数の数がXpと比較してMに減少している。
Zmを決定するパラメタをうまく選べば、単なるXによる回帰と比較してZによる回帰は良い結果をもたらすかもしれない。
Zの定義に注意して線形部分を書き直し、Xの係数をβと書けば、以下のような表現になる。 Mm=1θmzim=Mm=1θmpj=1ϕjmxij=pj=1Mm=1θmϕjmxij=pj=1βjxij βj=Mm=1θmϕjm このβの表現は、
  • βの取りうる値に制約をかけるので、バイアスの原因となる
  • 一方説明変数の数を少なくすることで分散を小さくする。
このアイデアを実装するモデルとしてPrincipal Component RegressionとPartial Least Squaresを紹介する。

主成分回帰

X1,X2の2変数の場合についてZmの作り方を説明 ϕ211+ϕ221=1 という制約の下で Z1=2j=1ϕj1Xj の分散を最大にするようϕ11,ϕ21を決定する。
Z2Z1と相関せず、かつ分散が最大になるようにϕ12,ϕ22を決定することで定める。
Xの個数分まで、この操作は続けられる。
決定されたϕ11.,ϕPMによりZmを作り、OLS推定に利用する。
Mの決定にはしばしばクロスバリデーションが用いられる。

部分的最小2乗法

  • Principal Components Regressionでは、Xの共分散構造のみからZを決定した
  • Xの共分散構造のみからZを決定したので「教師」入力がいらない
  • 決定にYの情報が入っていないので、Yの予測の観点では最良の決定方法にはなっていない
手順
  • Xj(j=1,,p)を標準化
  • YXjに単回帰しその組み合わせとしてZ1=pj=1ϕj1Xjϕj1を決定する
  • XjZ1に回帰し残差を得る。
  • Yをこれらの残差に回帰しその組み合わせとしてZ2=pj=1ϕj2Xjϕj2を決定する
  • この手順を繰り返す

高次元での問題について

コメントは受け付けていません。