takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)のイメージ
Copyright (C) Takeshi Mikami. All rights reserved. 76
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージを⽰します
やりたいこと: 「評価値⾏列」を使って、ユーザとアイテムをk個の特徴量で表す
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
アイテムの
特徴量⾏列
ユーザの
特徴量⾏列
ユーザ
「評価値⾏列」から、
ユーザ・アイテムの特徴量⾏列を求める
(k個の因⼦でユーザ・アイテムを説明したい)
アイテム
※ ALS = Alternative Least Squares (交互最⼩⼆乗法)
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き
• 特徴量の数を決める
• アイテムの特徴量⾏列を初期化する
• 収束するまで以下を繰り返す
• 評価値⾏列・アイテムの特徴量⾏列から、
ユーザの特徴量を最⼩⾃乗法で計算
• 評価値⾏列・ユーザの特徴量⾏列から、
アイテムの特徴量を最⼩⾃乗法で計算
Copyright (C) Takeshi Mikami. All rights reserved. 78
協調フィルタリングのアルゴリズム
ALS (交互最⼩⼆乗法)による協調フィルタリングの⼿続きを⽰します
→次のスライドから、
ALS(交互最⼩⼆乗法)による協調フィルタリングの流れをイメージで⽰します。
79.
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き 〜イメージ1
Copyright (C) Takeshi Mikami. All rights reserved. 79
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
列数
特徴量の数を決める
アイテムの
特徴量⾏列
⾏数
ユーザの特徴量⾏列
80.
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き 〜イメージ2
Copyright (C) Takeshi Mikami. All rights reserved. 80
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
アイテムの
特徴量⾏列
ユーザの特徴量⾏列
アイテム毎の評価値の平均を算出
⼗分に⼩さい値で乱数をふる
81.
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き 〜イメージ3
Copyright (C) Takeshi Mikami. All rights reserved. 81
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
アイテムの特徴量⾏列ユーザの特徴量⾏列
=×
線形回帰の例で「a,b」にあたる 線形回帰の例で「x」にあたる 線形回帰の例で「y」にあたる
以下の誤差が最⼩になるようにユーザの特徴量を計算
・「ユーザの特徴量⾏列」と「アイテムの特徴量」の積
・「評価値⾏列」
82.
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き 〜イメージ4
Copyright (C) Takeshi Mikami. All rights reserved. 82
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
アイテムの特徴量⾏列ユーザの特徴量⾏列
=×
線形回帰の例で「x」にあたる 線形回帰の例で「a,b」にあたる 線形回帰の例で「y」にあたる
以下の誤差が最⼩になるようにユーザの特徴量を計算
・「ユーザの特徴量⾏列」と「アイテムの特徴量」の積
・「評価値⾏列」
83.
takemikamiʼs note ‒http://takemikami.com/
協調フィルタリング(ALS)の⼿続き 〜イメージ5
Copyright (C) Takeshi Mikami. All rights reserved. 83
協調フィルタリングのアルゴリズム
ALS(交互最⼩⼆乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値⾏列
アイテムの特徴量⾏列ユーザの特徴量⾏列
=×
誤差が収束するまで、
これらの特徴量の再計算を繰り返す
誤差が収束するまで、
これらの特徴量の再計算を繰り返す
84.
takemikamiʼs note ‒http://takemikami.com/
レコメンドの周辺知識と実装⽅法
システム構成と周辺知識
ライブラリを⽤いた協調フィルタリングの実装
協調フィルタリングの応⽤例
Copyright (C) Takeshi Mikami. All rights reserved. 84