レコメンド

推薦システムの手法のまとめ

長いこと業務でレコメンドアルゴリズムの開発を担当しているのですが、そういえば推薦システム(Recommender System)で用いられている手法の全体観をちゃんと抑えていなかったなぁと感じることが最近ありました。 ということで今回は一度基礎に立ち返って、推薦システムで用いられている手法をまとめることにします。 なお、紹介した手法の具体的な実装方法は紹介せず、推薦システムの全体像を捉えることを目 […]

よく使われる2つのスコアの集約関数と複比ユニノルムとの比較

最近、相互推薦システムについて調べていて、Latent Factor Models and Aggregation Operators forCollaborative Filtering in Reciprocal Recommender Systemsという論文を読んでいます。 その中で、2つの選好スコアの集約関数についての記載がありました。ここで、選好スコアとは、ユーザAがユーザBをどれくら […]

レコメンド結果にMMRを適用して多様性を考慮した順位の入れ替えをやってみた

最近、Gunosyの方が書いた『多様性の導入による推薦システムにおけるユーザ体験向上の試み』という論文を読み、多様性を考慮したレコメンド手法に興味を持ちました。 この論文によれば、多様性を導入したレコメンドによって、ユーザのサービス継続率や利用日数が向上するのだとか。 そこで、上記をきっかけに引用文献等をいろいろ調査していたところ、MMR(Maximal Marginal Relevance:周辺 […]

MPR(Mean Percentage Ranking)〜暗黙的にユーザの嗜好を得られるレコメンドシステムにおけるオフライン評価指標の紹介

レコメンドシステムにおけるオフライン評価指標の一つであるMPR(Mean Percentage Ranking)について書かれた論文を見つけました。 今回はその調べた結果をまとめます。 ちなみに、レコメンド文脈でのオフラインorオンライン評価とは以下を意味します。 分類 説明 オンライン評価 実際にユーザにレコメンドを実施し、ユーザがどれだけ反応したかを評価すること。 Ex. A/Bテスト オフラ […]

代表的なレコメンド評価指標の実装と可視化

最近、業務でレコメンドシステムの評価指標(メトリクス)の調査に取り組んでいます。 Precision@KやRecall@K、MAP@Kといったオフラインにおけるレコメンド指標の概要(簡単なsampleを使った説明)に関してはwebページの随所にみられますが、その実装コードや実際に指標を使って結果を比較している記事はなかなか見つかりません。 なので、今回は実際にテストデータをいくつか作成し、各指標を […]

行動履歴をもとに協調フィルタリングとWord2Vecでレコメンドしてモデルの精度を評価する

レコメンド関連の勉強のために使えるデータを探していたところ、Kaggleで丁度良いデータセットがあったので、今回はユーザの行動履歴をもとにアイテムをレコメンドする方法とそのレコメンドモデルを評価する方法を説明します。 使用するアルゴリズムは古典的なアイテムベース協調フィルタリングと、割と新しい手法であるWord2Vec(アイテムを分散表現するのでitem2vecとも呼ばれます)です。 Word2V […]