レコメンデーションの仕組み(協調フィルタリング)

レコメンデーションの仕組みにちょっと疎かったので、基本的な手法である協調フィルタリングを調べた。

ポイント

  • この記事はユーザxアイテムのマトリクスを使った協調フィルタリングで、かつアイテムベースのもの(協調フィルタリング以外にもMatrix factorizationなどで、これはトピックモデルに雰囲気が似ている)
  • 同じような人が買っている製品間は類似しているだろうという前提を置き、製品の類似度を求め、過去の購入商品と近い未購入商品をレコメンド qiita.com

上はちょっと数式やサンプルコードから処理を読み解きにくいので、以下のスライドが比較的直感的にわかるような説明で良い(協調フィルタリングの説明が出てくるのはかなり後ろの方)。

www.slideshare.net

MLの基本的な解釈手法の解説サイト

ざっと代表的な解釈手法を調べてpythonで動かした雑記。

ポイント

  • 基本は線形モデルで係数など読めば解釈できるのと同様
  • 各変数がどのように予測に貢献しているのかを知るためにいくつかのテクニックを使う

VIP (Variable Importance Plot)とPDP (Partial Dependence Plot)

VIPは比較的わかりやすい。定義域の他の値(データをシャッフルする)を入れてどれぐらい差が出るかという考え。 以下はRのパッケージで解説されているが、処理は簡単なのでpythonでもすぐかける。 dropout009.hatenablog.com VIPはSklearnのpermutationを使えばさくっとできる。 qiita.com PDPはそれを定義域全体でプロットしてどのような値をとるかを見るもの。

LIME(Local Interpretable Model-Agnostic Explanations)

非線形のモデルに対して局所的に線形近似して評価。局所で評価して変数の貢献度がわかるというのがどうしても解せない。 horomary.hatenablog.com

SHAP (SHapley Additive exPlanation)

JSでグラフィカルなビジュアライズをやってくれるので、いろいろデータを眺めたい時に便利。 VIPのような変数の寄与度もあり、またPDPのような変数の変化に伴う結果の動きなども見える。 dropout009.hatenablog.com

Google著のデジタルマーケティングにおけるデータ分析

GoogleのDirector of AnalyticsのKevin Hartmanが書いた本。マーケティングとデータ分析について基本をざっとまとめている。

読みどころ

  • Mckの購買ジャーニや、P&GのFMOT、SMOT、自社のGMOTをざっと概説
  • マーケティングの6つの目的(stimulate demand / build awareness / influence consideration / improve the sales processes / reposition the brand / increase loyalty)をざっと説明し
  • それぞれの問いについてどういう問いがあり、そこでどういった調査、分析をするか、データを当たるかが例示
  • 分析結果を伝えるところにも結構な紙面を割いているが、それはコンサル資料本のが数段良い

東大講義AWSで機械学習とアプリ(EC2 > ECS > Lambda)

東京大学の計数工学科で2020年度S1/S2タームに開講されている"システム情報工学特論"の一部として行われるもの。

tomomano.gitlab.io

読みどころ

  • とりあえずなぞれば全部体感できる
  • EC2からECS(Docker)いってLambda(サーバレス)までがものすごくコンパクトにまとまっている
  • 一定のシステムの知識があれば、上の考え方もあらかた学べる

GoJekのデータインフラストラクチャ

GoJekのデータインフラ。

読みどころ

  • KafkaベースでStreamでデータ落ちがない仕掛けを作っている
  • データのいくさきが、利用(consumption)、リアルタイム分析(aggregation、visualization)、生データ保管(bedrock)で別れ
  • それぞれにあったOSSで組み立てている
  • なんとなくAWSのコネクテッドビークル向けテンプレ構造と似通っている

https://miro.medium.com/max/2000/1*mhUtyhFH-AjJ8TNA986zUQ.png

https://blog.gojekengineering.com/data-infrastructure-at-go-jek-cd4dc8cbd929

Scrumの基本が学べるビデオ集

Scrumは、手法を学ぶのは簡単、実践してチームに馴染ませ結果を出すのが大変。手法の基本はYoutubeビデオを見ておけばだいたいわかる。

# Category Topic URL
1 Introduction Overview https://www.youtube.com/watch?v=D8vT7G0WATM
2 Product backlog Overview https://www.youtube.com/watch?v=XPjR0OZPxeA
3 Story and acceptance criteria https://www.youtube.com/watch?v=v5rIRlfXz4k
4 Epic and story https://www.youtube.com/watch?v=eYZ8vBXL1kk&
5 Product backlog refinement Overview https://www.youtube.com/watch?v=b_WeHcZcx1w
6 Story point estimation https://www.youtube.com/watch?v=sCCUEtjCpCs
7 Planning porker https://www.youtube.com/watch?v=MrIZMuvjTws
8 Sprint planning Overview https://www.youtube.com/watch?v=wPvG9NZNUa4
9 Daily standup Overview https://www.youtube.com/watch?v=G4_oHZbURgU
10 Bad and good example https://www.youtube.com/watch?v=q_R9wQY4G5I
11 Review Overview https://www.youtube.com/watch?v=cbJinz6TieI
12 Retrospective (optional) Overview https://www.youtube.com/watch?v=rZ8I0ATrauM