「スパース(Sparse)」というのは、「希薄」や「まばら」という意味です。 変数の数に対してサンプル数が少ない事が、このように呼ばれています。
スパースモデリングは、 変数の選択 の一種で、たくさんの変数から、重要な変数だけを選び出す方法です。
因果推論 のように、変数の選択の段階を分析の大事な部分と考えずに、とにかく機械的に選んでしまう方法です。
「関係ない」と考える変数の係数は、思い切って0にしてしまうのがポイントです。
多変量解析 では、「変数が非常に多いと、サンプル数も多くしないと、分析できない」と考えるのが一般的ですが、 スパースモデリングでは、「最終的なモデルは少数の変数でできている」、と考える事で、少数のサンプル数でもモデルの作成が可能になっています。
カーネル法 や、 スペクトル解析 のように、基底関数でデータを焼き直す方法は、スパースモデリングの分野では、「辞書」と呼ばれます。 特定のデータについて、どのような辞書が良いのかの経験論が積まれて来ていますが、 辞書の選び方の研究もあるようです。
辞書で、焼きなおすと、もとのデータよりも変数の数が増えます。 スパースモデリングを使うと、このような状況のデータを、わかりやすく分析できるようになります。
スパースモデリングを単に変数の選択の理論と考えてしまうと、それほどメリットはないように思いますが、 あえて変数の数が膨大になるような理論を使った時に、わかりやすい結論に収束させる方法としては、大変なメリットがあるようです。
スパースモデリングを変数の選択に使う 重回帰分析 は、ラッソ回帰分析(Lasso)と呼ばれています。
ちなみに、「Lasso」は、「ラッソ」と書いている日本語の文献が多いようです。 イギリス英語だと「ラス―」、アメリカ英語だと「ラッソウ」と発音するそうです。
変数の選択 のページに、ラッソ回帰ではスパースモデリングがうまく行かない例があります。 気を付けて使った方が良いようです。
ちなみに、同じページに情報量基準を使った方法の結果も書いています。 情報量基準を使った方法も、スパースモデリングの一種と言えます。
スパースモデリングでは、多くの係数が0になるようにモデリングしますが、 これと似た考え方に、「係数の偏りを抑える」という考え方があります。 この考え方でできている 重回帰分析 が、リッジ回帰分析(Ridge)です。
ラッソ回帰分析やリッジ回帰分析は、「正則化」と呼ばれる数学的な方法の仲間です。
Rによる実施は、 Rによる変数の重要度の分析 があります。
R-EDA1 なら、簡単にできます。
スパースモデリングを使う 多変量データの相関分析 は、 グラフィカルラッソ と呼ばれます。
「ベイズ推定入門 モデル選択からベイズ的最適化まで」 大関真之 著 オーム社 2018
タイトルがベイズ推定ですが、
ベイズ統計
らしい話はあまりありません。
この本の中心はスパースモデリングや
カーネル法
で、ベイズ統計はこれらの背後にある話として位置付けられています。
この本では、
ディープラーニング(深層学習)
以外の
機械学習
の手法に新しい位置付けを考えるものとして、スパースモデリングを考えています。
「スパースモデリングって何だ? データ構造を解き明かす先端技法」 高昇治・松下亮祐・楠田哲也 著 カットシステム 2017
データが不足していても解析する技術や、複雑なデータをわかりやすく表現する技術として紹介しています。
連立方程式の解法として、いくつかの係数を0とおくと、解けない式が解けるようになる例を挙げています。
スパース性は、人の事前知識をモデルに入れることで実現させているそうです。
理論ではなく、理論による恩恵や、国家プロジェクトの動向など、周辺の話が詳しいです。
ディープラーニング
とは、「変数の数が多い」という特徴は同じでありながら、
「サンプル数が少ない事に対応」、「できあがるモデルがシンプル」という特徴が逆なので、
ディープラーニング
の相補的な方法としても紹介しています。
辞書学習とスパースコーディングは、生まれた分野が違うものの、内容は同じそうです。
「スパース回帰分析とパターン認識」 梅津佑太 著 講談社 2020
1/3にあたる約60ページを使って、ラッソ回帰を解説しています。
なぜ、係数をゼロにできるのかの解説もあります。
残りの部分は、スパースの話ではなく、よく知られた
ラベル分類
手法を紹介しています。
「岩波データサイエンス Vol.5 スパースモデリングと多変量データ解析」 岩波データサイエンス刊行委員会 編 岩波書店 2017
スパースモデリングの歴史的な位置付けの話が詳しいです。
変数の選択と、リッジ回帰の合流がラッソ回帰とのこと。
GGM(グラフィカル・ガウシアン・モデル)という名前で、グラフィカルLassoが紹介されています。
変数の関係を表す方法はいくつかあるが、Rのグラフィカルラッソは偏相関係数を使うそうです。
「スパースモデリング 基礎から動的システムへの応用」 永原正章 著 コロナ社 2017
スパースモデリングの一般的な解説の後に、動的な
制御
にスパースモデリングを使う話が、半分くらいあり、この本の特徴になっています。
停止中は、燃料の消費がゼロになるような制御をしたい時に、
「ゼロ」を算出する仕組みとしてスパースモデリングが役に立つようです。
「スパース推定法による統計モデリング」 川野秀一・松井秀俊・廣瀬慧 著 共立出版 2018
スパースを使う様々な多変量解析について、数式がまとまっています。
「独立成分分析 多変量データ解析の新しい方法」 甘利俊一・村田昇 編著 サイエンス社 2002
独立成分分析
の本です。
画像を基底関数の和で表現し、基底関数の係数は、できるだけ多くが0になるように選ぶのが、スパースコーティング。
「フリーソフトではじめる機械学習入門」 荒木雅弘 著 森北出版 2014
機械学習
の様々な手法について、Wekaでの実施例があります。
Ridge回帰、Lasso回帰についても解説があり、とてもコンパクトにまとまっています。
「Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎」 Andreas C.Muller, Sarah Guido 著 オライリー・ジャパン 2017
一般的な重回帰分析に比べて、
「Ridge回帰はテストデータの当てはまりは悪くなるが、汎化性能は良くなる。」、
「Lasso回帰はテストデータも汎化性能も悪いが、多くの係数が0になるので、
モデルを解釈しやすくなる。」ということが言えるそうです。
「カーネル多変量解析」 赤穂昭太郎 著 岩波書店 2008
カーネル法
の本です。
正則化の話も多いです。
順路 次は 線形性