継続力

IT系サラリーマンが、書籍や講座から学んだこと、効果があった勉強方法を紹介します。

【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜

前回までに、教師あり学習教師なし学習アルゴリズムについて学んできました。

今回は毛色が変わり、エンジン不具合の検知等に使われる異常検知アルゴリズムや、映画のレコメンデーションシステムについて学びます。
かなり実用的な内容です。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 9」では、以下の内容が、約6時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

<異常検知アルゴリズム

■Problem Motivation

  • Anomaly detection(異常検出)の例として、飛行機エンジンの異常検出やデータセンターのコンピュータのモニタリングの例を紹介。

 

■Gaussian Distribution

  • 異常検知にはガウシアン分布を使う。
  • ガウシアン分布の中心点μ、標準偏差σの求め方を説明。

 

■Algorithm

  • 異常検知のアルゴリズムを説明。
  • 異常検知に使えそうな説明変数を選ぶ
    →ガウシアン分布の中心点、標準偏差を求める
    →新しいデータxのガウシアン分布上の値を求める
    閾値より小さければ異常と見なす

 

■Developing and Evaluating an Anomaly Detection System

  • 異常検知アルゴリズムの評価で使うデータは、異常データが少ない偏りのあるデータであることが多いので、正答率ではなく、F値により評価する。

 

■Anomaly Detection vs. Supervised Learning

  • 異常検知アルゴリズム教師あり学習アルゴリズムを比較。
  • 異常検知は、異常データが少ない場合や、異常データに共通的な特徴がない場合に有効。
    不正利用検知、製造業、データセンターの機械のモニタリング等に使われる。
  • 教師あり学習は、異常データ数と正常データ数が共に多い場合、データの傾向を学ぶのに十分なデータがある場合に有効。
    スパムフィルタ、天気予報、癌の予測等に使われる。

 

■Choosing What Features to Use

  • 異常検知アルゴリズムへの入力データが非ガウシアン分布の場合は、ガウシアン分布になるように変換する。
  • 正常データと異常データで異常検知アルゴリズムの算出結果に大きな差異が見られない場合は、説明変数を増やすべき。

 

■Multivariate Gaussian Distribution

  • 多変量ガウシアン分布について説明。

 

■Anomaly Detection using the Multivariate Gaussian Distribution

  • 多変量ガウシアン分布を使った異常検知アルゴリズムについて説明。
  • 元のガウシアン分布を使った場合は、異常を検出するための説明変数は手動で作る必要がある。
    ただし、計算量は少なく済み、トレーニングデータも少なくて良い。
  • 多変量ガウシアン分布を使う場合は、自動で説明変数間の相関関係を検出する。
    ただし、計算量が多い。また、トレーニングデータが説明変数よりも多い必要がある。

 

<レコメンデーションシステムのアルゴリズム

■Problem Formulation

  • レコメンデーションシステムの例として、映画の評価予測を説明。
  • 映画の評価データでは、全てのユーザが全ての映画を見ているわけではないため、見ていない映画の評価は?として表現する。

 

■Content Based Recommendations

  • レコメンデーションシステムの目的関数と最急降下法による最適化について説明。


■Collaborative Filtering

  • 協調フィルタリングアルゴリズムについて説明。
  • 映画の種類毎のパラメータxと、映画の評価予測モデルのパラメータθを定義。
  • xからθを予測
    →θからxを予測
    →再度xからθを予測
    と繰り返す。

 

■Collaborative Filtering Algorithm

  • 協調フィルタリングの目的関数について説明。
  • x,θを小さなランダム値で初期化
    →目的関数を最急降下法等で最適化する
    →最適化後のパラメータを使用して映画の評価を予測する。

 

■Vectorization: Low Rank Matrix Factorization

 

■Implementational Detail: Mean Normalization

  • 平均正規化を使ったレコメンデーションシステムアルゴリズムを説明。

 

どういう人におすすめか

アマゾンプライム等の動画サービスのおすすめ動画はどうやって選んでいるんだろう」と疑問を抱えた人が、具体的なアルゴリズムを知ることができる良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org