第9週は異常検知とレコメンドシステムです。
異常検知はわかりやすいです。データのばらつきを見て全体からはずれているものを異常とみなすというものです。定性的には2次元データの分布図をみて目視で検出すればよいわけですが、機械学習的にはガウス分布をあてはめて平均値から一定以上はずれたものを異常としてはじきます。

machine learning - Stanford university

machine learning – Stanford university


レコメンドシステムは今機械学習技術者が最も重要視しているアプリケーションだそうです。一般人にとっても最も身近な例でもあります。手法としては、協調フィルタリングというものを使います。図のように商品(サービス)とユーザーの評価(好み)を表すマトリックスがあってユーザーにどの商品をすすめたらよいかを、商品の特徴(フィーチャー)を表すベクトルとユーザーの好みを表すベクトルを全く未知のところから探り当ててしまうアルゴリズムです。最初のころにやった線形回帰は回帰直線の係数Θを求めるものでしたが、今回はデータ側のXも作り出してしまうような感じです。生データだけがあってコンピュータが人間の手を借りずに意味づけを勝手にしてくれちゃう感じといったらよいのでしょうか。
machine learning - Stanford university

machine learning – Stanford university


こういう手法を使えば何かほかの領域でも応用ができそうな気がします。
プログラミング課題はちょっと苦労しました。このコース自体が数学的な理解はそれほど重要視しなくてもよいというスタンスなので課題もただのプログラミング練習になってしまいがちです。