狠狠撸

狠狠撸Share a Scribd company logo
行列分解モデルの数学的基礎
2022/08/27 機械学習の社会実装勉強会第14回
岩澤 幸太朗
? 前回の復習(BigQuery MLの行列分解モデルを用いた推薦システムの基礎)
? 行列分解の基本アプローチ
○ 目的関数
○ 勾配降下法
? 実装紹介(コードはこちら)
今回の内容
前回の復習(推薦システム手法まとめ)
1. コンテンツベースフィルタリング(content base filtering)?
アイテムの特徴(メタデータ等)をもとに、ユーザが過去に高評価したアイテムと似た特徴を持つアイテムを?
レコメンドする手法?
?
2. 協調フィルタリング(collaborative filtering)?
多くのユーザーから収集した嗜好データをもとに、ユーザが嗜好するであろうアイテムをレコメンドする手法?
- メモリベースアルゴリズム(トランザクションデータをそのまま使用)?
- ユーザベース ?
- ユーザーのアイテムへの評価をもとに、ユーザー間の類似度に基づいてレコメンド ?
- アイテムベース?
- ユーザーのアイテムへの評価をもとに、アイテム間の類似度に基づいてレコメンド?
- モデルベース(事前にモデル構築) ? 行列分解モデルもその一つ?
- ハイブリッド?
?
3. ハイブリッド?
映画1 映画2 映画3 …
k1 4 0 2 …
k2 4 5 2 …
k3 2 3 2 …
R U
V T
≒ ×
m
(user)
n (item)
映画1 映画2 映画3 …
私 4 ? 2 …
A 4 5 2 …
… … … … …
m
(user)
n (item)
k (latent feature)
k
k1 k2 k3
私 4 2 2
A 4 5 2
… … … …
k << n, m
行列分解
目的関数
推定した評価値行列
目的関数
その ij 成分
正規化項
勾配降下法を用いた最適化
目的関数は
を加えると
となり
勾配
更新式
pdf はこちら
https://github.com/kootr/ml-study-session/blob/main/20220821_matrix_f
actorization/matrix_factorization.pdf
→パラメータを収束するまで更新する
Demo
使用したscript:
https://github.com/kootr/ml-study-session/tree/main/20220821_matrix_factorization
- 協調フィルタリングと行列分解手法の解説
- https://developers.google.com/machine-learning/recommendation/collaborative/basics
- アイテムベースとユーザベースの比較
- https://medium.com/mlearning-ai/comparison-of-user-based-and-item-based-collaborative-filtering-f58a1c8a3f1d
- 行列分解の実装
- http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/
- 推薦システムの手法の全体像(コンテンツベースと協調フィルタリングの違い)
- https://yolo-kiyoshi.com/2020/06/22/post-1947/
- コンテンツベースと協調フィルタリングの違い
- https://gihyo.jp/dev/serial/01/recommend_hadoop/0006
参考文献

More Related Content

行列分解の数学的基础.辫诲蹿