Skip to content

Instantly share code, notes, and snippets.

@rkmathi
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rkmathi/11358271 to your computer and use it in GitHub Desktop.
Save rkmathi/11358271 to your computer and use it in GitHub Desktop.
2014/04/28

推薦システム

  • 内容ベースフィルタリング
  • 協調フィルタリング

Web上の300万の顧客には、Web上の300万の店舗を

Jeff Bezos, Amazon CEO

1. データを入力する段階

データ

  • 嗜好データ (preference data)
  • 検索質問 (query)
  • アイテムの特徴 (item feature)
  • デモグラフィックな特徴 (demographic feature)

利用者自身の年齢などの特徴

  • コンテキストの特徴 (context feature)

推薦されたアイテムを使う日時、場所、アイテムの在庫状況など

データの獲得

  • 明示的な獲得
  • 採点法: 「星5段階で3」など
  • 格付け法: 「上中下で中」など
  • 暗黙的な獲得
  • 「あるDVDを買った履歴があるなら、その人はそのDVDが好きに違いない」
  • 「あるWebページの滞在時間が長いならば、その人はそのWebページに関心があるに違いない」

暗黙的獲得は、利用者とのインタラクションだけで随時データ取得可能だが、 行動から得たデータが利用者の嗜好を正確に表さない場合も多い。

x 明示的獲得 暗黙的獲得
データ量 少ない 多い
評価の正確さ 少ない 多い
未評価と不支持 明確 不明確
利用者の認知 認知 不認知

2. そのデータに基づいて推薦を予測する段階

内容ベースフィルタリング

  • 直接指定形

どんなものが好きなのかを具体的に入力

  • 関節指定形

利用者の過去の嗜好データを使う

協調フィルタリング

他人の意見を利用した「口コミ」による推薦

嗜好が似ている人が好きな物を推薦する

協調 vs 内容ベース

  • セレンディピティ (serendipity): 興味 + 新規性 + 意外性

単に知らないだけでなく、意外性もある推薦

  • 目新しさ (novelty): 興味 + 新規性

  • ドメイン知識

  • ドメイン知識を管理するDBの維持は高コスト
  • 利用者が選択基準にする特徴の情報がなければ推薦は不可能
  • どの特徴を採用するかが、利用者の意思決定に影響を与える
  • start-up問題

使いはじめの利用者への推薦や、新アイテムの推薦は難しい

  • 被覆率

(推薦候補にできるアイテム数) / (取り揃えた全アイテム数)

とりそろえたアイテムすべてを推薦できるわけではない

推薦タスクの分類

  • 適合アイテム発見

利用者の嗜好に適合するアイテムをなにか見つけ出す

  • 評価値予測

アイテムに利用者がつけるであろう評価値を予測する

  • 適合アイテム列挙

  • 効用最適化

疎なデータ

ほとんどの対象についてデータは不明

3. 利用者にとって適切な状態でその結果を表示する段階

適切な形式で推薦予測を利用者に表示する必要がある

  • 適合アイテム発見
  • 評価値予測

推薦システムの評価

  • オフラインテスト

過去に蓄積した評価値、行動ログを用いたテスト

  • 実験室テスト

ユーザインターフェースを備えたシステムを用いるが、被験者を対象とした評価

  • 実地テスト

システムの実運用中に、実際の利用者を対象とした評価

システム運用では、コストなどを考えると「オフライン→実験室→実地」の手順で行われるのが普通

予測誤差

予測した嗜好と実際の嗜好のずれ

  • 教師ありの機械学習手法では最も重視される
  • 利用者の満足にとってもっとも重要な性能指標

普通の機械学習では、k分割交差確認 (k-fold cross validation)で精度を確認

誤差の評価尺度

適合アイテム発見

  • 正解率

(予測できた適合データ数) / (データの総数)

  • 適合率/精度

(予測できた適合データ数) / (適合と予測したデータの総数)

  • 再現率

(予測できた適合データ数) / (適合データの総数)

  • 平均絶対誤差 (Mean Absolute Error; MAE)
  • 平均二乗誤差平方根 (Root Mean Average Error; RMSE)

協調フィルタリング手法の分類

  • メモリベース法
  • 利用者間型
  • アイテム間型
  • モデルベース法
  • クラスタモデル
  • 関数モデル
  • 確率モデル
  • 行列分解

二値評価と評価ゆらぎ

サクラ攻撃に対して頑健

確率モデル

確率: 偶然に生じる事象を扱う枠組み

確率分布: 事象が生じる頻度や確からしさを表す

条件付き確率: 他の情報に基づいて変わる確率

確率モデル

共起型

ある一回の評価付けで、どの利用者がどのアイテムを評価したかという同時確率でモデル化

オンライン推薦

  • スケーラビリティ
  • 反映スピード
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment