[DSO]勉強会_データサイエンス講義_Chapter8

データサイエンス講義 第8章



レコメンデーションエンジン

ユーザが直接触れる大規模データ製品を構築する 

2019年10月18日(金) in 渋谷スクランブルスクエア

マーケティング部 データ戦略室 室長

阪上 晃幸

教科書
2

Rachel Schutt, Cathy O‘Neil (2014) 「データサイエンス講義」
(瀬戸山 雅人・石井 弓美子・河内 崇・河内 真理子・古畠 敦・
木下 哲也・竹田 正和・佐藤 正士・望月 啓充 訳)
1章 はじめに:データサイエンスとは
2章 統計的推論、探索的データ分析、データサイエンスのプロセス
3章 アルゴリズム
4章 スパムフィルタ、単純ベイズ、データラングリング
5章 ロジスティック回帰
6章 タイムスタンプと金融モデリング
7章 データから意味を抽出する
8章 レコメンデーションエンジン :ユーザが直接触れる大規模データ製品を構築する
9章 データ可視化と不正検出
10章 ソーシャルネットワークとデータジャーナリズム
11章 因果関係
12章 疫学
13章 データ分析のコンペティションから得られた教訓 :データのリークとモデルの評価
14章 データエンジニアリング :MapReduce、Pregel、Hadoop
15章 生徒たちの声
16章 次世代のデータサイエンティスト、データに対する過信と倫理
Leverages Marketing Department
自己紹介
3
● 阪上晃幸(@Mr_Sakaue)
● データアナリスト 兼 室長
● 経歴
2012/2:レバレジーズでインターン
2012/3:一橋大学大学院経済学研究科 修士課程修了
2012/4〜:レバレジーズ入社
● 趣味
料理、ブログ記事の作成
『かものはしの分析ブログ』で検索!
Leverages Marketing Department
● レコメンデーションエンジンとは
● 最近傍法の10個の問題点
○ 次元の呪い
○ オーバーフィッティング
● 機械学習による分類
● 行列特異値分解
○ Pythonでやってみる
● 主成分分析
○ Pythonでやってみる
● フィルターバブル
● Appendix
● 参考文献
報告内容
4
Leverages Marketing Department
● 一番シンプルに言うと、ユーザとアイテムの組み合わせに関して重み付けをするもの
○ タスクとしては訓練データからユーザの他の好みを予測することで、
扱うデータは以下のようなもの
■ メタデータ(Ex. ユーザ:性別、アイテム:色)
■ 好みのデータ(「君の名は」が好きか、「ミュウツーの逆襲」が好きか、 etc...)
● 多くのユーザは任意の映画に対してほとんど意見を持たない(評価が0点)。
○ ほとんどのデータが0 のベクトルをスパースベクトルと呼ぶ。
レコメンデーションエンジンとは
Uがユーザ、Vがアイテムとし、
ノードに任意の重みが割り当てられ
ているイメージ
5
Leverages Marketing Department
● 最近傍法によるレコメンデーションについて
○ ユーザAの過去の映画評価と最も近い映画の評価をしているユーザBを見つけ、
Aの評価はBの評価と同様であると仮定します。
そして、Aがまだ見ていないが、Bが高く評価している映画をレコメンドに使います。
○ ユーザの評価の近さに関しては様々な指標がある。
■ ジャッカード距離
■ コサイン類似度
■ ユークリッド距離
最近傍法の10個の問題点
6
Leverages Marketing Department
1. 次元の呪い:次元が多いとユーザ/アイテム間の距離が遠くなりすぎる
2. オーバーフィッティング:kが小さいと任意の誰かの意見に引きづられ、
            精度が出ない
3. 特徴間の相関:同じような変数に別々に重み付け(二重計上)し、
        予測パフォーマンスに悪影響を及ぼす
4. 特徴の相対的な重要度:一律で変数を扱うのは良くない
5. スパースの程度:スパースな場合、ジャッカード距離だと意味がなくなる
6. 測定誤差:データが誤っている可能性もある
7. 計算の複雑さ:計算にコストがかかる
8. 距離指標の感度:ユークリッド距離の場合、値の大きさに敏感になる
9. 好みの経時的な変化:ユーザの好みの変化を捉えれない
10. 更新のためのコスト:データを追加した際のコストがかかる
※教科書で特に重要とされている1と2についてのみ深ぼる。
最近傍法の10個の問題点
7
Leverages Marketing Department
コーネル大学の講義資料にk-nnに関する次元の呪いの説明が書かれていたので、引用す
る。
次元の呪い
8
l は全てのk近傍を含む、最小の超立方体の辺の長さ
次元dが大きくなるにつれて、近傍を含む超立方体の辺が上限の 1に
近づいていく。これは、 関係が薄いものが近傍となりうる ことを意味し
ている。
Leverages Marketing Department
コーネル大学の講義資料にk-nnに関する次元の呪いの説明が書かれていたので、引用す
る。
次元の呪い
9
左図はk-nn近傍でランダムに選
んだ点同士の距離をヒストグラム
にしたもの。
次元が高まるにつれて、距離がど
んどんと大きくなっている のがわ
かる。
Leverages Marketing Department
k近傍法における、kごとのクロスバリデーションスコアを以下に示す。
データはMovieLens 100k、ライブラリはsklearnを利用。
教師データはあるアイテムの点数で、それを予測するタスク。特徴量はユーザの属性データ。
オーバーフィッティング
10
kを増やしていくと
CVスコアが高まっ
ていく傾向が示さ
れている。
Leverages Marketing Department
● 線形回帰モデルの適用
○ メリット
■ 簡単に係数を推定できる
■ 特徴の重み付けを同時に行える
○ デメリット
■ 完璧なモデルにするには、アイテムの数と同じだけのモデルを用意する必要がある
■ 十分なデータがない場合にオーバーフィッティングが生じうる
(変数の絶対値よりも大きな係数は疑うのが良いとされている。)
機械学習による分類
11
Leverages Marketing Department
線形回帰モデルのオーバーフィッティング問題を解決するために、係数ごとにペナルティーを
与えるなどの対応が取られる。(教科書ではベイズによる事前情報の付与があげられてい
た。)
以下の図はデータはMovieLens 100k、ライブラリはsklearnで、リッジ回帰のクロスバリデー
ション結果を可視化したもの。
機械学習による分類
12
ペナルティーを与える係数の
ベストな値を探索
Leverages Marketing Department
● 次元を削減することには、2つの意味がある。
○ 数学的に次元が削減されていること
○ 潜在的な特徴を生成していること
■ カワイイという概念。それは複数の要素の組み合わせからなる。
● もふもふである
● 目がくりんとしている
● 手のひらサイズである
■ 潜在的なものは直接観測されない。
■ 潜在的な概念から顧客の好みを掴み、それをレコメンデーションに使う。
次元の削減
13
もふもふである
目がくりんとしている
手のひらサイズである
カワイイ
Leverages Marketing Department
● 特異値分解(Singular Value Decomposition, SVD)
特異値分解定理により、
あるm行n列の行列でランク数がk個の行列Xに関して、常に以下のように表すことがで
きる。
特異値分解
14
X = USV’
(m, n) (m, k) (k, k) (k, n)
Leverages Marketing Department
特異値分解
15
X = USV’
(m, n) (m, k) (k, k) (k, n)
正方ユニタリ行列で
Vと直交する。
ユーザに対応している。
対角行列となっており、
対角要素のことを特異値と
呼ぶ。
最も大きな潜在変数は最も
大きな特異値を持つ。
正方ユニタリ行列で
Uと直交する。
アイテムに対応している。
mはユーザ数、
nはアイテム数
※
ユニタリ行列はそれ自身を
掛け合わせると単位行列に
なるような行列
UU’ = I
Leverages Marketing Department
● 列に関して、特異値の降順に並べ替えることで、次元が重要なものからそうでないもの
へと並び替わる。
その上から何個までを保持し、残りを捨てるかはトレーニングパラメータと見なすことがで
きる。
特異値分解
16
X = USV’
(m, n) (m, k) (k, k) (k, n)
Leverages Marketing Department
● SVDを求めることができたら、それは同時にXの予測値が手に入ったと考えることもでき
る。値が大きく、まだそのユーザにレコメンドしていないアイテムに関してランク付けの予
測値として使うこともできる。
特異値分解
17
X = USV’
(m, n) (m, k) (k, k) (k, n)
^
Leverages Marketing Department
特異値分解(Pythonでやってみる)
18
Leverages Marketing Department
特異値分解(Pythonでやってみる)
19
未評価だが点数
が高く付いている
アイテムを推薦に
使う
Leverages Marketing Department
● 主成分分析(Principal Component Analysis, PCA)
以下のように表現できるようなUとVを勾配降下法などで推定する。
(実際のXと、UとVを使って近似したXとの相違を最小化)
※dの数は100個程度が教科書では推奨されている。
主成分分析
20
(m, n) (m, d) (d, n)
Leverages Marketing Department
● 主成分分析により求められた潜在的な特徴は互いに相関しないという性質がある。
主成分分析
21
(m, n) (m, d) (d, n)
Leverages Marketing Department
主成分分析(Pythonでやってみる)
22
Leverages Marketing Department
主成分分析(Pythonでやってみる)
23
2次元プロット 3次元プロット
赤が男性の、青が女性のアイ
テム評価を3次元に落とし込ん
だもの
Leverages Marketing Department
主成分分析(Pythonでやってみる)
24
● 主成分分析により求められた潜在的な特徴(100個)を元にk-nn法を用いてアイテムの
評価予測を行った際の精度は、主成分分析を使わない場合よりも精度が微増したが、k
を増やしていくとその差はほとんど無視できる。
次元数1681でのk-nn 次元数100でのk-nn
Leverages Marketing Department
● フィルターバブルとは
神嶌(2012)より引用
“個人化技術の普及により生じたと、Eli Pariser が主張する問題
○ 関心のある話題のみに集中し、多様な話題を知る機会を失う
○ 関心のない話題は、どんなに重大であっても除外される”
フィルターバブルへの対応としては、
  ”利用者などが指定した、特定の視点に対して、推薦結果ができる
だけ中立性を保つように配慮する推薦システム”
  などがあげられている。
フィルターバブル
25
Leverages Marketing Department
フィルターバブル
26
【神嶌(2012)より引用】
Leverages Marketing Department
● レコメンデーションの種類
○ コンテンツベース
■ 近傍ベース
■ モデルベース
○ 協調フィルタリング
■ 近傍ベース
● ユーザベース
● アイテムベース
● ハイブリッド
■ モデルベース
● 回帰
● 潜在因子(SVD, 特異値分解, etc...)
Appendix1
27
今回登場したのは
協調フィルタリングの近傍ベースとモデル
ベースの回帰や潜在因子など 【Ilya Katsov (2017)より引用】
Leverages Marketing Department
● Cold-Start問題
○ 対ユーザ
■ 新たにシステムを利用し始めた利用者に対して適切な推薦をする難しさ
○ 対アイテム
■ 推薦対象として新たにシステムに導入されたアイテムを推薦する難しさ
● Counterfactual【比較的新しいテーマ】
○ Upliftモデリング
■ レコメンドをしなくても購買した可能性がある。
レコメンドをすれば購買してくれるような人にレコメンドできないか。
● 予測精度
○ オフライン評価
■ 過去のデータをもとに推薦結果の評価を行う。一般の機械学習と同様に、交差確認によって汎化誤
差を推定し、その汎化誤差で予測精度を評価
○ オンライン評価
■ 被験者に実際にシステムを利用させ、推薦が適合したかどうかを調査するもの。
Appendix2
28
Leverages Marketing Department
[1] Machine Learning for Intelligent Systems, "Lecture 2: k-nearest neighbors"
[2] Julian Avila ,Trent Hauck (2019), 『Python機械学習ライブラリ scikit-learn活用レシピ
80+』, インプレス
[3] Nick Becker (2016), "Matrix Factorization for Movie Recommendations in
Python"
[4] 神嶌・赤穂・麻生・佐久間 (2012) , "情報中立推薦システム"
[5] Ilya Katsov (2017) , "Introduction to Algorithmic Marketing: Artificial Intelligence
for Marketing Operations"
[6] 神嶌 (2016) , "推薦システムのアルゴリズム"
[7] Sato et al. (2019) , "Uplift-based Evaluation and Optimization of
Recommenders", RecSys2019
参考文献
29
1 of 29

Recommended

[DSO]勉強会_データサイエンス講義_Chapter7 by
[DSO]勉強会_データサイエンス講義_Chapter7[DSO]勉強会_データサイエンス講義_Chapter7
[DSO]勉強会_データサイエンス講義_Chapter7tatsuyasakaeeda
241 views50 slides
アンサンブル木モデル解釈のためのモデル簡略化法 by
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法Satoshi Hara
6.3K views58 slides
局所特徴量と統計学習手法による物体検出 by
局所特徴量と統計学習手法による物体検出局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出MPRG_Chubu_University
65.8K views137 slides
機械学習モデルの判断根拠の説明(Ver.2) by
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)Satoshi Hara
47.8K views81 slides
機械学習モデルのハイパパラメータ最適化 by
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化gree_tech
27.8K views117 slides
Deep forest by
Deep forestDeep forest
Deep forestnaoto moriyama
13.1K views18 slides

More Related Content

What's hot

Active Learning 入門 by
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
51.8K views60 slides
機械学習による統計的実験計画(ベイズ最適化を中心に) by
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
13K views216 slides
Semantic segmentation by
Semantic segmentationSemantic segmentation
Semantic segmentationTakuya Minagawa
111.3K views43 slides
機械学習のためのベイズ最適化入門 by
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
185.6K views67 slides
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向 by
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
2.1K views21 slides
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」 by
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」Hitomi Yanaka
4.1K views69 slides

What's hot(20)

Active Learning 入門 by Shuyo Nakatani
Active Learning 入門Active Learning 入門
Active Learning 入門
Shuyo Nakatani51.8K views
機械学習による統計的実験計画(ベイズ最適化を中心に) by Kota Matsui
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui13K views
機械学習のためのベイズ最適化入門 by hoxo_m
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m185.6K views
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向 by SSII
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2.1K views
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」 by Hitomi Yanaka
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
Hitomi Yanaka4.1K views
深層学習の数理:カーネル法, スパース推定との接点 by Taiji Suzuki
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
Taiji Suzuki10.3K views
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing by Deep Learning JP
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP3K views
時系列問題に対するCNNの有用性検証 by Masaharu Kinoshita
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
機械学習におけるオンライン確率的最適化の理論 by Taiji Suzuki
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論
Taiji Suzuki24.1K views
【論文紹介】How Powerful are Graph Neural Networks? by Masanao Ochi
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi3.9K views
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2 by Preferred Networks
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Preferred Networks1.6K views
ノンパラベイズ入門の入門 by Shuyo Nakatani
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani27.4K views
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012) by Taiji Suzuki
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
Taiji Suzuki7.8K views
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜 by SSII
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII1.9K views
1 6.変数選択とAIC by logics-of-blue
1 6.変数選択とAIC1 6.変数選択とAIC
1 6.変数選択とAIC
logics-of-blue29.4K views
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features by ARISE analytics
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
ARISE analytics7.8K views

Similar to [DSO]勉強会_データサイエンス講義_Chapter8

[DSO]勉強会データサイエンス講義_Chapter10 by
[DSO]勉強会データサイエンス講義_Chapter10[DSO]勉強会データサイエンス講義_Chapter10
[DSO]勉強会データサイエンス講義_Chapter10tatsuyasakaeeda
149 views17 slides
[DSO]勉強会_データサイエンス講義_Chapter1,2 by
[DSO]勉強会_データサイエンス講義_Chapter1,2[DSO]勉強会_データサイエンス講義_Chapter1,2
[DSO]勉強会_データサイエンス講義_Chapter1,2tatsuyasakaeeda
1.5K views20 slides
[DSO]勉強会_データサイエンス講義_Chapter6 by
[DSO]勉強会_データサイエンス講義_Chapter6[DSO]勉強会_データサイエンス講義_Chapter6
[DSO]勉強会_データサイエンス講義_Chapter6tatsuyasakaeeda
322 views18 slides
おしゃスタ@リクルート by
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルートIssei Kurahashi
19.2K views43 slides
[DSO]勉強会_データサイエンス講義_Chapter9 by
[DSO]勉強会_データサイエンス講義_Chapter9[DSO]勉強会_データサイエンス講義_Chapter9
[DSO]勉強会_データサイエンス講義_Chapter9tatsuyasakaeeda
145 views17 slides
[DSO]勉強会_データサイエンス講義_Chapter3 by
[DSO]勉強会_データサイエンス講義_Chapter3[DSO]勉強会_データサイエンス講義_Chapter3
[DSO]勉強会_データサイエンス講義_Chapter3tatsuyasakaeeda
1.2K views29 slides

Similar to [DSO]勉強会_データサイエンス講義_Chapter8(20)

[DSO]勉強会データサイエンス講義_Chapter10 by tatsuyasakaeeda
[DSO]勉強会データサイエンス講義_Chapter10[DSO]勉強会データサイエンス講義_Chapter10
[DSO]勉強会データサイエンス講義_Chapter10
tatsuyasakaeeda149 views
[DSO]勉強会_データサイエンス講義_Chapter1,2 by tatsuyasakaeeda
[DSO]勉強会_データサイエンス講義_Chapter1,2[DSO]勉強会_データサイエンス講義_Chapter1,2
[DSO]勉強会_データサイエンス講義_Chapter1,2
tatsuyasakaeeda1.5K views
[DSO]勉強会_データサイエンス講義_Chapter6 by tatsuyasakaeeda
[DSO]勉強会_データサイエンス講義_Chapter6[DSO]勉強会_データサイエンス講義_Chapter6
[DSO]勉強会_データサイエンス講義_Chapter6
tatsuyasakaeeda322 views
おしゃスタ@リクルート by Issei Kurahashi
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルート
Issei Kurahashi19.2K views
[DSO]勉強会_データサイエンス講義_Chapter9 by tatsuyasakaeeda
[DSO]勉強会_データサイエンス講義_Chapter9[DSO]勉強会_データサイエンス講義_Chapter9
[DSO]勉強会_データサイエンス講義_Chapter9
tatsuyasakaeeda145 views
[DSO]勉強会_データサイエンス講義_Chapter3 by tatsuyasakaeeda
[DSO]勉強会_データサイエンス講義_Chapter3[DSO]勉強会_データサイエンス講義_Chapter3
[DSO]勉強会_データサイエンス講義_Chapter3
tatsuyasakaeeda1.2K views
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの by Takashi J OZAKI
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
Takashi J OZAKI6.2K views
金融×AIで解くべき問題は何か? by Tsunehiko Nagayama
金融×AIで解くべき問題は何か?金融×AIで解くべき問題は何か?
金融×AIで解くべき問題は何か?
Tsunehiko Nagayama1.2K views
ベイジアンネット技術とサービス工学におけるビッグデータ活用技術 by Yoichi Motomura
ベイジアンネット技術とサービス工学におけるビッグデータ活用技術ベイジアンネット技術とサービス工学におけるビッグデータ活用技術
ベイジアンネット技術とサービス工学におけるビッグデータ活用技術
Yoichi Motomura14K views
企業の中の経済学 by Yusuke Kaneko
企業の中の経済学企業の中の経済学
企業の中の経済学
Yusuke Kaneko3.8K views
BigQueryとTableauによるカスタマージャーニー分析 by CROSSHACK, Inc.
BigQueryとTableauによるカスタマージャーニー分析BigQueryとTableauによるカスタマージャーニー分析
BigQueryとTableauによるカスタマージャーニー分析
CROSSHACK, Inc.412 views
Java Küche Introducing Cognitive Services_20171007 by Ayako Omori
Java Küche Introducing Cognitive Services_20171007Java Küche Introducing Cognitive Services_20171007
Java Küche Introducing Cognitive Services_20171007
Ayako Omori1.5K views
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016 by Tokoroten Nakayama
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama29.1K views
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性 by BrainPad Inc.
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
データサイエンティストとは? そのスキル/ナレッジレベル定義の必要性
BrainPad Inc. 8.9K views
MultiRec: A Multi-Relational Approach for Unique Item Recommendation in Aucti... by harmonylab
MultiRec: A Multi-Relational Approach for Unique Item Recommendation in Aucti...MultiRec: A Multi-Relational Approach for Unique Item Recommendation in Aucti...
MultiRec: A Multi-Relational Approach for Unique Item Recommendation in Aucti...
harmonylab2.7K views
行動計量シンポジウム20140321 http://lab.synergy-marketing.co.jp/activity/bsj_98th by Yoichi Motomura
行動計量シンポジウム20140321 http://lab.synergy-marketing.co.jp/activity/bsj_98th行動計量シンポジウム20140321 http://lab.synergy-marketing.co.jp/activity/bsj_98th
行動計量シンポジウム20140321 http://lab.synergy-marketing.co.jp/activity/bsj_98th
Yoichi Motomura1.9K views
Big data解析ビジネス by Mie Mori
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
Mie Mori3.5K views

[DSO]勉強会_データサイエンス講義_Chapter8

  • 2. 教科書 2
 Rachel Schutt, Cathy O‘Neil (2014) 「データサイエンス講義」 (瀬戸山 雅人・石井 弓美子・河内 崇・河内 真理子・古畠 敦・ 木下 哲也・竹田 正和・佐藤 正士・望月 啓充 訳) 1章 はじめに:データサイエンスとは 2章 統計的推論、探索的データ分析、データサイエンスのプロセス 3章 アルゴリズム 4章 スパムフィルタ、単純ベイズ、データラングリング 5章 ロジスティック回帰 6章 タイムスタンプと金融モデリング 7章 データから意味を抽出する 8章 レコメンデーションエンジン :ユーザが直接触れる大規模データ製品を構築する 9章 データ可視化と不正検出 10章 ソーシャルネットワークとデータジャーナリズム 11章 因果関係 12章 疫学 13章 データ分析のコンペティションから得られた教訓 :データのリークとモデルの評価 14章 データエンジニアリング :MapReduce、Pregel、Hadoop 15章 生徒たちの声 16章 次世代のデータサイエンティスト、データに対する過信と倫理
  • 3. Leverages Marketing Department 自己紹介 3 ● 阪上晃幸(@Mr_Sakaue) ● データアナリスト 兼 室長 ● 経歴 2012/2:レバレジーズでインターン 2012/3:一橋大学大学院経済学研究科 修士課程修了 2012/4〜:レバレジーズ入社 ● 趣味 料理、ブログ記事の作成 『かものはしの分析ブログ』で検索!
  • 4. Leverages Marketing Department ● レコメンデーションエンジンとは ● 最近傍法の10個の問題点 ○ 次元の呪い ○ オーバーフィッティング ● 機械学習による分類 ● 行列特異値分解 ○ Pythonでやってみる ● 主成分分析 ○ Pythonでやってみる ● フィルターバブル ● Appendix ● 参考文献 報告内容 4
  • 5. Leverages Marketing Department ● 一番シンプルに言うと、ユーザとアイテムの組み合わせに関して重み付けをするもの ○ タスクとしては訓練データからユーザの他の好みを予測することで、 扱うデータは以下のようなもの ■ メタデータ(Ex. ユーザ:性別、アイテム:色) ■ 好みのデータ(「君の名は」が好きか、「ミュウツーの逆襲」が好きか、 etc...) ● 多くのユーザは任意の映画に対してほとんど意見を持たない(評価が0点)。 ○ ほとんどのデータが0 のベクトルをスパースベクトルと呼ぶ。 レコメンデーションエンジンとは Uがユーザ、Vがアイテムとし、 ノードに任意の重みが割り当てられ ているイメージ 5
  • 6. Leverages Marketing Department ● 最近傍法によるレコメンデーションについて ○ ユーザAの過去の映画評価と最も近い映画の評価をしているユーザBを見つけ、 Aの評価はBの評価と同様であると仮定します。 そして、Aがまだ見ていないが、Bが高く評価している映画をレコメンドに使います。 ○ ユーザの評価の近さに関しては様々な指標がある。 ■ ジャッカード距離 ■ コサイン類似度 ■ ユークリッド距離 最近傍法の10個の問題点 6
  • 7. Leverages Marketing Department 1. 次元の呪い:次元が多いとユーザ/アイテム間の距離が遠くなりすぎる 2. オーバーフィッティング:kが小さいと任意の誰かの意見に引きづられ、             精度が出ない 3. 特徴間の相関:同じような変数に別々に重み付け(二重計上)し、         予測パフォーマンスに悪影響を及ぼす 4. 特徴の相対的な重要度:一律で変数を扱うのは良くない 5. スパースの程度:スパースな場合、ジャッカード距離だと意味がなくなる 6. 測定誤差:データが誤っている可能性もある 7. 計算の複雑さ:計算にコストがかかる 8. 距離指標の感度:ユークリッド距離の場合、値の大きさに敏感になる 9. 好みの経時的な変化:ユーザの好みの変化を捉えれない 10. 更新のためのコスト:データを追加した際のコストがかかる ※教科書で特に重要とされている1と2についてのみ深ぼる。 最近傍法の10個の問題点 7
  • 8. Leverages Marketing Department コーネル大学の講義資料にk-nnに関する次元の呪いの説明が書かれていたので、引用す る。 次元の呪い 8 l は全てのk近傍を含む、最小の超立方体の辺の長さ 次元dが大きくなるにつれて、近傍を含む超立方体の辺が上限の 1に 近づいていく。これは、 関係が薄いものが近傍となりうる ことを意味し ている。
  • 10. Leverages Marketing Department k近傍法における、kごとのクロスバリデーションスコアを以下に示す。 データはMovieLens 100k、ライブラリはsklearnを利用。 教師データはあるアイテムの点数で、それを予測するタスク。特徴量はユーザの属性データ。 オーバーフィッティング 10 kを増やしていくと CVスコアが高まっ ていく傾向が示さ れている。
  • 11. Leverages Marketing Department ● 線形回帰モデルの適用 ○ メリット ■ 簡単に係数を推定できる ■ 特徴の重み付けを同時に行える ○ デメリット ■ 完璧なモデルにするには、アイテムの数と同じだけのモデルを用意する必要がある ■ 十分なデータがない場合にオーバーフィッティングが生じうる (変数の絶対値よりも大きな係数は疑うのが良いとされている。) 機械学習による分類 11
  • 12. Leverages Marketing Department 線形回帰モデルのオーバーフィッティング問題を解決するために、係数ごとにペナルティーを 与えるなどの対応が取られる。(教科書ではベイズによる事前情報の付与があげられてい た。) 以下の図はデータはMovieLens 100k、ライブラリはsklearnで、リッジ回帰のクロスバリデー ション結果を可視化したもの。 機械学習による分類 12 ペナルティーを与える係数の ベストな値を探索
  • 13. Leverages Marketing Department ● 次元を削減することには、2つの意味がある。 ○ 数学的に次元が削減されていること ○ 潜在的な特徴を生成していること ■ カワイイという概念。それは複数の要素の組み合わせからなる。 ● もふもふである ● 目がくりんとしている ● 手のひらサイズである ■ 潜在的なものは直接観測されない。 ■ 潜在的な概念から顧客の好みを掴み、それをレコメンデーションに使う。 次元の削減 13 もふもふである 目がくりんとしている 手のひらサイズである カワイイ
  • 14. Leverages Marketing Department ● 特異値分解(Singular Value Decomposition, SVD) 特異値分解定理により、 あるm行n列の行列でランク数がk個の行列Xに関して、常に以下のように表すことがで きる。 特異値分解 14 X = USV’ (m, n) (m, k) (k, k) (k, n)
  • 15. Leverages Marketing Department 特異値分解 15 X = USV’ (m, n) (m, k) (k, k) (k, n) 正方ユニタリ行列で Vと直交する。 ユーザに対応している。 対角行列となっており、 対角要素のことを特異値と 呼ぶ。 最も大きな潜在変数は最も 大きな特異値を持つ。 正方ユニタリ行列で Uと直交する。 アイテムに対応している。 mはユーザ数、 nはアイテム数 ※ ユニタリ行列はそれ自身を 掛け合わせると単位行列に なるような行列 UU’ = I
  • 16. Leverages Marketing Department ● 列に関して、特異値の降順に並べ替えることで、次元が重要なものからそうでないもの へと並び替わる。 その上から何個までを保持し、残りを捨てるかはトレーニングパラメータと見なすことがで きる。 特異値分解 16 X = USV’ (m, n) (m, k) (k, k) (k, n)
  • 17. Leverages Marketing Department ● SVDを求めることができたら、それは同時にXの予測値が手に入ったと考えることもでき る。値が大きく、まだそのユーザにレコメンドしていないアイテムに関してランク付けの予 測値として使うこともできる。 特異値分解 17 X = USV’ (m, n) (m, k) (k, k) (k, n) ^
  • 20. Leverages Marketing Department ● 主成分分析(Principal Component Analysis, PCA) 以下のように表現できるようなUとVを勾配降下法などで推定する。 (実際のXと、UとVを使って近似したXとの相違を最小化) ※dの数は100個程度が教科書では推奨されている。 主成分分析 20 (m, n) (m, d) (d, n)
  • 21. Leverages Marketing Department ● 主成分分析により求められた潜在的な特徴は互いに相関しないという性質がある。 主成分分析 21 (m, n) (m, d) (d, n)
  • 23. Leverages Marketing Department 主成分分析(Pythonでやってみる) 23 2次元プロット 3次元プロット 赤が男性の、青が女性のアイ テム評価を3次元に落とし込ん だもの
  • 24. Leverages Marketing Department 主成分分析(Pythonでやってみる) 24 ● 主成分分析により求められた潜在的な特徴(100個)を元にk-nn法を用いてアイテムの 評価予測を行った際の精度は、主成分分析を使わない場合よりも精度が微増したが、k を増やしていくとその差はほとんど無視できる。 次元数1681でのk-nn 次元数100でのk-nn
  • 25. Leverages Marketing Department ● フィルターバブルとは 神嶌(2012)より引用 “個人化技術の普及により生じたと、Eli Pariser が主張する問題 ○ 関心のある話題のみに集中し、多様な話題を知る機会を失う ○ 関心のない話題は、どんなに重大であっても除外される” フィルターバブルへの対応としては、   ”利用者などが指定した、特定の視点に対して、推薦結果ができる だけ中立性を保つように配慮する推薦システム”   などがあげられている。 フィルターバブル 25
  • 27. Leverages Marketing Department ● レコメンデーションの種類 ○ コンテンツベース ■ 近傍ベース ■ モデルベース ○ 協調フィルタリング ■ 近傍ベース ● ユーザベース ● アイテムベース ● ハイブリッド ■ モデルベース ● 回帰 ● 潜在因子(SVD, 特異値分解, etc...) Appendix1 27 今回登場したのは 協調フィルタリングの近傍ベースとモデル ベースの回帰や潜在因子など 【Ilya Katsov (2017)より引用】
  • 28. Leverages Marketing Department ● Cold-Start問題 ○ 対ユーザ ■ 新たにシステムを利用し始めた利用者に対して適切な推薦をする難しさ ○ 対アイテム ■ 推薦対象として新たにシステムに導入されたアイテムを推薦する難しさ ● Counterfactual【比較的新しいテーマ】 ○ Upliftモデリング ■ レコメンドをしなくても購買した可能性がある。 レコメンドをすれば購買してくれるような人にレコメンドできないか。 ● 予測精度 ○ オフライン評価 ■ 過去のデータをもとに推薦結果の評価を行う。一般の機械学習と同様に、交差確認によって汎化誤 差を推定し、その汎化誤差で予測精度を評価 ○ オンライン評価 ■ 被験者に実際にシステムを利用させ、推薦が適合したかどうかを調査するもの。 Appendix2 28
  • 29. Leverages Marketing Department [1] Machine Learning for Intelligent Systems, "Lecture 2: k-nearest neighbors" [2] Julian Avila ,Trent Hauck (2019), 『Python機械学習ライブラリ scikit-learn活用レシピ 80+』, インプレス [3] Nick Becker (2016), "Matrix Factorization for Movie Recommendations in Python" [4] 神嶌・赤穂・麻生・佐久間 (2012) , "情報中立推薦システム" [5] Ilya Katsov (2017) , "Introduction to Algorithmic Marketing: Artificial Intelligence for Marketing Operations" [6] 神嶌 (2016) , "推薦システムのアルゴリズム" [7] Sato et al. (2019) , "Uplift-based Evaluation and Optimization of Recommenders", RecSys2019 参考文献 29