「パターン認識と機械学習」理解のための数学〜スパースモデリングとは〜

今回は機械学習の理論でよく耳にする、スパースモデリングについてご紹介します。

目次

今、ビッグデータとともに機械学習の分野が急速に注目されています。そこで無くてはならないのがスパースモデリングの内容です。今回はそれをまとめてみました。

1. スパースモデリングとは

「スパース」とは「少量」という意味です。現在はコンピュータや計算機の発達により大量のデータを得ることができるようになりました。ここから背後に隠されたルールや法則を導き出すことが目標となります。しかし、あまりにも高次元のデータであるため、データ解析が困難であるという問題点があります。そこで、「高次元のデータを説明するための変数が少量である」、つまり「次元を減らす」ということをすることで、背後に隠されたルールを見つけようとするわけです。これがスパースモデリングです。

2. スパースモデリングの応用例

具体的な例について述べるため、脳の計測についてお話します。この内容は以下のURLの内容を参考にしました。東京大学岡田研究室HP(http://mns.k.u-tokyo.ac.jp/index.php
『脳内で外界の情報がどのように表現され符号化されているかを探ることは,脳科学の重要な問題の一つです.スパース符号化とは,外界の情報が神経細胞のまばらな(疎な)発火パターンで表現されているという仮説であり,現在では脳の多くの領野でスパース符号化が用いられていることが示されています』
つまり、脳内のどこで発火しているかについてスパースであるという仮定をおいて、脳内の発火パターンを分析しようとしているわけです。

3. 最小二乗法とスパースモデリング

上でスパースモデリングは高次元の場合に非常に重要であることを述べました。ではそのスパースモデリングをどのように実装するのでしょうか。

以下では最小二乗法と比較して説明していきたいと思います。
3.1 最小二乗法とは

最小二乗法については以下の記事をご覧ください。
「パターン認識と機械学習」理解のための数学〜最小二乗法とはpart1〜

要約すると下の図の差分の総和が最も小さくなるような直線(ないし平面)を決めようというものです。

最小二乗法の図

この方法には弱点があります。それは「外れ値に非常に鋭敏に影響を受けてしまう」ということです。これを機械学習の用語で過学習と呼びます。

3.2 最小二乗法とスパースモデリングとの関係

これを防ぐ方法として正則化項を導入するという方法があります。
最小二乗法では以下のような二乗和誤差関数を最小にするというのが目的でした。

ここで誤差関数について以下のように正則化項を導入した形

を考えるというのが正則化と呼ばれる操作です。

一般的にこれで正則化の取り方はたくさんありますが、主に使われているのは以下のように重みベクトルの二乗和

ととる方法です。これを機械学習の分野では荷重減衰と呼ぶようです。

ここで、以下のようにした場合、スパースな解が得られることが知られています。

今回は長くなりましたので、一旦ここで締めたいと思います。次回ではこれがなぜスパースな解となるのかプログラムを組んでみたいとおもいます。