77. takemikami’s note – http://takemikami.com/
協調フィルタリング(ALS)のイメージ
Copyright (C) Takeshi Mikami. All rights reserved. 77
協調フィルタリングのアルゴリズム
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 (交互最小二乗法)
80. takemikami’s note – http://takemikami.com/
協調フィルタリング(ALS)の手続き 〜イメージ1
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)の手続き 〜イメージ2
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
評価値行列
アイテムの
特徴量行列
ユーザの特徴量行列
アイテム毎の評価値の平均を算出
十分に小さい値で乱数をふる
82. takemikami’s note – http://takemikami.com/
協調フィルタリング(ALS)の手続き 〜イメージ3
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
評価値行列
アイテムの特徴量行列ユーザの特徴量行列
=×
線形回帰の例で「a,b」にあたる 線形回帰の例で「x」にあたる 線形回帰の例で「y」にあたる
以下の誤差が最小になるようにユーザの特徴量を計算
・「ユーザの特徴量行列」と「アイテムの特徴量」の積
・「評価値行列」
83. takemikami’s note – http://takemikami.com/
協調フィルタリング(ALS)の手続き 〜イメージ4
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
評価値行列
アイテムの特徴量行列ユーザの特徴量行列
=×
線形回帰の例で「x」にあたる 線形回帰の例で「a,b」にあたる 線形回帰の例で「y」にあたる
以下の誤差が最小になるようにユーザの特徴量を計算
・「ユーザの特徴量行列」と「アイテムの特徴量」の積
・「評価値行列」
84. takemikami’s note – http://takemikami.com/
協調フィルタリング(ALS)の手続き 〜イメージ5
Copyright (C) Takeshi Mikami. All rights reserved. 84
協調フィルタリングのアルゴリズム
ALS(交互最小二乗法)による協調フィルタリングのイメージ
A B C D E
1
2
3
4
A B C D E
1
2
3
4
評価値行列
アイテムの特徴量行列ユーザの特徴量行列
=×
誤差が収束するまで、
これらの特徴量の再計算を繰り返す
誤差が収束するまで、
これらの特徴量の再計算を繰り返す
85. takemikami’s note – http://takemikami.com/
レコメンドの周辺知識と実装方法
システム構成と周辺知識
ライブラリを用いた協調フィルタリングの実装
協調フィルタリングの応用例
Copyright (C) Takeshi Mikami. All rights reserved. 85