40021


レコメンドシステムの協調フィルタリングでアイテムベースとユーザーベースの違いがわからないので質問します。

ぐぐってみると、あるページではアイテムベースと紹介されてるような内容が、他のページではユーザーベースだったり、その逆だったりがあります。

この2つを区別する要素を教えていただきたいのと、できれば下記の例で説明していただきたいです。  
下記の例でアイテムベースが、この認識であってるかどうかもちょっと自信がないです。

実際のサービスで使うのとかけ離れた少ないデータでの例になってるのはご了承ください。

## (例)アマゾンでの本のレコメンド

## 1.アイテムベース

### インプット

Aさんはジャンプ、マガジン、コロコロを買っている  
Bさんはジャンプ、マガジンを買っている

### アウトプット

AさんとBさんは、買う雑誌の傾向が似ている  
だから、Bさんにコロコロをレコメンドしよう

## 2.ユーザーベース

### インプット

どういうインプットかわからない

### アウトプット

BさんにXXをレコメンドしよう


CC BY-SA 3.0
2017-12-02T00:46:51.150
39971
2017-12-18T02:26:43.197
25065
question
python ruby 機械学習 自然言語処理
協調フィルタリングにおける、アイテムベースとユーザーベースの区別方法


Asuka さんが質問文で例に挙げている「アイテムベース」の例は、むしろユーザーベースの例だと思います。

### ユーザーベース vs アイテムベース

ユーザーベース協調フィルタリングでは、どのユーザーがどのアイテムを買ったかを元に、ユーザー×アイテムの表をデータベースとして持っています。そして新しいユーザー
A が商品を買ったとき、どのアイテムを推薦するべきかを A さんと似た購入履歴を持つ **ユーザー**
を探すことで決めます。ユーザー間の関係性をもとに推薦アイテムを決めているので、ユーザーベースです。

対してアイテムベース協調フィルタリングでは、どのユーザーがどのアイテムを買ったかを元に、アイテム間の類似性を示すアイテム×アイテムの表をデータベースとして持っています。そして新しいユーザーが商品
X を買ったとき、どのアイテムを推薦するべきかを X と関連の高い **アイテム**
を探すことで決めます。アイテム間の関係性をもとに推薦アイテムを決めているので、アイテムベースです。

### 参考

英語でよければ、くだけた説明としては Wikipedia:en の ["Collaborative filtering -
Methodology"](https://en.wikipedia.org/wiki/Collaborative_filtering#Methodology)
が分かりやすいと思います。また、アイテムベース協調フィルタリングを提案した最初の論文であると言われている Sarwar らの ["Item-based
collaborative filtering recommendation
algorithms"](https://dl.acm.org/citation.cfm?id=372071)
中に書かれた説明も分かりやすかったです。また、2017年春に公開された IEEE Internet Computing の ["Two Decades of
Recommender Systems at
Amazon.com"](https://www.computer.org/csdl/mags/ic/2017/03/mic2017030012.html)
もよくまとまっていると思います。これを日本語で要約したブログ記事として[「Amazonの推薦システムの20年」](https://takuti.me/note/two-
decades-of-amazon-recommender/)があります。


CC BY-SA 3.0
2017-12-04T07:32:06.730
40021
2017-12-18T02:26:43.197
2017-12-18T02:26:43.197
19110
19110
39971
answer