Dec 10, 2017

Machine Learning Book


同僚にオススメされた「仕事ではじめる機械学習」を読み終わりました。今までもいくつか機械学習系の本を読んで来ましたが、図やグラフが豊富で1番わかりやすかったです。

SVM

  • 線形カーネルとRBFカーネルの2つがある
  • RBFカーネルは線形分離不可能なデータも分類できる
  • 損失関数はヒンジ損失関数はを使う
  • マージン最大化により過学習を抑えることができる
  • 線形カーネルはテキストなどの疎データ、RBFカーネルは画像や音声信号などの密なデータによく使われる

ニューラルネットワーク

  • 非線形なデータを分離できる
  • 学習に時間でがかかる
  • パラメータの数が多いので過学習しやすい
  • 出力層の計算した値をsoftmax関数で正規化を行い確率としてみなせることが多い
  • 活性化関数にはReLUがよく使われる
  • 誤差逆伝播で学習する

k-NN

  • kは投票する個数のことを意味している
決定木、ランダムフォレスト、GBDT
  • ランダムフォレストは利用する特徴量の組み合わせをいくつか用意して性能が良かった学習器複数の予測結果を多数決で統合する
  • GBDTはサンプリングしたデータに対して直列的に浅い木を学習していく
  • 複数の学習結果を組み合わせる手法をアンサンブル学習という
次元削減のための手法は主成分分析やt-SNEが有名

異常検知にはOne Class SVMがある

分類の評価 正解率、適合率、再現率、F値

  • 正解率 正解した数/予測した全データ数
  • 適合率 実際に当たっている数/予測した数
  • 再現率 予測した正解/全データの正解
  • F値 適合率と再現率の調和平均

回帰の評価には平均二乗誤差を使用する

ヒンジ損失

  • 決定境界ギリギリで正解しているデータにもペナルティを与え、マージンを持たせている

配布されているデータのドメインが実際に使うものと異なる場合は、半教師あり学習や転移学習といった手法を用いることができる

A/Aテスト ランダム抽出により均質な2群が得られるはずだが、それを確認し、差がなければ片方に介入する

Eコマースにおける推薦システムの応用シーン

  • 概要推薦 今週の人気商品のような統計情報ベースのおすすめ。利用し始めやたまに利用するユーザーに効果的
  • 利用者評価 ユーザーが︎をつけた評価やコメントを利用して統計情報として見せたりする
  • 通知サービス
  • 関連アイテム評価
  • パーソナライゼーション

人生に何回もないようなイベントではデータが集まりづらいため、PVなど他の指標で代用するなどの仕組みが必要

強調フィルタリング

新規ユーザーや新アイテムに対する推薦データが不足するコールドスタート問題がある。内容ベースフィルタリングなら比較的推薦しやすい。しかし辞書のメンテナンスの必要がある。

テールに従って頻度が少なくなるロングテールな分布になることをジップの法則という。

Uplift Modeling

普通のA/Bテストと異なり母集団を実験群と統制群の2つにわけ、単に反応したかどうかを調べるのではなく、実験群と統制群においてどのような特徴量を持つ標本が反応したのか/しなかったのかを調べる。

  • 無関心 介入行為をしてもしなくてもコンバージョンしないセグメント
  • 説得可能 介入行為があってはじめてコンバージョンに転じるセグメント ←ここを最も発見したい
  • 天邪鬼 なにもしなければコンバージョンするが、介入行為を行うとコンバージョンしなくなるセグメント
  • 鉄板 介入行為をしてもしなくてもコンバージョンするセグメント 鉄板セグメントに対する広告出稿は反応率は良いが単価が低くなる可能性も高いため注意が必要

AUCC(Area Under the Uplift Curve)を使ってUplift Modelingの評価を行う