こんにちは!
今回は前回の最小二乗法の実装の続きで、スパースモデリングの実装をしてみたいと思います。
なお、前回の内容はこちらを参考にしてください。
「パターン認識と機械学習」理解のための数学〜最小二乗法の実装〜
今回は前回の最小二乗法の実装の続きで、スパースモデリングの実装をしてみたいと思います。
なお、前回の内容はこちらを参考にしてください。
「パターン認識と機械学習」理解のための数学〜最小二乗法の実装〜
1. スパースモデリングとは
スパースとは「まばら」という意味です。反対の言葉で「密」があります。スパースモデリングとは、情報を落としてより 低い次元で物事をみることです。
2. 問題設定
問題設定は最小二乗法のときの実装と同じです。ランダムに発生させたxとyのデータに関して、ある平面でフィッティングさせるようにします。今回は2x+3y-z=1の平面から少しずれた値を生成して、それに最小二乗法を用いてみました。そしてそれに制約を加え、平面の推定をしてみます。
3. 制約付き最小二乗法の数学的解法
解くべき問題は以下のような形です。
これは制約のついた最小二乗法です。なお、式を簡潔に書くため変数をxで統一し、x0は1としています。
この式は絶対値がついていて微分することができません。なので、今回はwの成分は全て正とした上で絶対値を外し、プログラムしました。
この式は絶対値がついていて微分することができません。なので、今回はwの成分は全て正とした上で絶対値を外し、プログラムしました。
4.スパースになることの説明
上の式は二乗の項と絶対値の項があります。二乗の項は以下のような楕円、絶対値の項は以下のようなカクカクのものです。
これらがどこで交わるかを考えるとスパースに近くなる説明ができそうです。
これらがどこで交わるかを考えるとスパースに近くなる説明ができそうです。
このような図が書けることがわかります。これから楕円を大きくするとどこに当たるでしょうか。