ホーム » 機械学習 » Lassoの進化、Group Lassoとは

Lassoの進化、Group Lassoとは

こんにちは。

Lassoでスパース、スパースと言ってましたが実際はスパース推定という言葉がよく使われます。これについての説明を軽くしてからGroup lassoの紹介をします。

スパース推定とは

スパースは”疎”を意味します。スパース推定とはどのパラメータが0になるかを推定すること。つまり、データの本質がわかります。直感的には次の図から

もう少し実用的な例は?


右の入力から左の出力を考えるLassoモデルを考えると

のようにアレルゲン反応のスパース推定ができます。

つまり、スパース推定により関与しないパラメータがわかります

Group Lassoとは

グループラッソとは

「潰れる変数がグループになったLassoモデル」

先ほどのアレルゲンを例にとると例えば、ヒノキなどの個体単位ではなく「花粉」というグループ単位でスパース性が検証できるモデルのことです。Lassoはの正規化項は次のものでした。

    \[\Omega_{Lasso}(\beta)  =  \sum_{i=1}^{n} |\beta_i|\]

Group Lassoの正規化項は次で定義されます

    \[\Omega_{Group}(\beta)  =  \sum_{g=1}^{G}  \sqrt[]{p_g} |\beta_{g}|_2\]

ここでgはg番目のグループを表すindex。(ただし、g = 1,\cdots, Gp_gはグループgの大きさ)
前述通りGroup Lassoでは特徴をグループ化します。よって、事前に類似の傾向がありそうな特徴の情報を考慮します。

なるほど、と思った方と、ん?、と思った方がいると思います。

グループ単位で本当に潰れるのか?
仮にそうならどうやって変数を扱うのか?

これは図を用いてチェックしましょう。

Group Lassoの解

  • 参考文献の論文に従い、解説します。

まずJ個の変数からなるもっとも一般的な回帰問題を考えます

    \[Y = \sum_{j=1}^{J} X_j \beta_j + \epsilon\]

Yはn\times 1ベクトル、\epsilon \sim \mathcal{N}(0, \sigma^2I)X_jj番目のデータに対応したn\times p_j行列で\beta_jはサイズp_j \times 1: j=1,\cdots,Jの係数からなるベクトルとする。さらに各X_jは直交行列であると仮定する。
すなはちX_j^t X_j = I_{p_j}; j=1,\cdots ,Jとする。さらに、X = (X_1, X_2, \cdots, X_J)\beta = (\beta_1^t, \beta_2^t, \cdots, \beta_J^t)^tとすると上式はY=X\beta + \epsilonかける。


長ったらしく書きましたが要は「グループの大きさが各p_iのサイズ」です。なのでp_1 = p_2 = \cdots = p_J = 1を考えるとこれはLassoそのものとなります。


\eta \in \mathbb{R}^d, d \geq 1d \times dの正定値対称行列Kに対して次を定める。

    \[|\eta|_K = (\eta^t K \eta)^{1/2}\]

ただし、|\eta| = |\eta|_{I_d}とする。正定値行列K_1,\cdots,K_Jが与えられた時、Group Lasso回帰では次の解を考える。ただし\lambda \geq 0

    \[\frac{1}{2} | Y - \sum_{j=1}^{J} X_j \beta_j  |^2 + \lambda \sum_{j=1}^{J} |\beta_j|_{K_j}\]

Bakin(1999)はこれをグループ変数によるLassoの拡張版として提案しました。


ここも特に気にする必要はなく、大切なのは正定値対称行列Kにより変数に「重み」が掛かっているところです。機械学習ではこのように変数に重みを加える動作をよくします。一例として
マハラノビス距離(Mahalanobis distance)
があります。僕たちが無意識に距離として使っているものはユークリッドノルムでK=I、つまり単位行列の時です。

では先ほどの

「どうやってグループ単位で変数が潰れるのか?」

をみましょう。

下の図はグループが2つ(各係数はベクトルとスカラー)、つまり\beta_1 =(\beta_{11}, \beta_{12})^t, \beta_2の場合を考え、K_jが単位行列の場合の正規化項を表しています(ラッソはダイヤ、リッジは円だったやつの三次元バージョン)

つまり、

  • Figure(a)は   ||(\beta_1^t,\beta_2) ||_1^1   = 1
  • Figure(e)は   ||\beta_1||_K +  ||\beta_2||_1^1 = 1
  • Figure(i)は   ||(\beta_1^t,\beta_2) ||_2^2   = 1

もっと噛み砕くと

  • Figure(a)は   LassoのL_1-norm
  • Figure(e)は   GroupLassoのnorm
  • Figure(i)は   RidgeのL_2-norm

です。Figure(e)において\beta_{11}- \beta_{12}平面を見ると\beta_1というグループ単位でゼロに潰れることがわかります。

だからGroup Lassoはグループ単位ででスパース性を与えているんです。

でわ。

READMORE


コメントする

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