• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014

on

  • 307 views

機械学習は、増え続けるデータをもとに、事業戦略の判断やより正確な予測、関連性の推定を行うための、重要なツールです。機械学習の中でも、最...

機械学習は、増え続けるデータをもとに、事業戦略の判断やより正確な予測、関連性の推定を行うための、重要なツールです。機械学習の中でも、最も幅広く活用されているアプリケーションはレコメンデーションエンジンです。スケーラブルな機械学習ライブラリであるMahoutは、レコメンデーションの生成とデータの扱いをシンプルなものにしてくれます。本講演では、より構築が簡単なレコメンデーションエンジンのデザインと、そのイノベーティブな実装方法を活用した場合の利点を紹介します。2014年7月8日に開催されたHadoop Conference Japan 2014での講演資料です。

Statistics

Views

Total Views
307
Views on SlideShare
259
Embed Views
48

Actions

Likes
3
Downloads
5
Comments
0

3 Embeds 48

https://twitter.com 56
http://blog.yoslab.com 7
http://mym.corp.yahoo.co.jp 1

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014 実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014 Presentation Transcript

    • ® © 2014 MapR Technologies 1 ® © 2014 MapR Technologies — Mahout Solr MapR Technologies
    • ® © 2014 MapR Technologies 3 •  ? •  ? •  •  ?
    • ® © 2014 MapR Technologies 4 32 6 章 事例:音楽レコメンダー 6.3 大規模なレコメンデーション 視聴履歴をシミュレートすることで、大量のデータを生成することができますが、 数十億の視聴記録を生成するためには、ビッグデータの処理は実際のところ必要では ありません。ただし、この規模で生成されたログの分析を行うにあたっては、システ ムのスケーラビリティについて注意を払い始める必要があります。 Music Machine のレコメンダーのシステムは、Mahout の RowSimilarityJob を 使ってユーザーの視聴ログを処理し、アーティストのインジケーターを含むレコメン デーションモデルを構築します。この演算処理は、システム全体の一部に過ぎませ ん。現実に使われるシステムが常にそうであるように、既存のシステム群とのフォー マット変換のために、大量の連携のためのコードが必要でした。その実装の概要を、 図 6-3 に示します。ここでは MapR を使っているので、Python、PostgreSQL、 LucidWorks を含むほぼすべてのコンポーネントは、クラスタ内で動作します。 図 6-3 レコメンダーのオフラインパートにおける、従来型および Hadoop によるコンピューティ ング。灰色の部分は、Music Machine のレコメンダーの Hadoop ベースのクラスタ上で動 作する部分を示している。ここでは、リアルタイムの分散ファイルシステムを持つ、MapR distribution for Apache Hadoop を使用している。他の Hadoop ディストリビューション で使われているファイルシステム(HDFS)を使うためには、さらにいくつかのステップが 必要 Documentユーザー − アイテム ログファイル ユーザー/アイテムIDの 整数値へのマッピング Mahoutの RowSimilarityJob ユーザー/アイテムの 整数値のIDへの マッピングと、Solr JSON フォーマットへの変換 ユーザー/アイテム IDの辞書 SolrのJSON フォーマットへの変換 Documentアイテムの メタデータ Map-reduce Python PostgreSQL 17174.1 Apache Mahout によるモデル構築の方法 4.1 Apache Mahout によるモデル構築の方法 実践的なレコメンダーのためのレコメンデーションモデルを構築するにあたって は、オープンソースのスケーラブルな機械学習ライブラリの Apache Mahout の持っ ているアルゴリズムを使うことにしましょう。やりたいことは、Mahout の行列演算 を使って、ユーザーの行動履歴から、レコメンデーションのための有用なインジケー ターを得ることです。そのために、3 つの行列を構築していきます。 履歴マトリクス ユーザーとアイテム間の関連を、ユーザーとアイテムの行列として記録する。 共起マトリクス 履歴マトリクスを、アイテムとアイテムの行列に変換し、ユーザーの履歴内でど ういったアイテム同士が一緒に登場しているかを記録する。 図 4-3 履歴→共起→インジケーターマトリクス。インジケーターマトリクスで表現されているこのモ デルには、リンゴが「子犬」をレコメンドすべきインジケーターであることが符号化されている。 履歴マトリクス 共起マトリクス インジケーター マトリクス Alice Bob Charles
    • ® © 2014 MapR Technologies 5® © 2014 MapR Technologies
    • ® © 2014 MapR Technologies 6 ?
    • ® © 2014 MapR Technologies 7 A1 A2 ! " # $ T A1 A2 ! " # $= A1 T A2 T ! " % % # $ & & A1 A2 ! " # $ = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & r1 r2 ! " % % # $ & & = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & h1 h2 ! " % % # $ & & r1 = A1 T A1 A1 T A2 ! "% # $& h1 h2 ! " % % # $ & &O(κ k d + k3 d) = O(k2 d log n + k3 d) for small k, high quality O(κ d log k) or O(d log κ log k) for larger k, looser quality
    • ® © 2014 MapR Technologies 8 •  : –  •  •  : e
    • ® © 2014 MapR Technologies 9 Google Maps:
    • ® © 2014 MapR Technologies 10 Google Maps:
    • ® © 2014 MapR Technologies 11® © 2014 MapR Technologies ( I want a pony )
    • ® © 2014 MapR Technologies 12 I want a pony!
    • ® © 2014 MapR Technologies 13 :
    • ® © 2014 MapR Technologies 14
    • ® © 2014 MapR Technologies 15
    • ® © 2014 MapR Technologies 16
    • ® © 2014 MapR Technologies 17 ??
    • ® © 2014 MapR Technologies 18 !
    • ® © 2014 MapR Technologies 19
    • ® © 2014 MapR Technologies 20
    • ® © 2014 MapR Technologies 21 ? ? ?
    • ® © 2014 MapR Technologies 22 ... ?
    • ® © 2014 MapR Technologies 23 •  ( …) –  •  –  •  – 
    • ® © 2014 MapR Technologies 24 •  x –  •  x •  –  LLR –  Apache Mahout RowSimilarityJob LLR
    • ® © 2014 MapR Technologies 25 Apache Mahout •  Apache http://mahout.apache.org •  Mahout version 0.9 2014 2 •  –  Apache Hadoop Hadoop –  –  •  –  & –  –  –  Mahout Math
    • ® © 2014 MapR Technologies 26
    • ® © 2014 MapR Technologies 27 u1 u3 u2 u1 u3 u2 u1 t1# t4# t3# t2# t3# t3# t1#
    • ® © 2014 MapR Technologies 28 : / ✔ ✔ ✔ ✔ ✔ ✔ ✔
    • ® © 2014 MapR Technologies 29 : / - 1# 2# 1# 1# 1# 1# 2# 1# ?. 0# 0# 0# 0#
    • ® © 2014 MapR Technologies 30 : / LLR … - 1# 2# 1# 1# 1# 1# 2# 1# 0# 0# 0# 0#
    • ® © 2014 MapR Technologies 31 1# 1#not# not# 1#
    • ® © 2014 MapR Technologies 32 A not A B 13 1000 not B 1000 100,000 A not A B 1 0 not B 0 2 A not A B 1 0 not B 0 10,000 A not A B 10 0 not B 0 100,000 ?
    • ® © 2014 MapR Technologies 33 •  LLR •  Apache Mahout RowSimilarityJob LLR A not A B 1 0 not B 0 2 A not A B 1 0 not B 0 10,000 A not A B 10 0 not B 0 100,000 1.95 4.52 14.3 ? A not A B 13 1000 not B 1000 100,000 0.90
    • ® © 2014 MapR Technologies 34 : LLR - 1# 2# 1# 1# 1# 1# 2# 1# 0# 0# 0# 0#
    • ® © 2014 MapR Technologies 35 : ✔# ✔# : …
    • ® © 2014 MapR Technologies 36 ?
    • ® © 2014 MapR Technologies 37 :
    • ® © 2014 MapR Technologies 38
    • ® © 2014 MapR Technologies 39 Apache Solr/Apache Lucene •  Apache Solr/Lucene: –  –  •  Lucene –  –  •  Solr –  – 
    • ® © 2014 MapR Technologies 40 LucidWorks •  Solr/Lucene –  –  •  LucidWorks Solr Solr Lucene
    • ® © 2014 MapR Technologies 41 Solr/Lucene/LucidWorks
    • ® © 2014 MapR Technologies 42 •  •  •  –  field:(単語1 単語2) •  –  field:(単語1 OR 単語2) field:(“単語1 単語2” ~ 5) field:(単語1 AND 単語 2)
    • ® © 2014 MapR Technologies 43 ✔ id: t4 title: puppy desc: The sweetest little puppy ever. keywords: puppy, dog, pet indicators: (t1) 1 Solr : Solr
    • ® © 2014 MapR Technologies 44 :
    • ® © 2014 MapR Technologies 45
    • ® © 2014 MapR Technologies 46 : Take the A Train
    • ® © 2014 MapR Technologies 47
    • ® © 2014 MapR Technologies 48
    • ® © 2014 MapR Technologies 49 •  MusicBrainz •  ID MusicBrainz ID /
    • ® © 2014 MapR Technologies 50 : 119 ? Duke Ellington ID ID ID ID
    • ® © 2014 MapR Technologies 5151#
    • ® © 2014 MapR Technologies 5252#
    • ® © 2014 MapR Technologies 53 Lucene •  Mahout indicator id 541902 mbid 983d4f8f-473e-4091-8394-415c105c4656 ame Charlie Winston area United Kingdom gender None Indicator_artists 997727,815,830794,59588,900,2591,1344,696268 id 1710 mbid 592a3b6d-c42b-4567-99c9-ecf63bd66499 ame Chck Berry area United States gender Male Indicator_artists 386685,875994,637954,3418,1344,789739,1460
    • ® © 2014 MapR Technologies 54 Mahout
    • ® © 2014 MapR Technologies 55 MapR Mahout Web Pig Python
    • ® © 2014 MapR Technologies 56 •  h ( ) •  Ah AT Ah( ) AT A( )h ( ) ( ) A
    • ® © 2014 MapR Technologies 57 AT Ah( ) AT A( )h 1 2 (h)
    • ® © 2014 MapR Technologies 58® © 2014 MapR Technologies
    • ® © 2014 MapR Technologies 59
    • ® © 2014 MapR Technologies 60
    • ® © 2014 MapR Technologies 61 •  (A) –  ( •  (B) –  ( •  TA –  •  TB – 
    • ® © 2014 MapR Technologies 62 •  BTA –  ( – 
    • ® © 2014 MapR Technologies 63 •  : Paco de Lucia ( ) •  : –  –  •  : –  –  – 
    • ® © 2014 MapR Technologies 64 ?
    • ® © 2014 MapR Technologies 65 AT A( )h BT A( )h
    • ® © 2014 MapR Technologies 66 A
    • ® © 2014 MapR Technologies 67 A1 A2 ! " # $ 1 2
    • ® © 2014 MapR Technologies 68 A1 A2 ! " # $ T A1 A2 ! " # $= A1 T A2 T ! " % % # $ & & A1 A2 ! " # $ = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & r1 r2 ! " % % # $ & & = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & h1 h2 ! " % % # $ & & r1 = A1 T A1 A1 T A2 ! "% # $& h1 h2 ! " % % # $ & &
    • ® © 2014 MapR Technologies 69 :
    • ® © 2014 MapR Technologies 70 •  → •  → •  → • 
    • ® © 2014 MapR Technologies 71 •  –  •  • 
    • ® © 2014 MapR Technologies 72 •  –  •  •  “ ”
    • ® © 2014 MapR Technologies 73 ?
    • ® © 2014 MapR Technologies 74 •  •  •  •  … floor(t/T) s = logr + N(0,logε) ε ∈ 1.5,3[ ] Δr r ∝ε
    • ® © 2014 MapR Technologies 75 … ε = 2 1 2 8 3 9 15 7 6 1 8 14 15 3 2 22 10 1 3 8 2 10 5 7 4 1 2 10 7 3 8 6 14 1 5 33 15 2 9 11 29 1 2 7 3 5 4 19 6 1 3 5 23 9 7 4 2 2 4 11 8 3 1 44 9 2 3 1 4 6 7 8 33 3 4 1 2 10 11 15 14 11 1 2 4 5 7 3 14 1 8 7 3 22 11 2 33
    • ® © 2014 MapR Technologies 76 :# #
    • ® © 2014 MapR Technologies 77 Q&A @mapr_japan maprjapan sales-jp@mapr.com MapR maprtech mapr-technologies