y_uti のブログ

統計、機械学習、自然言語処理などに興味を持つエンジニアの技術ブログです

Lasso によるパラメータ推定を確認する (社内勉強会発表資料)

7 月 4 日 (火) に統計数理研究所公開講座「スパース推定」を受講しました。電気通信大学の川野秀一先生による講義で、Lasso とそれを発展させた様々なスパース推定法の紹介、推定値を得るための最適化アルゴリズムの説明など、分かりやすく説明していただけました。
平成29年度公開講座(統計数理研究所)

この公開講座の参加報告を兼ねて、勤め先での社内勉強会としてスパース推定について簡単に説明しましたので、発表資料を公開します。公開講座では、きちんと数式を用いた丁寧な説明がなされたのですが、社内勉強会では数式を出さずに、推定の様子を図で眺めながらイメージをとらえてもらうことを意識した資料としています。

www.slideshare.net

資料作成の過程で実際に手を動かしてみると、正則化項の大きさによる推定値の変化の様子など事前の予想と異なっていたところもあり、これも勉強になりました。たとえば、私は何となく、正則化項の大きさの変化にともなって推定値がじわじわと動いていくものと思っていたのですが、実験に用いた 1,000 次元のサンプルデータで確認した限りでは、推定値が急速に動いていく領域と、あまり動きの見られない領域と、むらがあるようでした。

発表資料では Ridge 回帰と Lasso との比較しかできませんでしたが、scikit-learn にはこれらの他に Elastic Net も実装されています。こちらも比較してみると面白いかもしれません。公開講座では、そのほかにも Fused Lasso, Group Lasso などの説明がありました。これらは、まだ scikit-learn には実装されていないようです。