- @ThothChildren
- 2018.9.11
- PV 130
Slope One
ー 概要 ー
Slope Oneはアイテム間協調フィルタリングの手法に似た手法の一つで、不明な評価値を他の評価値の平均差を使って単純に推定する.アルゴリズムが非常にシンプルであるが精度が高いため、様々なシステムで導入されている.
この章を学ぶ前に必要な知識
条件
- ユーザの評価履歴があること
- 複数の商品を複数のユーザが評価していること
効果
- ユーザが評価を高くしそうな商品を推定でき、おすすめを提供できる
- アルゴリズムがシンプルで実装も容易だが、精度が高い
ポイント
- アイテム間協調フィルタリングの仲間
- ある商品Aと知りたい商品Xで両方を購入したユーザがどのような評価をしているかを算出
- その評価の平均的な差を推定値が不明なユーザに当てはめる
解 説
Slope Oneはアイテム間協調フィルタリングの手法に似た手法の一つで、不明な評価値を他の評価値の平均差を使って単純に推定する.(詳細は後ほど)
アルゴリズムが非常にシンプルであるが精度が高いため、様々なシステムで導入されている. | Slope Oneとは |
Slope Oneの概念図.
この表の数値は1~5の星や評価を示す.
ユーザDにとって商品Dがおすすめできるものかどうか、ユーザDが評価をするかどうかを推定する.
| |
協調フィルタリングであるため、Slope Oneはユーザの行動履歴や評価が十分にあることが前提となっている.
<手順>
1. (前準備)各ユーザとアイテムの評価を集める.
2. (各推定評価値推定)
与えられている他の商品との比較を行い、その商品より平均的にいくら評価が違うか(平均的な評価の差)を計算してそのユーザの評価値にそのユーザ平均の評価の差を足し合わせる.
上記の図では商品Aと商品Dに注目する.このとき、ユーザABCはみんな評価をしており、二つの商品の評価の差は、3 - 5(Aより) + 1 -1 (Bより) + 4 - 5(Cより) = -3 となり、3つの平均であるため、-1の平均的な差.
ユーザDはAに対して4の評価を与えているため、商品Dに対しては4 - 1 = 3の評価をすると推定できる.
3. (重み平均で最終推定評価値算出)
対象の商品と各商品で推定値をそれぞれ出せたら、最後にこれらを重みをつけて足し合わせる.重みは各推定値を算出するにあたって参考にしたユーザ数.ユーザの数が多いものが重要視される.
上記の図では、商品AとDを両方買っているのは3人、商品BとDは2人、商品CとDも二人となっており、これらが各推定値の重み平均を計算するときに使用されます. | Slope Oneについての詳細 |
この章を学んで新たに学べる
Comments