SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ITエンジニアのためのスパースモデリング入門

スパースモデリングのモデルを評価する~LASSO推定値の評価方法

  • X ポスト
  • このエントリーをはてなブックマークに追加

正則化パラメータの選択方法(2)

モデルの自由度に基づく評価基準

 観測値から作成したモデルが「良いモデル」なのかどうかという判断する基準に情報量基準というものがあります。先述の交差検証法では観測値と予測値がどれだけずれているか、ということを判断基準としていました。

 この手法でのモデル選択では、現状得られた観測値に対しての当てはまりの良さを見ることになるので、新たに観測されたデータに対しては上手く当てはまらない可能性もあります。もしデータの「真の分布」がわかっていて、それに対して上手く当てはまっているかどうかを見ることができれば、そのモデルがいいモデルかどうかを知ることができます。実際には真の分布はわからないので、期待値や近似をとって真の分布からのズレを評価します。これが情報量基準の基本的なアイデアになります。

 今回は情報量基準として赤池情報量基準(AIC)とベイズ型モデル評価基準(BIC)を使ったモデル選択を試してみます。AIC、BICについて詳しく書くとそれだけで1記事を使ってしまうので、ざっくりと説明すると、AICは将来における予測がうまくできるモデルが良いモデルだ、という評価基準になります。なので実世界をうまく表すこと(真のモデルを得ること)よりも予測能力の高いモデルを得ることが目的になります。BICは推定したモデルが真のモデルとどれだけ近いか、ということを評価基準とします。LASSOにおけるAIC、BICは次のように与えられます。

\( {\rm AIC} = \frac{\|\Phi x - y\|^2_2}{n\sigma^2}+\frac{2}{n}\widehat{df} \\ {\rm BIC} = \frac{\|\Phi x - y\|^2_2}{n\sigma^2}+\frac{\log{(n)}}{n}\widehat{df} \)

参考文献

 “On the degrees of freedom of the lasso” Hui Zou, Trevor Hastie, and Robert Tibshirani Ann. Statist. Volume 35, Number 5 (2007), 2173-2192.

 いくつかの正則化パラメータの候補の内、これらの情報量基準の値が最も低いものを最も良いモデルを推定するパラメータとして選択します。実際に正則化パラメータを変化させると情報量基準の値がどのように変わっていくのか確認してみましょう。

正則化パラメータの変化と情報量基準の関係
正則化パラメータの変化と情報量基準の関係

 上図は正則化パラメータと情報量基準の関係を表しています。赤い線がAIC、青い線がBICの値を示します。正則化パラメータを変化させていくと、それぞれの値が変化していくことがわかります。そして変化していった中で最も低い値をとった正則化パラメータを選択します。今回はAIC、BICで評価したところ共に同じパラメータを選択することになりました。

パラメータ選択によるモデルへの影響

 ここまで様々な基準でパラメータを選択してきましたが、結果としてモデルにどのような影響を与えたのか確認してみましょう。

選択されたパラメータと解パスを重ねたもの
選択されたパラメータと解パスを重ねたもの

 上図は各基準で選択されたパラメータと解パスを重ねたものです。パラメータごとに得られる回帰係数が異なることがわかります(今回はAICとBICについては同じ正則化パラメータが推定されたので完全に重なってBICの方しか表示されていません)。今回はあまりパラメータ間に大きな差異はありませんが、データによってはパラメータ毎に選択される変数の個数が変わることもあります。

 また、各選択基準で得られた回帰係数と決定係数(R-squared)を確認してみましょう。

選択基準 回帰係数 決定係数
通常の線形回帰 [ 0.75067696, -0.55218467, -0.19821025, -0.05692921, 0.18522066] -0.52575732
交差検証法 [ 0.58011933, -0.21167894, 0, 0, 0 ] 0.10973665
1標準誤差ルール [ 0.56848778, -0.19988981 0, 0, 0 ] -0.09688063
AIC、BIC [ 0.57722833, -0.20874877, 0, 0, 0 ] -0.10648322

 解パスを見ればわかる通り、LASSOを用いた場合は全ての正則化パラメータの選択基準において2つの変数が選択されています。決定係数とは推定された回帰式の当てはまりの良さを示す指標で、最大値は1で、1に近いほど当てはまりが良いということになります。これをみると、通常の回帰係数に比べて決定係数の値も改善していることもわかります。値がマイナスなので当てはまりに関してはかなり悪く、モデルの精度向上といった点ではより工夫しなければならない部分は多くありますが、正則化パラメータの適切な選択がモデルに影響を与える変数の選択に繋がるということは理解していただけたかと思います。

最後に

 正則化パラメータを適切な基準をもって選択することで、LASSOを用いた変数選択を効果的に行えることをここまで説明してきました。本投稿では用いた説明変数は5つしかなかったので変数選択の恩恵をあまり感じられなかったかもしれませんが、より巨大なデータで説明変数が大量に存在する場合には、変数選択をうまくすると、モデルの汎化性能が向上する場合があります。興味がある方は、そのような大規模なデータに対して適用してみても面白いかと思います。

 本投稿までは基本的にテーブルデータを扱ってきましたが、スパースモデリングはテーブルデータのみならず、画像や時系列データなどに対しても力を発揮します。次回の投稿では画像に対しての適用例を取り扱う予定です。ここまでテーブルデータに対して適用したLASSOが画像に対してはどのようにして力を発揮していくのでしょうか。また、画像に対する例では、辞書学習と呼ばれるスパースモデリングの手法の紹介も行う予定ですので、お楽しみに。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ITエンジニアのためのスパースモデリング入門連載記事一覧

もっと読む

この記事の著者

宇佐見 一平(株式会社ハカルス)(ウサミ イッペイ)

 京都大学情報学科を卒業後、新卒でメーカーに入社しR&D部門に所属。そこで出会った機械学習に魅せられ、より深く広く機械学習やデータ分析を用いた課題解決に取り組みたいと思い,2019年3月にハカルスにジョイン。日本では稀有なアメフト経験者データサイエンティストとして日々修行中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11593 2019/09/10 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング