Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)

7,313 views

Published on

2010/12/11におこなったLT資料
二本のうち、比較的真面目な方

Published in: Technology

「一番いいおすすめを頼む」 ~5分でわかるレコメンドエンジンの基礎~ (Gunma.web #3 2010/12/11)

  1. 1. 「一番いいおすすめを頼む」〜5分でわかるレコメンドエンジンの基礎〜 Present by ぱろっと(@parrot_studio) for Gunma.web #3 2010/12/11
  2. 2. ProfileTwitter : @parrot_studiohatena/github : parrot_studio RDGC - Ruby(Random) Dungeon Game Core 0.2 http://sourceforge.jp/projects/rdgc/ 2010/11 Released!!
  3. 3. レコメンドの話で大丈夫か? You sure that’s story of “recommend”?
  4. 4. レコメンド機能=Amazonのおすすめ
  5. 5. 4コマ漫画と技術書でカオスな 私のおすすめ
  6. 6. Amazon says:お前と似た購買傾向のユーザは これも買ってるから お前も買えや( ゚Д゚)y─~~
  7. 7. でも、技術屋で4コマを買う 「私と似たユーザ」はそんなにいる(´・ω・)? ROをやってる技術屋より少ないような・・・
  8. 8. 「似ている」の基準は?
  9. 9. 一番いい説明を頼む Ill take the best explanation you have.
  10. 10. 例:ラーメン屋の特徴調査
  11. 11. スープの濃さ:薄い1-10濃い麺の太さ:細い1-10太い※数字が大きい≠高スコア
  12. 12. どれが「似ている」? 濃さ 太さ A店 7 2 B店 3 5 C店 7 6
  13. 13. グラフにプロットしてみる
  14. 14. どれが「似ている」?876543210 0 1 2 3 4 5 6 7 A B C
  15. 15. 似ている=角度が小さい ∠α < ∠β
  16. 16. 「似ていること」はベクトルの角度から求められる
  17. 17. ところで・・・
  18. 18. 「濃さ」「太さ」→2次元 +「価格」→3次元
  19. 19. +「駅からの距離」→4次元
  20. 20. もはや想像不能Σ(゚Д゚;≡;゚д゚)
  21. 21. 公式で機械的に求めよう (`・ω・´) b
  22. 22. これは「公式」 うまく使いこなせよ This is Formula. I think now youll have more luck.
  23. 23. 求めたいもの=ベクトルaとbの角度Θ
  24. 24. 角度Θは面倒なので cosΘを求める
  25. 25. Θが小さいほどcosΘは1に近づく=cosΘが1に近いほど似ている
  26. 26. 公式:cosΘ = a・b / |a||b|a・b = a1b1+a2b2+…+anbn|a| = sqrt(a1^2+a2^2+…+an^2)
  27. 27. ラーメン屋の例だと・・・a1:A店の濃さの値a2:A店の太さの値 etc...
  28. 28. 実際に計算してみよう
  29. 29. |A|^2= 7^2+2^2 = 49+4 = 53|A| = sqrt(53) = 7.2801
  30. 30. A・B= 7*3+2*5 = 31|B| = … = 5.8309
  31. 31. cos∠AB= 31/(7.28 * 5.83)= 0.7304
  32. 32. 同じように計算すると・・・cos∠BC = 0.9483cos∠AC = 0.9088cos∠AB = 0.7304
  33. 33. もしかして:・BとCはよく似ている・AとCもそれなりに似ている・AとBはさほど似てない
  34. 34. グラフの通り(`・ω・´)876543210 0 1 2 3 4 5 6 7 A B C
  35. 35. お前は常にレコメンドにとって 最良のベクトルを思い、 自由に選択していけ So choose factors of vector carefully. The recommend depends on it.
  36. 36. 何をベクトルとするか?
  37. 37. 例1:ユーザが購入した本{プレゼン=>1, Ruby=>3, 4コマ=>10}
  38. 38. 例2:記事に使われているキーワードの出現回数 {勉強会=>5, Ruby=>3, レコメンド=>8, 群馬=>2}
  39. 39. キーワードの出現傾向が似ている=よく似た記事はこちら(´・ω・)っ=記事の推薦システム
  40. 40. そうだな、次もこれを見ている奴に 付き合ってもらう Well, next time well have to get help, again...
  41. 41. 今回やらなかったこと:レコメンドシステムの仕組み
  42. 42. ・類似度から推薦するロジック・計算を最適化するためのIndex構築・IndexとNoSQL系ストレージの関係・大規模データをどう分散処理させるかetc...
  43. 43. また次の機会に(`・ω・´)ノ
  44. 44. ありがとうございました (´・ω・)っ旦~

×