Slope One

概要

Slope Oneはアイテム間協調フィルタリングの手法に似た手法の一つで、不明な評価値を他の評価値の平均差を使って単純に推定する.アルゴリズムが非常にシンプルであるが精度が高いため、様々なシステムで導入されている.
Facebookシェア Twitterツイート LINEで送る このエントリーをはてなブックマークに追加
この章を学ぶ前に必要な知識
0
条件
  • ユーザの評価履歴があること
  • 複数の商品を複数のユーザが評価していること
効果
  • ユーザが評価を高くしそうな商品を推定でき、おすすめを提供できる
  • アルゴリズムがシンプルで実装も容易だが、精度が高い
ポイント
  • アイテム間協調フィルタリングの仲間
  • ある商品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

Reasons
>>隠す