「仕事ではじめる機械学習」を読んで
しばらくぶりの更新となります。
技術関連の記事は
TeqStock.tokyo の部屋
または
minosys - Qiita
に持って行ってしまったので、こちらに何を書くかしばらく考えていました。
HP に Amazon へのリンクを貼ろうと思ったら拒否されてしまったので、しばらくこちらで
読後感想を記述することにします。
というわけで第1回目です。(おそらく1か月に1回のペースの記事になると思います。)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「機械学習」と銘打っていますが、あとがきにあるように、機械学習に限らず、
ビジネスでレポートを作ったり、現場で実際に使うための Tips をまとめた本に
なっています。
内容は第1部と第2部に分かれています。
第1部では
- 何をインプットとし、何をアウトプットとするか
- どういうときにどういうアルゴリズムを使うべきか: これは便利そう
- 学習結果の評価
- 学習リソースの集め方
- 効果判定のための仮説検証
といったことについて詳細に記述されています。
私は統計・確率が弱いので、最後の仮説検証はだいぶ勉強になりました。
有意水準は通常 5% とされますが、1% や 0.5% で考えた方がよい場合がある
という記述は興味深かったです。
第2部は具体的なビジネスシーンから切り出した内容となります。
- 映画推薦システムの構築
- KickStarter プロジェクトの分析
- Uplift Modeling
映画推薦システムは Factorization Machines (pytyon3 の fastFM パッケージ)
を使って MovieLens ライブラリから MCMC 法による学習および予測を
行っています。具体的なコードが記述されているため、1行1行確かめ
ながら進むことができます。
KickStarter の分析では非公開 API からの情報を Excel を使ってひも解いて
行きます。機械学習を使わなくてもここまで分析できるという例に
なっています。特定の技術がはやると何でもかんでもそれに結び付けよう
という風潮が出ることがありますが、そういう流れに流されないため
にも(?)既存の技術や解析手法でどこまでやれるのか検討することは
大事だなと思いました。
最後の Uplift Modeling は A/B テストに埋もれた情報をユーザ情報と
結びつけることにより引き出す手法の話題です。
単なる A/B テストでは有意な差が判定できない場合でも、特定のユーザ
層がどのような行動を取ったのかが明らかになっている場合、
Logistic 回帰を使って実験群、統制群の予測モデルの違いを知ることが
できます。この違いを例えば
\[
lift = 実験群予測モデルのコンバージョン率 / 統制群予測モデルのコンバージョン率
\]
という指標で表すことにするとテストデータに対する lift からどのユーザ
層に対してアピールするのかを推定することができます。さらに
テストデータをスコア順の降順に並べ、もっともスコアが小さくなる点の
lift と原点を結んだラインを base line と呼ぶことにすると
\[
AUUC = base line と lift で囲まれる面積
\]
が施策を評価する1つ指標と考えられます。
Uplift Modeling の例として、購買履歴のあるユーザに対し、男性向けメール
と女性向けメールのどちらを送付するのが効果的かという問題の解析が
挙げられています。
こうして見ると、データの解析・分析はビジネスのほんの一部で、
- 何を収集するのか
- 何をもってゴールとするのか
- コストの見積もり
- どのような仮説検証を行うのか
- レポートのまとめ方
といったデータサイエンス以外の比重が大きいことが印象的でした。
なお、本書での「機械学習」はいわいる従来の機械学習が中心で、
Deep Learning などのニューラルネットワークは出てきませんので
ご注意を。