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

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

\[Y=\beta_0+\beta_1 X_1+\ldots +\beta_p X_p+\epsilon\]

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

Subset Reduction

最良の選択

線形のなかで2変数でも、ありうるモデルは\({}_rC_2=p(p-1)/2\)個ある。

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

アルゴリズム

  • \({\mathcal M}_0~\)をNull Model(predictorの入っていないモデル)とする。
  • \(k=1,\ldots,p\)について
    • \(k~\)個のpredictorの入った\(~{}_pC_k~\)個のモデルを推定する。
    • \(~{}_pC_k~\)個のモデルの中から、\(R^2\)かRSSの意味で最良のモデル\({\mathcal M}_k~\)を選ぶ。
  • \({\mathcal M}_0,\ldots~,{\mathcal M}_p~\)から、CV予測誤差、\(C_p\)、AIC、BIC、Adjusted \(R^2\)などを使い最良のモデルを選ぶ。

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

段階選択法

前向き選択

  • \({\mathcal M}_0~\)をNull Model(predictorの入っていないモデル)とする。
  • \(k=0,\ldots,p-1\)について
    • \({\mathcal M}_k\)に入っていないpredictorを考える。
    • \(p-k\)個の変数のうち\(R^2\)やRSSの意味で最良のものを加えたモデルを\({\mathcal M}_{k+1}\)とする。
  • \({\mathcal M}_0,\ldots~,{\mathcal M}_p~\)から、CV予測誤差、\(C_p\)、AIC、BIC、Adjusted \(R^2\)などを使い最良のモデルを選ぶ。

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

後ろ向き選択

  • \({\mathcal M}_p~\)をFull Model(predictorのすべて入ったモデル)とする。
  • \(k=p,\ldots,1\)について
    • \({\mathcal M}_k\)から1つのpredictorを除いたすべてのモデル考える。
    • \(k\)個の変数のうち1つのpredictorを除いたモデルのうち、\(R^2\)やRSSの意味で最良のモデルを\({\mathcal M}_{k-1}\)とする。
  • \({\mathcal M}_0,\ldots~,{\mathcal M}_p~\)から、CV予測誤差、\(C_p\)、AIC、BIC、Adjusted \(R^2\)などを使い最良のモデルを選ぶ。

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

混合選択法

forwardのあとにbackward

最適なモデル選択

Training error vs Test error

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

\(C_p\), AIC, BIC, and Adjusted \(R^2\)

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

\(d~\)個のpredictorを含むLeast Squaresに対して

\[C_p=\frac{1}{n}(RSS+2d\hat{\sigma}^2)\]

\(C_p\)はtest MSEの不偏推定量である。

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

\[AIC=\frac{1}{n}(RSS+2d\hat{\sigma}^2)\]

となり\(C_p\)と一致する。

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

\[BIC=\frac{1}{n}(RSS+\log(n)d\hat{\sigma}^2)\]

\(R^2\)の自由度の修正という観点からadjusted \(R^2\)も用いられる。

\[\text{Adjusted}~R^2=1-\frac{RSS/(n-d-1)} {TSS/(n-1)}\]

クロスバリデーション

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

縮小法

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

リッジ回帰

線形回帰のRSSは

\[\text{RSS}=\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p \beta_j x_{ij}\right)^2\]

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

\[\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p \beta_j x_{ij}\right)^2+\lambda\sum_{j=1}^p \beta_j^2=\text{RSS}+\lambda\sum_{j=1}^p \beta_j^2\]

\(\lambda\sum_{j=1}^p \beta_j^2\)をshrinkage penaltyという。\(\lambda\)はチューニングパラメタである。

\[\min_{\beta}\left\{\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_j x_{ij}\right)^2\right\}~~s.t. ~~\sum_{j=1}^p \beta_j^2\leq s\]

Lasso

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

\[\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p \beta_j x_{ij}\right)^2+\lambda\sum_{j=1}^p |\beta_j|=\text{RSS}+\lambda\sum_{j=1}^p |\beta_j|\]

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

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

\[\min_{\beta}\left\{\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_j x_{ij}\right)^2\right\}~~s.t. ~~\sum_{j=1}^p|\beta_j|\leq s\]

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

Lassoの変数選択

Lassoとリッジ回帰の比較

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

\(n=p\)

\({\mathbf X}=diag(p)\)

Regression without intercept

とすると回帰は \[\sum_{j=1}^p(y_j-\beta_j)^2\] に簡単化される。最小2乗推定量は \[\hat{\beta}_j=y_j\] である。RidgeとLassoではそれぞれ目的関数 \[\sum_{j=1}^p(y_j-\beta_j)^2+\lambda\sum_{j=1}^p\beta_j^2\] \[\sum_{j=1}^p(y_j-\beta_j)^2+\lambda\sum_{j=1}^p|\beta_j|\] を考えればよく。その結果推定量は以下の表現を得る。 \[\hat{\beta}_j^R=y_j/(1+\lambda)\] \[\hat{\beta}_j^L=\left\{\begin{array}{ll} y_j-\lambda/2&\text{if }y_j\gt\lambda/2\\ y_j+\lambda/2&\text{if }y_j\lt-\lambda/2\\ 0&\text{if }|y_j|\leq\lambda/2 \end{array} \right.\]

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

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

Cross Validationによる例?

次元を下げる方法

ここまで考えてきたdimension reduction

  • predictorの部分集合を使う
  • predictorの係数を0に近づける
ここでは、predictorを変形する方法を紹介する。 \[Z_m=\sum_{j=1}^p \phi_{jm}X_j\]
  • \(X_1,\ldots,X_p\)はpredictor
  • \(M\lt p\)
  • \(\phi_{1m},\ldots,\phi_{pm}~(m=1,\ldots,M)\)はパラメタ
\(y_i\)を\(Z_m\)に回帰すると以下のような表記になる。 \[y_i=\theta_0+\sum_{m=1}^M\theta_m z_{im}+\epsilon_i,~~~~i=1,\ldots,n,\] このモデルでは説明変数の数が\(X\)の\(p\)と比較して\(M\)に減少している。
\(Z_m\)を決定するパラメタをうまく選べば、単なる\(X\)による回帰と比較して\(Z\)による回帰は良い結果をもたらすかもしれない。
\(Z\)の定義に注意して線形部分を書き直し、\(X\)の係数を\(\beta\)と書けば、以下のような表現になる。 \[\sum_{m=1}^M\theta_m z_{im}=\sum_{m=1}^M\theta_m\sum_{j=1}^p\phi_{jm}x_{ij} =\sum_{j=1}^p\sum_{m=1}^M\theta_m\phi_{jm}x_{ij}=\sum_{j=1}^p\beta_jx_{ij}\] \[\beta_j=\sum_{m=1}^M \theta_m \phi_{jm}\] この\(\beta\)の表現は、
  • \(\beta\)の取りうる値に制約をかけるので、バイアスの原因となる
  • 一方説明変数の数を少なくすることで分散を小さくする。
このアイデアを実装するモデルとしてPrincipal Component RegressionとPartial Least Squaresを紹介する。

主成分回帰

\(X_1,X_2\)の2変数の場合について\(Z_m\)の作り方を説明 \[\phi_{11}^2+\phi_{21}^2=1\] という制約の下で \[Z_1=\sum_{j=1}^2 \phi_{j1}X_j\] の分散を最大にするよう\(\phi_{11},\phi_{21}\)を決定する。
\(Z_2\)は\(Z_1\)と相関せず、かつ分散が最大になるように\(\phi_{12},\phi_{22}\)を決定することで定める。
\(X\)の個数分まで、この操作は続けられる。
決定された\(\phi_{11}.\ldots,\phi_{PM}\)により\(Z_m\)を作り、OLS推定に利用する。
\(M\)の決定にはしばしばクロスバリデーションが用いられる。

部分的最小2乗法

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

高次元での問題について

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です