Movatterモバイル変換


[0]ホーム

URL:


Koichi Hamada, profile picture
Uploaded byKoichi Hamada
5,488 views

"Mahout Recommendation" - #TokyoWebmining 14th

Mahout recommendation - #TokyoWebmining 14th

Embed presentation

14             +WEB          2011/10/16Mahout Recommendation       hamadakoichi         濱田 晃一
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
hamadakoichi         濱田晃一http://iddy.jp/profile/hamadakoichi                                      4
hamadakoichi 濱田晃一データマイニング+WEB勉強会@東京               主催者です                       5
講師資料   Mahout、R、データマイニング・機械学習、等         各種講師資料を公開しています   http://www.slideshare.net/hamadakoichi                                            6
活動領域: ソーシャルメディアのデータマイニング                           7
活動領域: ソーシャルメディアのデータマイニング      楽しさのデータマイニング・ユーザー体験還元              2900万人以上の人々へ     各人のつながり・楽しみ・好み 個性にあった適切なサービス提供               Data Mining             Machine Learning                  of Fun              PatternMining Clustering    Classification Regression Recommendation       TimeSeriesAnalysis StatisticalAnalysis         NaturalLanguageProcessing ..etc                Social Media                 Experience                  Social Graph                Detailed Actions               Changes of Status             Social Communications                Personality ..etc               8
hamadakoichi 濱田晃一                    9
hamadakoichi 濱田晃一                     理論物理 博士(2004.3取得)                       量子統計場の理論Statistical Field Theory                        Spontaneously                                        Time-Reversal Symmetry Breaking                                       Anisotropic Massless Dirac Fermions 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf                                                                        10
hamadakoichi 濱田晃一             文部大臣に褒められた   元 文部大臣・法務大臣      六法全書著者・元法学政治学研究科長      森山眞弓さん             菅野和夫さん                                    11
hamadakoichi 濱田晃一         Los Angelesでプロダンサーに褒められた  ・HIP HOP/House ダンス歴15年  ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる  Youtube Channel: http://www.youtube.com/hamadakoichi                                                         12
hamadakoichi 濱田晃一           毎週末3時間ダンスコーチをしています           ■過去、東京と京都でも            ダンス部を創設。            コーチをしていました                          駒場物理ダンス部   京都大学基礎物理学研究所ダンス部                          部長兼コーチ     部長兼コーチ  現在: 毎週末 3時間ダンスコーチ  Youtube Channel: http://www.youtube.com/hamadakoichi                                                         13
数理解析手法の実ビジネスへの適用             2004年 博士号取得後        数理解析手法を実ビジネス適用の方法論構築主な領域◆活動の数理モデル化・解析手法◆活動の分析手法・再構築手法◆活動の実行制御・実績解析システム… 内容抜粋 “Decoupling Executions in Navigating Manufacturing          "Unified graph representation of processes Processes for Shortening Lead Time and Its Implementation   for scheduling with flexible resource to an Unmanned Machine Shop”,                               assignment",                                                                                                          14
数理解析手法の実ビジネスへの適用:活動例                   活動の統一グラフモデルを構築・解析                        Unified graphical model of processes and resources                                                                                                 青字:割付モデル属性                                                                                                 [ ] : OptionalNode             ・priority(優先度)                                                       Edge                 ・duration(予定時間)                 [・earliest(再早開始日時) ]                                                      Process EdgeProcess          [・deadline(納期) ]                 [・or(条件集約数) ]                                                                                             前プロセスの終了後に後プロセスがプロセスを表す                                                                                      開始できること表す                 ・attributes(属性)                                                                      preemptable(中断可否),                                                                      successive(引継ぎ可否)                                                                                           Uses Edge                                                                      workload(作業負荷)         Processが使用する                        uses     uses uses         uses   uses        uses                   Assign Region を表すAssign Region                                                                              Assigns from Edge同一Resourceを割付け続ける                                                                            Assign Regionに                                  assigns from assigns from                                  指定Resourceの子Resource集合の範囲を表す               assigns                                           assigns                     中から割付けることを示す                                 企業01                             [process]                                 has         has                  [startDate(開始日時)]                                                                  [endDate(終了日時)]          Assigns Edge                  製品01                    組織A                                                StartDateからEndDateまでの間Resource                                                                     has             Assign RegionにResourceを割付対象要素を表す           has has      has      has   has       has                                割付けることを表す                                                                    ・capacity(容量)                                                                    ・calender(カレンダー)                AAA01    AAB02    …     山田さん 田中さん 鈴木さん              ・attributes(属性)        Has Edge                                                                           東さん               Resourceの所有関係を表す                                                                                                                   15
数理解析手法の実ビジネスへの適用:活動例                                    一品一様の業務プロセスの                                  動的なプロセス制御数理体系を構築  全体生産リードタイム中央値を                                                                                                                        1/2.7に短縮      設計開始~頭だし出荷リードタイム                                      設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図                                                                         体系適用                        500                                                                                                                                                                     適用後   設計開始~頭だし出荷CT                        400                                                                                            360.4h(15.0日)                                                                                                                                                                                            1/2.7                        300                        200                        100                                        0          0          0          0           0          0          0          0           0          0          0                                                                                                                                                                  141.6h(5.9日)                                                                                                                                                                   0          0         0                                   9: 0       9 :0       9 :0       9 :0        9: 0       9 :0       9 :0       9 :0        9: 0       9 :0       9 :0       9 :0       9: 0      9 :0                               20         27         04         11          18         25         01         08          15         22         29         06         13         20                          0 9/       0 9/       1 0/       1 0/        1 0/       1 0/       1 1/       1 1/        1 1/       1 1/       1 1/       1 2/       1 2/       1 2/                       4/         4/         4/         4/         4/          4/         4/         4/         4/          4/         4/         4/         4/         4/                  2 00       2 00       2 00       2 00       2 00        2 00       2 00       2 00       2 00        2 00       2 00       2 00       2 00       2 00                                                                                               週集計開始日時                                                                                                                                                                                                16
数理解析手法の実ビジネスへの適用:活動例                                     ビジネスとともに                                    学術分野でも貢献変動性から生じる動的な課題     ・リソースの競合 ・滞留 ・納期遅延                            …一品一様な業務プロセスを含む統計解析・制御数理モデル     ・統計的な有効変数算出     ・統計数理モデル化        -優先順位制御        -実行タイミング制御        -統計フィードバック        -適正リソース量算出     ・予測数理体系論文(体系の一部)M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,“Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementationto an Unmanned Machine Shop”,CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007)                         17
思い     より広く蓄積されたデータを有効活用し     世界の未来をよりよいものにしていきたい                データマイニング+WEB勉強会@東京     Google Group: http://groups.google.com/group/webmining-tokyo   18
現在の活動領域  ソーシャルメディアのデータマイニング活用          2900万人以上の人々へ 各人のつながり・楽しみ・好み 個性にあった適切なサービス配信           日々20億以上の活動の活用           Social Media              Social Graph          Fun Like Personality           Objective Process            Data Mining          Machine Learning       各人のつながり、楽しみ、好み、個性にあった           より適切なサービス提供                                  19
よりよい世界の実現      ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい            Social Media                Social Graph            Fun Like Personality             Objective Process          Data Mining        Machine Learning       各人のつながり、楽しみ、好み、個性にあった           より適切なサービス提供                                   20
よりよい世界の実現      ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい            世界中の人々が 個々人のつながり・楽しみ・好みにあった適切な情報・サービスを      自ら探さなくても得ることができる世界            Social Media                Social Graph            Fun Like Personality             Objective Process          Data Mining        Machine Learning       各人のつながり、楽しみ、好み、個性にあった           より適切なサービス提供                                   21
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作      (Hadoop:象, Mahout: 象使い)             http://mahout.apache.org                                        23
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作      (Hadoop:象, Mahout: 象使い)             http://mahout.apache.org                                        24
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作      (Hadoop:象, Mahout: 象使い)             http://mahout.apache.org                                        25
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作      (Hadoop:象, Mahout: 象使い)             http://mahout.apache.org                                        26
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作      (Hadoop:象, Mahout: 象使い)             http://mahout.apache.org                                        27
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作     ・Hadoop:象, Mahout: 象使い           http://mahout.apache.org                                      28
Mahoutとは         Open Sourceでスケーラブルな       機械学習・データマイニングのライブラリ     ・Apache プロジェクト     ・機械学習・データマイニングのライブラリ     ・Java オープンソース     ・Hadoop(大規模 分散処理基盤)上で動作     ・Hadoop:象, Mahout: 象使い           http://mahout.apache.org                                      29
Mahoutとは            Open Sourceでスケーラブルな          機械学習・データマイニングのライブラリ                               Applications                                                           Examples                 Freq.    Genetic      Pattern    Classification    Clustering    Recommenders                 Mining                            Math     Utilities                                     Collections    Apache                            Vectors/Matrices/     Lucene/Vectorizer                             (primitives)   Hadoop                            SVD       http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms       http://www.slideshare.net/gsingers/intro-to-apache-mahout                                                                           30
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
レコメンデーション            各人の活動や関心にもとづき            適した情報を提示・推薦する例:Amazon.co.jp                     検索・閲覧                             32
レコメンデーション            各人の活動や関心にもとづき            適した情報を提示・推薦する例:Amazon.co.jp                     検索・閲覧                     提示・推薦                             33
レコメンデーション例      「このアイテムを○○したユーザーは    これらのアイテムについても○○しています」                            34
レコメンデーション例      「このアイテムを○○したユーザーは    これらのアイテムについても○○しています」             ○○ = ユーザーアクション                              35
レコメンデーション例      「このアイテムを○○したユーザーは    これらのアイテムについても○○しています」             ○○ = ユーザーアクション         視聴     購入   閲覧   保存             メール送信   ブックマーク        お気に入りへの追加    共有   作成                               36
レコメンデーション例      「このアイテムを○○したユーザーは    これらのアイテムについても○○しています」             ○○ = ユーザーアクション         視聴     購入   閲覧   保存             メール送信   ブックマーク        お気に入りへの追加    共有   作成例◆この動画を「視聴」したユーザーはこちらの動画も「視聴」しています◆この記事に関連した新しいアイテムはこちらです◆あなたに似たユーザーはこちらです◆こちらの商品にも関心がありませんか?                                37
レコメンデーションエンジンの入出力        レコメンデーションエンジンの             入出力             レコメンデーション   レコメンドされた               システム      アイテム・ユーザー                                     38
レコメンデーションエンジンの入出力                 レコメンデーションエンジンの                      入出力  アイテムの情報アイテムのコンテンツ      ユーザー          レコメンデーション     レコメンドされた  プロファイル              システム        アイテム・ユーザー年齢    性別居住地   資産     …                                              39
レコメンデーションエンジンの入出力                 レコメンデーションエンジンの                      入出力  アイテムの情報アイテムのコンテンツ      ユーザー          レコメンデーション     レコメンドされた  プロファイル              システム        アイテム・ユーザー年齢    性別居住地   資産     …      ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 …                                     40
レコメンデーションエンジンの入出力                 レコメンデーションエンジンの                      入出力                     アイテム提示の  アイテムの情報                      コンテキストアイテムのコンテンツ                検討中アイテムの                          カテゴリ …      ユーザー          レコメンデーション        レコメンドされた  プロファイル              システム           アイテム・ユーザー年齢    性別居住地   資産     …      ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 …                                        41
レコメンデーションエンジンの入出力                 レコメンデーションエンジンの                      入出力                     アイテム提示の  アイテムの情報                      コンテキストアイテムのコンテンツ                検討中アイテムの                          カテゴリ …      ユーザー          レコメンデーション        レコメンドされた  プロファイル              システム           アイテム・ユーザー年齢    性別居住地   資産     …      ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 …                                        42
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
Collaborative Filtering     協調フィルタリングユーザー行動 (ユーザー・アイテム データ)を用い推薦   購入、閲覧、保存、評価、ブックマークなど
Collaborative Filtering                  Collaborative Filtering         ユーザー行動 (ユーザー・アイテム データ)を用い推薦                          アイテム提示の   アイテムの情報                           コンテキスト アイテムのコンテンツ                    検討中アイテムの                               カテゴリ …       ユーザー               レコメンデーション         レコメンドされた    プロファイル                  システム            アイテム・ユーザー 年齢    性別 居住地   資産     …       ユーザー   インタラクション 閲覧履歴 タグ付け 購入 保存 評価 メール送信履歴 …                                              45
Item Based Recommendation                    アイテムベース           アイテムの類似アイテムを分析・推薦   アイテム           アイテム      アイテム   アイテム     A             B         C      D           ユーザー              1                                          46
Item Based Recommendation                    アイテムベース           アイテムの類似アイテムを分析・推薦   アイテム           アイテム      アイテム   アイテム     A             B         C      D    好む           ユーザー              1                                          47
Item Based Recommendation                    アイテムベース           アイテムの類似アイテムを分析・推薦                  類似   アイテム           アイテム      アイテム   アイテム     A             B         C      D    好む           ユーザー              1                                          48
Item Based Recommendation                    アイテムベース           アイテムの類似アイテムを分析・推薦                  類似   アイテム           アイテム       アイテム   アイテム     A             B           C     D    好む                      レコメンド           ユーザー              1                                           49
ユーザーベース分析                  ユーザーベース         類似ユーザーを分析、好むアイテムを推薦  アイテム          アイテム          アイテム        アイテム   A             B             C           D          ユーザー         ユーザー        ユーザー            1           2            3                                                 50
ユーザーベース分析                  ユーザーベース         類似ユーザーを分析、好むアイテムを推薦  アイテム          アイテム          アイテム        アイテム   A             B             C           D          ユーザー         ユーザー        ユーザー            1           2            3                       類似                                                 51
ユーザーベース分析                  ユーザーベース         類似ユーザーを分析、好むアイテムを推薦  アイテム          アイテム          アイテム        アイテム   A             B             C           D                                          好む          ユーザー         ユーザー        ユーザー            1           2            3                       類似                                                 52
ユーザーベース分析                  ユーザーベース         類似ユーザーを分析、好むアイテムを推薦  アイテム          アイテム          アイテム        アイテム   A             B             C           D                     レコメンド                                          好む          ユーザー         ユーザー        ユーザー            1           2            3                       類似                                                 53
Collaborative Filtering: アルゴリズム                    アルゴリズム  1. 類似アイテム(またはユーザー)を見つける  2. 類似アイテム(またはユーザー)を利用し、予測する                                  54
協調フィルタリング: アルゴリズム              アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する                               55
Collaborative Filtering: データ表現                アイテムを          N次元のユーザー行動ベクトルで表現                   User3       User1                     User2                                         56
Collaborative Filtering: データ表現              ユーザー-アイテム行列を扱う                  例:アイテムのユーザー評価              User1   User2      User3   …      Item1   3       2          1       …      Item2   4       2          3       …      Item3   2       4          5       …      ….      …       …          …       …                                             57
類似度の算出:コサインベース            コサインベースの類似度計算        (Cosine-based similarity computation)Item間類似度 ①Item Vectorの正規化                  User1    User2     User3         Item1    0.818    0.5345    0.2673     正規化         Item2    0.7428   0.3714    0.557         Item3    0.2981   0.5963    0.7454                                                      58
類似度の算出:コサインベース            コサインベースの類似度計算        (Cosine-based similarity computation)Item間類似度 ①Item Vectorの正規化                  User1    User2     User3         Item1    0.818    0.5345    0.2673     正規化         Item2    0.7428   0.3714    0.557         Item3    0.2981   0.5963    0.7454   Item間類似度                     ②Item Vectorの内積                  Item1    Item2     Item3         Item1    1        0.943     0.757         Item2    0.7428   1         0.858         Item3    0.2981   0.5963    1                                                      59
類似度の算出:コサインベース            コサインベースの類似度計算        (Cosine-based similarity computation)User間類似度 ①User Vectorの正規化         正規化                  User1     User2    User3         Item1    0.5571    0.4082   0.1690         Item2    0.7428    0.4082   0.5071         Item3    0.3714    0.5071   0.8452                                                60
類似度の算出:コサインベース            コサインベースの類似度計算        (Cosine-based similarity computation)User間類似度 ①User Vectorの正規化         正規化                  User1     User2      User3         Item1    0.5571    0.4082     0.1690         Item2    0.7428    0.4082     0.5071         Item3    0.3714    0.5071     0.8452   User間類似度                        ②User Vectorの内積                  User1     User2      User3         User1    1         0.83       0.78         User2    0.83      1          0.97         User3    0.78      0.97                                                     61
Collaborative Filtering: 類似度計算              ユーザー-アイテム行列から              3つの類似度計算の手法     ◆コサインベース      (Cosine-based similarity computation)     ◆相関ベース      (Correlation-based similarity computation)     ◆調整コサインベース      (Adjusted cosine-based similarity computation)                                                       62
類似度の算出:相関ベース                相関ベースの類似度計算      (Correlation-based similarity computation)Itemの相関行列 Item間の相関を見る (分散共分散行列)      R: ItemのUser評価行列       成分         : Item i に対する User uの評価                 User1   User2    User3   …        Item1    R11     R12      R13     …        Item2    R21     R22      R23     …        …        …       …        …       …             : Item i のUser評価平均             : User数                                                   63
類似度の算出:相関ベース               相関ベースの類似度計算     (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列                 User1     User2     User3                                                  評価平均       Item1     1         0         -1                                                  からのずれ値       Item2     1         -1        0       Item3     -5/3      1/3       4/3                                                      64
類似度の算出:相関ベース               相関ベースの類似度計算     (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列                 User1     User2      User3                                                  評価平均       Item1     1         0          -1                                                  からのずれ値       Item2     1         -1         0       Item3     -5/3      1/3        4/3  Item間 相関行列                     ②Item Vectorの規格化・内積                 Item1     Item2      Item3       Item1     1         0.5        -0.982       Item2     0.5       1          -0.655       Item3     -0.982    -0.655     1                                                      65
類似度の算出:相関ベース               相関ベースの類似度計算     (Correlation-based similarity computation)                                     評価平均 ①Userの評価平均からの差分 行列                  からのずれ値                 User1     User2     User3       Item1     0         -0.4083   -0.7071       Item2     0.7071    -0.4083   0       Item3     -0.7071   0.8166    0.7071                                                  66
類似度の算出:相関ベース               相関ベースの類似度計算     (Correlation-based similarity computation)                                     評価平均 ①Userの評価平均からの差分 行列                  からのずれ値                 User1     User2     User3       Item1     0         -0.4083   -0.7071       Item2     0.7071    -0.4083   0       Item3     -0.7071   0.8166    0.7071  User間 相関行列                   ②User Vectorの規格化・内積                 User1     User2     User3       User1     1         -0.866    -0.5       User2     -0.866    1         0.87       User3     -0.5      0.87      1                                                  67
Collaborative Filtering: 類似度計算              ユーザー-アイテム行列から              3つの類似度計算の手法     ◆コサインベース      (Cosine-based similarity computation)     ◆相関ベース      (Correlation-based similarity computation)     ◆調整コサインベース      (Adjusted cosine-based similarity computation)                                                       68
類似度の算出:調整コサインベース         調整コサインベースの類似度計算    (Adjusted cosine-based similarity computation)            Userごとの評価の振れ幅の補正                               (Item i のUser評価平均)ではなく                               : User uの評価平均 を使用  調整コサイン行列      R: ItemのUser評価行列      成分        : Item i に対する User uの評価          : User数                                                     69
類似度の算出:調整コサインベース         調整コサインベースの類似度計算    (Adjusted cosine-based similarity computation)                                     User評価平均 ①Userの評価平均からの差分 行列                  からのずれ値                  User1     User2     User3         Item1    0         -2/3      -2         Item2    1         -2/3      0         Item3    -1        4/3       2                                                     70
類似度の算出:調整コサインベース         調整コサインベースの類似度計算    (Adjusted cosine-based similarity computation)                                     User評価平均 ①Userの評価平均からの差分 行列                  からのずれ値                  User1     User2     User3         Item1    0         -2/3      -2         Item2    1         -2/3      0         Item3    -1        4/3       2   Item間 相関行列                   ②Item Vectorの規格化・内積                  Item1     Item2     Item3         Item1    1         0.1754    -0.891         Item2    0.1754    1         0.604         Item3    -0.981    0.604     1                                                     71
類似度の算出:調整コサインベース         調整コサインベースの類似度計算    (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列                  User1     User2     User3                                                 Item評価平均         Item1    1         1         -1         からのずれ値         Item2    1         -1        0         Item3    -5/2      0         4/3                                                      72
類似度の算出:調整コサインベース         調整コサインベースの類似度計算    (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列                  User1     User2     User3                                                 Item評価平均         Item1    1         1         -1         からのずれ値         Item2    1         -1        0         Item3    -5/2      0         4/3   User間 相関行列                    ②User Vectorの規格化・内積                  User1     User2     User3         User1    1         -0.675    -0.884         User2    -0.675    1         -0.253         User3    -0.884    -0.253    1                                                      73
Collaborative Filtering: アルゴリズム                    アルゴリズム  1. 類似アイテム(またはユーザー)を見つける  2. 類似アイテム(またはユーザー)を利用し、予測する                                  74
Collaborative Filtering: 評価予測        類似アイテム・ユーザーを利用し予測する                                75
Collaborative Filtering: 評価予測        類似アイテム・ユーザーを利用し予測する K近傍法     K個の近いアイテム・ユーザーの評価を          偏差を重み付けして和を取る                                76
Collaborative Filtering: 評価予測               類似アイテム・ユーザーを利用し予測する K近傍法          K個の近いアイテム・ユーザーの評価を               偏差を重み付けして和を取るItemのUser評価行列 Riu           User1   User2   User3   平均   Item1   3       2       1       2   Item2   4       2       3       3   Item3   2       4       5       11/3   平均      3       8/3     3       26/3                                          77
Collaborative Filtering: 評価予測               類似アイテム・ユーザーを利用し予測する K近傍法                 K個の近いアイテム・ユーザーの評価を                      偏差を重み付けして和を取るItemのUser評価行列 Riu           User1        User2        User3       平均   Item1   3            2            1           2   Item2   4            2            3           3   Item3   2            4            5           11/3   平均      3            8/3          3           26/3        相関ベース類似度計算User間 相関行列 Cuv               User1          User2          User3  User1        1              -0.866         -0.5  User2        -0.866         1              0.87  User3        -0.5           0.87           1          78
Collaborative Filtering: 評価予測               類似アイテム・ユーザーを利用し予測する K近傍法                 K個の近いアイテム・ユーザーの評価を                      偏差を重み付けして和を取るItemのUser評価行列 Riu                                                        User1のItem1への評価期待値           User1        User2        User3       平均                                                         =User1の平均評価   Item1   3            2            1           2   Item2   4            2            3           3                                                        +User2の重みづき偏差   Item3   2            4            5           11/3   +User3の重みづき偏差   平均      3            8/3          3           26/3                                                        =R1        相関ベース類似度計算                                                         +C12/(C12+C13)*(R12 –R2)User間 相関行列 Cuv                                                         +C13/(C12+C13)*(R13 –R3)               User1          User2          User3  User1        1              -0.866         -0.5       =4.2  User2        -0.866         1              0.87  User3        -0.5           0.87           1                                      79
Amazon Collaborative Filtering        共起行列                                 80
Amazon Collaborative Filtering     世界で最も知られているCollaborative Filtering  Amazon.co.jp                   検索・閲覧                                 レコメンデーション                                             81
Amazon Collaborative Filtering     世界で最も知られているCollaborative Filtering  ◆Item-Item Collaborative Filtering      アイテムベース         同じアイテムを見たユーザーには、同じアイテムを推薦      ユーザー数に依存せずスケールする       処理       ①アイテム-推薦アイテムのテーブルをオフラインで作る        ②ユーザーアクセス時にはテーブルを参照するだけ                                          82
Amazon-Item-Item Collaborative Filtering                  Item-Item Collaborative Filtering                            アルゴリズム              User1   User2   User3   User4      Item1   1               1      Item2           1       1      Item3   1               1       1      Item4           1               1                                                      83
Amazon-Item-Item Collaborative Filtering                  Item-Item Collaborative Filtering                            アルゴリズム  1. 空のItem-Item の行列を作る              User1   User2   User3   User4           Item1   Item2   Item3   Item4      Item1   1               1               Item1      Item2           1       1               Item2      Item3   1               1       1       Item3      Item4           1               1       Item4                                                                                      84
Amazon-Item-Item Collaborative Filtering                  Item-Item Collaborative Filtering                            アルゴリズム  1. 空のItem-Item の行列を作る  2. 全アイテムに関し次の処理を行う      2-1. あるアイテム(親アイテム)を購入した顧客全てに対し           購入アイテム(子アイテム)をカウントする。      2-2. 親アイテム列・子アイテム行にカウント数を入れる      2-3. 親アイテム列のカウント数上位を推薦アイテムとする              User1   User2   User3   User4           Item1   Item2   Item3   Item4      Item1   1               1               Item1           1       2      Item2           1       1               Item2      Item3   1               1       1       Item3      Item4           1               1       Item4                                                                                      85
Amazon-Item-Item Collaborative Filtering                  Item-Item Collaborative Filtering                            アルゴリズム  1. 空のItem-Item の行列を作る  2. 全アイテムに関し次の処理を行う      2-1. あるアイテム(親アイテム)を購入した顧客全てに対し           購入アイテム(子アイテム)をカウントする。      2-2. 親アイテム列・子アイテム行にカウント数を入れる      2-3. 親アイテム列のカウント数上位を推薦アイテムとする              User1   User2   User3   User4           Item1   Item2   Item3   Item4      Item1   1               1               Item1           1       2      Item2           1       1               Item2   1               1       1      Item3   1               1       1       Item3   2       1               1      Item4           1               1       Item4           1                                                                                      86
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
Mahout Recommendation                Recommender Documentation
Mahout Recommendation                              Mahout Recommendation Samplepublic class MahoutRecommendationSample {    public static void main(String[] args) throws Exception {        //データ設定        DataModel model = new FileDataModel(new File("preference.csv"));        //類似度設定        UserSimilarity similarity = new PearsonCorrelationSimilarity(model);        UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);        //Recommender Engine生成 (ここでは User Base)        Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);        //ユーザー 1 に1つのアイテムを推薦        List<RecommendedItem> recommendations = recommender.recommend(1, 1);        for (RecommendedItem recommendation : recommendations) {            System.out.println(recommendation);        }    }}                                                                                                89                                              Mahout In Action
Mahout RecommendationMahout Recommender     ◆User Based Recommender     ◆Item Based Recommender     ◆Knn Item Based Recommender     ◆SVD Recommender     ◆Tree Clustering Recommender     ◆SlopeOne Recommender                                       90                    Mahout In Action
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
分散処理フレームワーク:MapReduce MapがkeyとValueにデータを振り分け、Reduceがkeyごとに集計                 分散処理を実現 User毎の集計での例    Map                     userA            userD           userA   userC           userB         userD   key   大量データに対する         3                7               1       2               6             5       value   分散演算    Shuffle & Sort    Reduce                                 userA            userB           userC           userD   演算結果の集計               userA            userA   userB           userC   userD           userD                         3                1       6               2       7            5                                  userA           userB           userC           userD                                  4               6           2                   12                                                                                                            92
Mahout RecommendJob                                      入力                 userの評価データ                 推薦対象データ                 movielens/prefs            movielens/users         UserId, ItemId, Preference (評価値)   Userid                    1,2,3                     1                    1,3,4                     2                    1,4,3                     3                    1,5,3                     4                    1,6,5                     5                    1,7,4                     6                    1,8,1                     7                    1,9,5                     8                    1,10,3                    9                    1,11,2                    10                    2,102,3                   11                    …                         …                                                              93
Mahout RecommenderJob                                             出力推薦結果movielens/outputuserid ¥t [itemid1: preferencePrediction1, itemid2, preferencePrediction2, …]userid     itemid1 preferencePrediction1 1   [1315:5.0,1226:5.0,1194:5.0,1129:5.0,1115:5.0,1101:5.0,1098:5.0,1097:5.0,1073:5.0,1067:5.0] 2   [582:5.0,546:5.0,531:5.0,523:5.0,515:5.0,514:5.0,509:5.0,508:5.0,496:5.0,483:5.0] 3   [14:5.0,137:5.0,285:5.0,311:4.765625,539:4.7058825,905:4.7058825,896:4.6969695,.,,, ] 4   [1434:5.0,1024:5.0,1022:5.0,471:5.0,538:5.0,845:5.0,515:5.0,544:5.0,1265:5.0,873:5.0] 5   [1047:5.0,1035:5.0,1016:5.0,1014:5.0,1065:5.0,1079:5.0,1101:5.0,969:5.0,1110:5.0,959:5.0] 6   [1050:5.0,1021:5.0,1020:5.0,1011:5.0,1065:5.0,971:5.0,969:5.0,965:5.0,959:5.0,949:5.0] 7   [1411:5.0,1303:5.0,1267:5.0,1239:5.0,1228:5.0,1221:5.0,1217:5.0,1210:5.0,1203:5.0,1194:5.0] 8   [566:5.0,550:5.0,546:5.0,568:5.0,845:5.0,528:5.0,527:5.0,526:5.0,523:5.0,588:5.0]                                                                                                   94
Mahout Distributed Recommender                     User Vector作成        User ごとに ItemId, 評価値のベクトルを分散集計        Key: UserId    Map Value: (ItemId, Preference)                     keyA       keyD           keyA   keyC      keyB           keyD   key    大量データに対する        val1       val2           val3   val4      val5           val6   value    分散演算    Shuffle & Sort     Reduce                              keyA      keyB           keyC          keyD    演算結果の集計            keyA      keyA   keyB           keyC   keyD           keyD                      val1       val3   val5           val4   val6           val2                               keyA     keyB           keyC          keyD                              val1+     val5                         val2+                                                       val4                              val3                                   val6                                                                                              95
Mahout Distributed Recommender: 分散処理例                         共起行列の生成         (ItemId1, ItemId2) ごとに評価アイテム数を集計        Key: (ItemId1, ItemId2)    Map Value: preference                     keyA       keyD           keyA   keyC      keyB           keyD   key   大量データに対する         val1       val2           val3   val4      val5           val6   value   分散演算    Shuffle & Sort    Reduce                              keyA      keyB           keyC          keyD    演算結果の集計            keyA      keyA   keyB           keyC   keyD           keyD                      val1       val3   val5           val4   val6           val2                               keyA     keyB           keyC          keyD                              val1+     val5                         val2+                                                       val4                              val3                                   val6                                                                                              96
Mahout Distributed Recommender            RecommenderJob の MapReduce実行 と HDFS入出力   Mahout In Action
Mahout RecommendJob                       Recommender 実行例 コマンドライン実行 (RecommenderJob 呼出)     $HADOOP_HOME/bin/hadoop jar $MAHOUT_HOME/mahout-core-0.5-job.jar ¥     org.apache.mahout.cf.taste.hadoop.item.RecommenderJob ¥     -Dmapred.output.dir=movielens/output ¥     -Dmapred.input.dir=movielens/prefs ¥     --usersFile movielens/users ¥     --similarityClassname SIMILARITY_COOCCURRENCE 意味     -Dmapred.output.dir= <出力ディレクトリのパス> ¥     -Dmapred.input.dir=<ユーザーのアイテム評価データ> ¥     --usersFile <レコメンド対象ユーザー> ¥     --similarityClassname <類似度算出法>                                                                          98
Mahout RecommendJob                               実行オプション(抜粋)  オプション ( 短縮表記 )                  特徴  --numRecommendations (-n)       各ユーザーへの推薦数  --usersFile (-u)                推薦対象ユーザーのファイルパス  --itemsFile (-i)                推薦対象アイテムのファイルパス  --filterFile (-f)               推薦を除外するユーザー、アイテム組合せ指定                                  形式: (userid, itemid)  --maxPrefsPerUser (-mp)         各ユーザーで用いる最大数評価 (上位から)  --minPrefsPerUser (-mp)         各ユーザーで用いる最小評価数 (上位から)                                  (Default : 1)  --maxSimilaritiesPerItem (-m)   各アイテムで用いる最大類似アイテム数  --maxCooccurrencesPerItem (-mo) 各アイテムで用いる最大共起アイテム数                                  (Default : 100)  --similarityClassname (-s)      用いる類似度                                  SIMILARITY_COOCCURRENCE SIMILARITY_EUCLIDEAN_DISTANCE,                                  SIMILARITY_TANIMOTO_COEFFICIENT, SIMILARITY_LOGLIKELIHOOD,                                  SIMILARITY_PEARSON_CORRELATION, SIMILARITY_UNCENTERED_COSINE                                  SIMILARITY_UNCENTERED_ZERO_ASSUMING_COSINE, SIMILARITY_CITY_BLOCK                                                                                                      99
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
参考資料: ■ Apach Mahout   http://mahout.apache.org   http://cwiki.apache.org/MAHOUT   http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms   http://www.slideshare.net/gsingers/intro-to-apache-mahout ■ Mahout In Action                                                                  101
参考資料:        集合知イン・アクション        集合知プログラミング                      102
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
最後に      蓄積されたデータを有効活用してきたい                           104
最後に      蓄積されたデータを有効活用してきたい  Google Group: http://groups.google.com/group/webmining-tokyo                                                                 105
最後に               データマイニング+WEB勉強会                発表者を募集しています 連絡  Google Group: http://groups.google.com/group/webmining-tokyo  Twitter     : http://twitter.com/hamadakoichi                                                                 106
ご清聴ありがとうございました                 107
AGENDA ◆講師紹介 ◆Mahoutとは ◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に

Recommended

PDF
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
PDF
Mahout Canopy Clustering - #TokyoWebmining 9
PDF
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
PDF
Mahout JP - #TokyoWebmining 11th #MahoutJP
PDF
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
PDF
Introduction to Mahout Clustering - #TokyoWebmining #6
PDF
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
PDF
ソーシャルデザインパターン -評判と情報収集-
PDF
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
PDF
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
PDF
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
PDF
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
PDF
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
PDF
ソーシャルアプリ運用のノウハウ
PDF
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
PDF
【勉強会資料】新卒採用とソーシャルメディアVer20110214
PDF
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
PDF
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
PDF
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
PDF
DeNAの機械学習・深層学習活用した 体験提供の挑戦
PDF
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
PPTX
Sparkでレコメンドエンジンを作ってみた
PDF
Frequency Pattern Mining
PDF
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
PDF
Spark/MapReduceの 機械学習ライブラリ比較検証
PDF
データマイニングCROSS 第2部-機械学習・大規模分散処理
PDF
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
PPTX
Mahoutにパッチを送ってみた
PDF
Introduction to fuzzy kmeans on mahout
PDF
協調フィルタリング with Mahout

More Related Content

PDF
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
PDF
Mahout Canopy Clustering - #TokyoWebmining 9
PDF
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
PDF
Mahout JP - #TokyoWebmining 11th #MahoutJP
PDF
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
PDF
Introduction to Mahout Clustering - #TokyoWebmining #6
PDF
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
PDF
ソーシャルデザインパターン -評判と情報収集-
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
Mahout Canopy Clustering - #TokyoWebmining 9
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Mahout JP - #TokyoWebmining 11th #MahoutJP
Large Scale Data Mining of the Mobage Service - #PRMU 2011 #Mahout #Hadoop
Introduction to Mahout Clustering - #TokyoWebmining #6
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
ソーシャルデザインパターン -評判と情報収集-

What's hot

PDF
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
PDF
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
PDF
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
PDF
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
PDF
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
PDF
ソーシャルアプリ運用のノウハウ
PDF
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
PDF
【勉強会資料】新卒採用とソーシャルメディアVer20110214
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
ソーシャルウェブ と レコメンデーション -第4回データマイニング+WEB勉強会@東京
『モバゲーの大規模データマイニング基盤におけるHadoop活用』-Hadoop Conference Japan 2011- #hcj2011
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[R勉強会][データマイニング] プロセス・リソース・グラフと数理統計解析
ソーシャルアプリ運用のノウハウ
データサイエンティスト協会 木曜勉強会 #09 『意志の力が拓くシステム~最適化の適用事例から見たデータ活用システムの現在と未来~』
【勉強会資料】新卒採用とソーシャルメディアVer20110214

Viewers also liked

PDF
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
PDF
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
PDF
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
PDF
DeNAの機械学習・深層学習活用した 体験提供の挑戦
PDF
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
PPTX
Sparkでレコメンドエンジンを作ってみた
PDF
Frequency Pattern Mining
PDF
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
PDF
Spark/MapReduceの 機械学習ライブラリ比較検証
PDF
データマイニングCROSS 第2部-機械学習・大規模分散処理
PDF
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
PPTX
Mahoutにパッチを送ってみた
PDF
Introduction to fuzzy kmeans on mahout
PDF
協調フィルタリング with Mahout
PDF
Tensorflow ruby
 
PDF
Touch the mahout
PDF
NIPS 2016 Overview and Deep Learning Topics
PDF
ComplementaryNaiveBayesClassifier
PDF
Hadoop/Mahout/HBaseで テキスト分類器を作ったよ
PDF
Apache Mahout - Random Forests - #TokyoWebmining #8
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
10回開催記念 「データマイニング+WEB ~データマイニング・機械学習活用による継続進化~」ー第10回データマイニング+WEB勉強会@東京ー #Toky...
DeNAの機械学習・深層学習活用した 体験提供の挑戦
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Sparkでレコメンドエンジンを作ってみた
Frequency Pattern Mining
『MobageのAnalytics活用したサービス開発』 - データマイニングCROSS2014 #CROSS2014
Spark/MapReduceの 機械学習ライブラリ比較検証
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 2012 Opening Talk - データマイニングの実サービス・ビジネス適用と展望
Mahoutにパッチを送ってみた
Introduction to fuzzy kmeans on mahout
協調フィルタリング with Mahout
Tensorflow ruby
 
Touch the mahout
NIPS 2016 Overview and Deep Learning Topics
ComplementaryNaiveBayesClassifier
Hadoop/Mahout/HBaseで テキスト分類器を作ったよ
Apache Mahout - Random Forests - #TokyoWebmining #8

Similar to "Mahout Recommendation" - #TokyoWebmining 14th

PDF
ソフトウェア開発の現場風景
PDF
Project Facilitation at Kanazawa.rb
PDF
Using Mind Maping And UML Effectively in Software Development
PDF
SEA-KANSAI #43
PDF
DSL駆動によるクラウド・アプリケーション開発
PDF
アジャイル開発の始め方
PDF
博士論文公聴会
PDF
Modeling in the Agile Age and casual astah models
PDF
コンチェルト CCPM工程表入門
PDF
MapReduce解説
PPT
Visualizing Software Development
PDF
Hazop susume20110118f
PPTX
Relationship betweenddd and mvc
PDF
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
PDF
プログラムの大海に溺れないために
PDF
Agile 459 | 11/17 資料
PDF
Why Agile Now ? - leanstartup and ARC
PDF
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
PDF
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
PDF
開発プロセス 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第2回】 
ソフトウェア開発の現場風景
Project Facilitation at Kanazawa.rb
Using Mind Maping And UML Effectively in Software Development
SEA-KANSAI #43
DSL駆動によるクラウド・アプリケーション開発
アジャイル開発の始め方
博士論文公聴会
Modeling in the Agile Age and casual astah models
コンチェルト CCPM工程表入門
MapReduce解説
Visualizing Software Development
Hazop susume20110118f
Relationship betweenddd and mvc
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
プログラムの大海に溺れないために
Agile 459 | 11/17 資料
Why Agile Now ? - leanstartup and ARC
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
開発プロセス 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第2回】 

More from Koichi Hamada

PDF
DeNAの大規模データマイニング活用したサービス開発
PDF
Generative Adversarial Networks (GAN) @ NIPS2017
PDF
Anime Generation with AI
PDF
DeNAのAI活用したサービス開発
PDF
対話返答生成における個性の追加反映
PDF
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
PDF
AIによるアニメ生成の挑戦
PDF
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
PDF
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
PDF
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
PDF
Generative Adversarial Networks @ ICML 2019
PDF
複雑ネットワーク上の伝搬法則の数理
DeNAの大規模データマイニング活用したサービス開発
Generative Adversarial Networks (GAN) @ NIPS2017
Anime Generation with AI
DeNAのAI活用したサービス開発
対話返答生成における個性の追加反映
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
AIによるアニメ生成の挑戦
「樹木モデルとランダムフォレスト-機械学習による分類・予測-」-データマイニングセミナー
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
Generative Adversarial Networks (GANs) and Disentangled Representations @ N...
Generative Adversarial Networks @ ICML 2019
複雑ネットワーク上の伝搬法則の数理

"Mahout Recommendation" - #TokyoWebmining 14th

  • 1.
    14 +WEB 2011/10/16Mahout Recommendation hamadakoichi 濱田 晃一
  • 2.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 3.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 4.
    hamadakoichi 濱田晃一http://iddy.jp/profile/hamadakoichi 4
  • 5.
  • 6.
    講師資料Mahout、R、データマイニング・機械学習、等 各種講師資料を公開しています http://www.slideshare.net/hamadakoichi 6
  • 7.
  • 8.
    活動領域: ソーシャルメディアのデータマイニング 楽しさのデータマイニング・ユーザー体験還元 2900万人以上の人々へ 各人のつながり・楽しみ・好み 個性にあった適切なサービス提供 Data Mining Machine Learning of Fun PatternMining Clustering Classification Regression Recommendation TimeSeriesAnalysis StatisticalAnalysis NaturalLanguageProcessing ..etc Social Media Experience Social Graph Detailed Actions Changes of Status Social Communications Personality ..etc 8
  • 9.
  • 10.
    hamadakoichi 濱田晃一 理論物理 博士(2004.3取得) 量子統計場の理論Statistical Field Theory Spontaneously Time-Reversal Symmetry Breaking Anisotropic Massless Dirac Fermions 博士論文: http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf 10
  • 11.
    hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 11
  • 12.
    hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴15年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 12
  • 13.
    hamadakoichi 濱田晃一 毎週末3時間ダンスコーチをしています ■過去、東京と京都でも ダンス部を創設。 コーチをしていました 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 13
  • 14.
    数理解析手法の実ビジネスへの適用 2004年 博士号取得後 数理解析手法を実ビジネス適用の方法論構築主な領域◆活動の数理モデル化・解析手法◆活動の分析手法・再構築手法◆活動の実行制御・実績解析システム… 内容抜粋 “Decoupling Executions in Navigating Manufacturing "Unified graph representation of processes Processes for Shortening Lead Time and Its Implementation for scheduling with flexible resource to an Unmanned Machine Shop”, assignment", 14
  • 15.
    数理解析手法の実ビジネスへの適用:活動例 活動の統一グラフモデルを構築・解析 Unified graphical model of processes and resources 青字:割付モデル属性 [ ] : OptionalNode ・priority(優先度) Edge ・duration(予定時間) [・earliest(再早開始日時) ] Process EdgeProcess [・deadline(納期) ] [・or(条件集約数) ] 前プロセスの終了後に後プロセスがプロセスを表す 開始できること表す ・attributes(属性) preemptable(中断可否), successive(引継ぎ可否) Uses Edge workload(作業負荷) Processが使用する uses uses uses uses uses uses Assign Region を表すAssign Region Assigns from Edge同一Resourceを割付け続ける Assign Regionに assigns from assigns from 指定Resourceの子Resource集合の範囲を表す assigns assigns 中から割付けることを示す 企業01 [process] has has [startDate(開始日時)] [endDate(終了日時)] Assigns Edge 製品01 組織A StartDateからEndDateまでの間Resource has Assign RegionにResourceを割付対象要素を表す has has has has has has 割付けることを表す ・capacity(容量) ・calender(カレンダー) AAA01 AAB02 … 山田さん 田中さん 鈴木さん ・attributes(属性) Has Edge 東さん Resourceの所有関係を表す 15
  • 16.
    数理解析手法の実ビジネスへの適用:活動例 一品一様の業務プロセスの 動的なプロセス制御数理体系を構築 全体生産リードタイム中央値を 1/2.7に短縮 設計開始~頭だし出荷リードタイム 設計開始~頭だし出荷CT対週集計開始日時の箱ひげ図 体系適用 500 適用後 設計開始~頭だし出荷CT 400 360.4h(15.0日) 1/2.7 300 200 100 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 0 0 0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 9 :0 9 :0 9: 0 9 :0 20 27 04 11 18 25 01 08 15 22 29 06 13 20 0 9/ 0 9/ 1 0/ 1 0/ 1 0/ 1 0/ 1 1/ 1 1/ 1 1/ 1 1/ 1 1/ 1 2/ 1 2/ 1 2/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 2 00 週集計開始日時 16
  • 17.
    数理解析手法の実ビジネスへの適用:活動例 ビジネスとともに 学術分野でも貢献変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 …一品一様な業務プロセスを含む統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系論文(体系の一部)M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,“Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementationto an Unmanned Machine Shop”,CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 17
  • 18.
    思い より広く蓄積されたデータを有効活用し 世界の未来をよりよいものにしていきたい データマイニング+WEB勉強会@東京 Google Group: http://groups.google.com/group/webmining-tokyo 18
  • 19.
    現在の活動領域 ソーシャルメディアのデータマイニング活用 2900万人以上の人々へ 各人のつながり・楽しみ・好み 個性にあった適切なサービス配信 日々20億以上の活動の活用 Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 19
  • 20.
    よりよい世界の実現 ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 20
  • 21.
    よりよい世界の実現 ソーシャル・活動情報の活用により より適切な情報・サービス配信される世界を実現したい 世界中の人々が 個々人のつながり・楽しみ・好みにあった適切な情報・サービスを 自ら探さなくても得ることができる世界 Social Media Social Graph Fun Like Personality Objective Process Data Mining Machine Learning 各人のつながり、楽しみ、好み、個性にあった より適切なサービス提供 21
  • 22.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 23.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 23
  • 24.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 24
  • 25.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 25
  • 26.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 26
  • 27.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 (Hadoop:象, Mahout: 象使い) http://mahout.apache.org 27
  • 28.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 28
  • 29.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ ・Apache プロジェクト ・機械学習・データマイニングのライブラリ ・Java オープンソース ・Hadoop(大規模 分散処理基盤)上で動作 ・Hadoop:象, Mahout: 象使い http://mahout.apache.org 29
  • 30.
    Mahoutとは Open Sourceでスケーラブルな 機械学習・データマイニングのライブラリ Applications Examples Freq. Genetic Pattern Classification Clustering Recommenders Mining Math Utilities Collections Apache Vectors/Matrices/ Lucene/Vectorizer (primitives) Hadoop SVD http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms http://www.slideshare.net/gsingers/intro-to-apache-mahout 30
  • 31.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 32.
    レコメンデーション 各人の活動や関心にもとづき 適した情報を提示・推薦する例:Amazon.co.jp 検索・閲覧 32
  • 33.
    レコメンデーション 各人の活動や関心にもとづき 適した情報を提示・推薦する例:Amazon.co.jp 検索・閲覧 提示・推薦 33
  • 34.
    レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 34
  • 35.
    レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 35
  • 36.
    レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 視聴 購入 閲覧 保存 メール送信 ブックマーク お気に入りへの追加 共有 作成 36
  • 37.
    レコメンデーション例 「このアイテムを○○したユーザーは これらのアイテムについても○○しています」 ○○ = ユーザーアクション 視聴 購入 閲覧 保存 メール送信 ブックマーク お気に入りへの追加 共有 作成例◆この動画を「視聴」したユーザーはこちらの動画も「視聴」しています◆この記事に関連した新しいアイテムはこちらです◆あなたに似たユーザーはこちらです◆こちらの商品にも関心がありませんか? 37
  • 38.
    レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 レコメンデーション レコメンドされた システム アイテム・ユーザー 38
  • 39.
    レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテムの情報アイテムのコンテンツ ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー年齢 性別居住地 資産 … 39
  • 40.
    レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテムの情報アイテムのコンテンツ ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー年齢 性別居住地 資産 … ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 … 40
  • 41.
    レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテム提示の アイテムの情報 コンテキストアイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー年齢 性別居住地 資産 … ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 … 41
  • 42.
    レコメンデーションエンジンの入出力 レコメンデーションエンジンの 入出力 アイテム提示の アイテムの情報 コンテキストアイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー年齢 性別居住地 資産 … ユーザー インタラクション閲覧履歴 タグ付け購入 保存 評価メール送信履歴 … 42
  • 43.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 44.
    Collaborative Filtering 協調フィルタリングユーザー行動 (ユーザー・アイテム データ)を用い推薦 購入、閲覧、保存、評価、ブックマークなど
  • 45.
    Collaborative Filtering Collaborative Filtering ユーザー行動 (ユーザー・アイテム データ)を用い推薦 アイテム提示の アイテムの情報 コンテキスト アイテムのコンテンツ 検討中アイテムの カテゴリ … ユーザー レコメンデーション レコメンドされた プロファイル システム アイテム・ユーザー 年齢 性別 居住地 資産 … ユーザー インタラクション 閲覧履歴 タグ付け 購入 保存 評価 メール送信履歴 … 45
  • 46.
    Item Based Recommendation アイテムベース アイテムの類似アイテムを分析・推薦 アイテム アイテム アイテム アイテム A B C D ユーザー 1 46
  • 47.
    Item Based Recommendation アイテムベース アイテムの類似アイテムを分析・推薦 アイテム アイテム アイテム アイテム A B C D 好む ユーザー 1 47
  • 48.
    Item Based Recommendation アイテムベース アイテムの類似アイテムを分析・推薦 類似 アイテム アイテム アイテム アイテム A B C D 好む ユーザー 1 48
  • 49.
    Item Based Recommendation アイテムベース アイテムの類似アイテムを分析・推薦 類似 アイテム アイテム アイテム アイテム A B C D 好む レコメンド ユーザー 1 49
  • 50.
    ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D ユーザー ユーザー ユーザー 1 2 3 50
  • 51.
    ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D ユーザー ユーザー ユーザー 1 2 3 類似 51
  • 52.
    ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D 好む ユーザー ユーザー ユーザー 1 2 3 類似 52
  • 53.
    ユーザーベース分析 ユーザーベース 類似ユーザーを分析、好むアイテムを推薦 アイテム アイテム アイテム アイテム A B C D レコメンド 好む ユーザー ユーザー ユーザー 1 2 3 類似 53
  • 54.
    Collaborative Filtering: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 54
  • 55.
    協調フィルタリング: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 55
  • 56.
    Collaborative Filtering: データ表現 アイテムを N次元のユーザー行動ベクトルで表現 User3 User1 User2 56
  • 57.
    Collaborative Filtering: データ表現 ユーザー-アイテム行列を扱う 例:アイテムのユーザー評価 User1 User2 User3 … Item1 3 2 1 … Item2 4 2 3 … Item3 2 4 5 … …. … … … … 57
  • 58.
    類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation)Item間類似度 ①Item Vectorの正規化 User1 User2 User3 Item1 0.818 0.5345 0.2673 正規化 Item2 0.7428 0.3714 0.557 Item3 0.2981 0.5963 0.7454 58
  • 59.
    類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation)Item間類似度 ①Item Vectorの正規化 User1 User2 User3 Item1 0.818 0.5345 0.2673 正規化 Item2 0.7428 0.3714 0.557 Item3 0.2981 0.5963 0.7454 Item間類似度 ②Item Vectorの内積 Item1 Item2 Item3 Item1 1 0.943 0.757 Item2 0.7428 1 0.858 Item3 0.2981 0.5963 1 59
  • 60.
    類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation)User間類似度 ①User Vectorの正規化 正規化 User1 User2 User3 Item1 0.5571 0.4082 0.1690 Item2 0.7428 0.4082 0.5071 Item3 0.3714 0.5071 0.8452 60
  • 61.
    類似度の算出:コサインベース コサインベースの類似度計算 (Cosine-based similarity computation)User間類似度 ①User Vectorの正規化 正規化 User1 User2 User3 Item1 0.5571 0.4082 0.1690 Item2 0.7428 0.4082 0.5071 Item3 0.3714 0.5071 0.8452 User間類似度 ②User Vectorの内積 User1 User2 User3 User1 1 0.83 0.78 User2 0.83 1 0.97 User3 0.78 0.97 61
  • 62.
    Collaborative Filtering: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 62
  • 63.
    類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation)Itemの相関行列 Item間の相関を見る (分散共分散行列) R: ItemのUser評価行列 成分 : Item i に対する User uの評価 User1 User2 User3 … Item1 R11 R12 R13 … Item2 R21 R22 R23 … … … … … … : Item i のUser評価平均 : User数 63
  • 64.
    類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 評価平均 Item1 1 0 -1 からのずれ値 Item2 1 -1 0 Item3 -5/3 1/3 4/3 64
  • 65.
    類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 評価平均 Item1 1 0 -1 からのずれ値 Item2 1 -1 0 Item3 -5/3 1/3 4/3 Item間 相関行列 ②Item Vectorの規格化・内積 Item1 Item2 Item3 Item1 1 0.5 -0.982 Item2 0.5 1 -0.655 Item3 -0.982 -0.655 1 65
  • 66.
    類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) 評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -0.4083 -0.7071 Item2 0.7071 -0.4083 0 Item3 -0.7071 0.8166 0.7071 66
  • 67.
    類似度の算出:相関ベース 相関ベースの類似度計算 (Correlation-based similarity computation) 評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -0.4083 -0.7071 Item2 0.7071 -0.4083 0 Item3 -0.7071 0.8166 0.7071 User間 相関行列 ②User Vectorの規格化・内積 User1 User2 User3 User1 1 -0.866 -0.5 User2 -0.866 1 0.87 User3 -0.5 0.87 1 67
  • 68.
    Collaborative Filtering: 類似度計算 ユーザー-アイテム行列から 3つの類似度計算の手法 ◆コサインベース (Cosine-based similarity computation) ◆相関ベース (Correlation-based similarity computation) ◆調整コサインベース (Adjusted cosine-based similarity computation) 68
  • 69.
    類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) Userごとの評価の振れ幅の補正 (Item i のUser評価平均)ではなく : User uの評価平均 を使用 調整コサイン行列 R: ItemのUser評価行列 成分 : Item i に対する User uの評価 : User数 69
  • 70.
    類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) User評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -2/3 -2 Item2 1 -2/3 0 Item3 -1 4/3 2 70
  • 71.
    類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) User評価平均 ①Userの評価平均からの差分 行列 からのずれ値 User1 User2 User3 Item1 0 -2/3 -2 Item2 1 -2/3 0 Item3 -1 4/3 2 Item間 相関行列 ②Item Vectorの規格化・内積 Item1 Item2 Item3 Item1 1 0.1754 -0.891 Item2 0.1754 1 0.604 Item3 -0.981 0.604 1 71
  • 72.
    類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 Item評価平均 Item1 1 1 -1 からのずれ値 Item2 1 -1 0 Item3 -5/2 0 4/3 72
  • 73.
    類似度の算出:調整コサインベース 調整コサインベースの類似度計算 (Adjusted cosine-based similarity computation) ①Itemの評価平均からの差分 行列 User1 User2 User3 Item評価平均 Item1 1 1 -1 からのずれ値 Item2 1 -1 0 Item3 -5/2 0 4/3 User間 相関行列 ②User Vectorの規格化・内積 User1 User2 User3 User1 1 -0.675 -0.884 User2 -0.675 1 -0.253 User3 -0.884 -0.253 1 73
  • 74.
    Collaborative Filtering: アルゴリズム アルゴリズム 1. 類似アイテム(またはユーザー)を見つける 2. 類似アイテム(またはユーザー)を利用し、予測する 74
  • 75.
    Collaborative Filtering: 評価予測 類似アイテム・ユーザーを利用し予測する 75
  • 76.
    Collaborative Filtering: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取る 76
  • 77.
    Collaborative Filtering: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取るItemのUser評価行列 Riu User1 User2 User3 平均 Item1 3 2 1 2 Item2 4 2 3 3 Item3 2 4 5 11/3 平均 3 8/3 3 26/3 77
  • 78.
    Collaborative Filtering: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取るItemのUser評価行列 Riu User1 User2 User3 平均 Item1 3 2 1 2 Item2 4 2 3 3 Item3 2 4 5 11/3 平均 3 8/3 3 26/3 相関ベース類似度計算User間 相関行列 Cuv User1 User2 User3 User1 1 -0.866 -0.5 User2 -0.866 1 0.87 User3 -0.5 0.87 1 78
  • 79.
    Collaborative Filtering: 評価予測 類似アイテム・ユーザーを利用し予測する K近傍法 K個の近いアイテム・ユーザーの評価を 偏差を重み付けして和を取るItemのUser評価行列 Riu User1のItem1への評価期待値 User1 User2 User3 平均 =User1の平均評価 Item1 3 2 1 2 Item2 4 2 3 3 +User2の重みづき偏差 Item3 2 4 5 11/3 +User3の重みづき偏差 平均 3 8/3 3 26/3 =R1 相関ベース類似度計算 +C12/(C12+C13)*(R12 –R2)User間 相関行列 Cuv +C13/(C12+C13)*(R13 –R3) User1 User2 User3 User1 1 -0.866 -0.5 =4.2 User2 -0.866 1 0.87 User3 -0.5 0.87 1 79
  • 80.
  • 81.
    Amazon Collaborative Filtering 世界で最も知られているCollaborative Filtering Amazon.co.jp 検索・閲覧 レコメンデーション 81
  • 82.
    Amazon Collaborative Filtering 世界で最も知られているCollaborative Filtering ◆Item-Item Collaborative Filtering アイテムベース 同じアイテムを見たユーザーには、同じアイテムを推薦 ユーザー数に依存せずスケールする 処理 ①アイテム-推薦アイテムのテーブルをオフラインで作る ②ユーザーアクセス時にはテーブルを参照するだけ 82
  • 83.
    Amazon-Item-Item Collaborative Filtering Item-Item Collaborative Filtering アルゴリズム User1 User2 User3 User4 Item1 1 1 Item2 1 1 Item3 1 1 1 Item4 1 1 83
  • 84.
    Amazon-Item-Item Collaborative Filtering Item-Item Collaborative Filtering アルゴリズム 1. 空のItem-Item の行列を作る User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 Item2 1 1 Item2 Item3 1 1 1 Item3 Item4 1 1 Item4 84
  • 85.
    Amazon-Item-Item Collaborative Filtering Item-Item Collaborative Filtering アルゴリズム 1. 空のItem-Item の行列を作る 2. 全アイテムに関し次の処理を行う 2-1. あるアイテム(親アイテム)を購入した顧客全てに対し 購入アイテム(子アイテム)をカウントする。 2-2. 親アイテム列・子アイテム行にカウント数を入れる 2-3. 親アイテム列のカウント数上位を推薦アイテムとする User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 1 2 Item2 1 1 Item2 Item3 1 1 1 Item3 Item4 1 1 Item4 85
  • 86.
    Amazon-Item-Item Collaborative Filtering Item-Item Collaborative Filtering アルゴリズム 1. 空のItem-Item の行列を作る 2. 全アイテムに関し次の処理を行う 2-1. あるアイテム(親アイテム)を購入した顧客全てに対し 購入アイテム(子アイテム)をカウントする。 2-2. 親アイテム列・子アイテム行にカウント数を入れる 2-3. 親アイテム列のカウント数上位を推薦アイテムとする User1 User2 User3 User4 Item1 Item2 Item3 Item4 Item1 1 1 Item1 1 2 Item2 1 1 Item2 1 1 1 Item3 1 1 1 Item3 2 1 1 Item4 1 1 Item4 1 86
  • 87.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 88.
    Mahout Recommendation Recommender Documentation
  • 89.
    Mahout Recommendation Mahout Recommendation Samplepublic class MahoutRecommendationSample { public static void main(String[] args) throws Exception { //データ設定 DataModel model = new FileDataModel(new File("preference.csv")); //類似度設定 UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model); //Recommender Engine生成 (ここでは User Base) Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); //ユーザー 1 に1つのアイテムを推薦 List<RecommendedItem> recommendations = recommender.recommend(1, 1); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); } }} 89 Mahout In Action
  • 90.
    Mahout RecommendationMahout Recommender ◆User Based Recommender ◆Item Based Recommender ◆Knn Item Based Recommender ◆SVD Recommender ◆Tree Clustering Recommender ◆SlopeOne Recommender 90 Mahout In Action
  • 91.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 92.
    分散処理フレームワーク:MapReduce MapがkeyとValueにデータを振り分け、Reduceがkeyごとに集計 分散処理を実現 User毎の集計での例 Map userA userD userA userC userB userD key 大量データに対する 3 7 1 2 6 5 value 分散演算 Shuffle & Sort Reduce userA userB userC userD 演算結果の集計 userA userA userB userC userD userD 3 1 6 2 7 5 userA userB userC userD 4 6 2 12 92
  • 93.
    Mahout RecommendJob 入力 userの評価データ 推薦対象データ movielens/prefs movielens/users UserId, ItemId, Preference (評価値) Userid 1,2,3 1 1,3,4 2 1,4,3 3 1,5,3 4 1,6,5 5 1,7,4 6 1,8,1 7 1,9,5 8 1,10,3 9 1,11,2 10 2,102,3 11 … … 93
  • 94.
    Mahout RecommenderJob 出力推薦結果movielens/outputuserid ¥t [itemid1: preferencePrediction1, itemid2, preferencePrediction2, …]userid itemid1 preferencePrediction1 1 [1315:5.0,1226:5.0,1194:5.0,1129:5.0,1115:5.0,1101:5.0,1098:5.0,1097:5.0,1073:5.0,1067:5.0] 2 [582:5.0,546:5.0,531:5.0,523:5.0,515:5.0,514:5.0,509:5.0,508:5.0,496:5.0,483:5.0] 3 [14:5.0,137:5.0,285:5.0,311:4.765625,539:4.7058825,905:4.7058825,896:4.6969695,.,,, ] 4 [1434:5.0,1024:5.0,1022:5.0,471:5.0,538:5.0,845:5.0,515:5.0,544:5.0,1265:5.0,873:5.0] 5 [1047:5.0,1035:5.0,1016:5.0,1014:5.0,1065:5.0,1079:5.0,1101:5.0,969:5.0,1110:5.0,959:5.0] 6 [1050:5.0,1021:5.0,1020:5.0,1011:5.0,1065:5.0,971:5.0,969:5.0,965:5.0,959:5.0,949:5.0] 7 [1411:5.0,1303:5.0,1267:5.0,1239:5.0,1228:5.0,1221:5.0,1217:5.0,1210:5.0,1203:5.0,1194:5.0] 8 [566:5.0,550:5.0,546:5.0,568:5.0,845:5.0,528:5.0,527:5.0,526:5.0,523:5.0,588:5.0] 94
  • 95.
    Mahout Distributed Recommender User Vector作成 User ごとに ItemId, 評価値のベクトルを分散集計 Key: UserId Map Value: (ItemId, Preference) keyA keyD keyA keyC keyB keyD key 大量データに対する val1 val2 val3 val4 val5 val6 value 分散演算 Shuffle & Sort Reduce keyA keyB keyC keyD 演算結果の集計 keyA keyA keyB keyC keyD keyD val1 val3 val5 val4 val6 val2 keyA keyB keyC keyD val1+ val5 val2+ val4 val3 val6 95
  • 96.
    Mahout Distributed Recommender:分散処理例 共起行列の生成 (ItemId1, ItemId2) ごとに評価アイテム数を集計 Key: (ItemId1, ItemId2) Map Value: preference keyA keyD keyA keyC keyB keyD key 大量データに対する val1 val2 val3 val4 val5 val6 value 分散演算 Shuffle & Sort Reduce keyA keyB keyC keyD 演算結果の集計 keyA keyA keyB keyC keyD keyD val1 val3 val5 val4 val6 val2 keyA keyB keyC keyD val1+ val5 val2+ val4 val3 val6 96
  • 97.
    Mahout Distributed Recommender RecommenderJob の MapReduce実行 と HDFS入出力 Mahout In Action
  • 98.
    Mahout RecommendJob Recommender 実行例 コマンドライン実行 (RecommenderJob 呼出) $HADOOP_HOME/bin/hadoop jar $MAHOUT_HOME/mahout-core-0.5-job.jar ¥ org.apache.mahout.cf.taste.hadoop.item.RecommenderJob ¥ -Dmapred.output.dir=movielens/output ¥ -Dmapred.input.dir=movielens/prefs ¥ --usersFile movielens/users ¥ --similarityClassname SIMILARITY_COOCCURRENCE 意味 -Dmapred.output.dir= <出力ディレクトリのパス> ¥ -Dmapred.input.dir=<ユーザーのアイテム評価データ> ¥ --usersFile <レコメンド対象ユーザー> ¥ --similarityClassname <類似度算出法> 98
  • 99.
    Mahout RecommendJob 実行オプション(抜粋) オプション ( 短縮表記 ) 特徴 --numRecommendations (-n) 各ユーザーへの推薦数 --usersFile (-u) 推薦対象ユーザーのファイルパス --itemsFile (-i) 推薦対象アイテムのファイルパス --filterFile (-f) 推薦を除外するユーザー、アイテム組合せ指定 形式: (userid, itemid) --maxPrefsPerUser (-mp) 各ユーザーで用いる最大数評価 (上位から) --minPrefsPerUser (-mp) 各ユーザーで用いる最小評価数 (上位から) (Default : 1) --maxSimilaritiesPerItem (-m) 各アイテムで用いる最大類似アイテム数 --maxCooccurrencesPerItem (-mo) 各アイテムで用いる最大共起アイテム数 (Default : 100) --similarityClassname (-s) 用いる類似度 SIMILARITY_COOCCURRENCE SIMILARITY_EUCLIDEAN_DISTANCE, SIMILARITY_TANIMOTO_COEFFICIENT, SIMILARITY_LOGLIKELIHOOD, SIMILARITY_PEARSON_CORRELATION, SIMILARITY_UNCENTERED_COSINE SIMILARITY_UNCENTERED_ZERO_ASSUMING_COSINE, SIMILARITY_CITY_BLOCK 99
  • 100.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 101.
    参考資料: ■ ApachMahout http://mahout.apache.org http://cwiki.apache.org/MAHOUT http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms http://www.slideshare.net/gsingers/intro-to-apache-mahout ■ Mahout In Action 101
  • 102.
    参考資料: 集合知イン・アクション 集合知プログラミング 102
  • 103.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に
  • 104.
    最後に 蓄積されたデータを有効活用してきたい 104
  • 105.
    最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 105
  • 106.
    最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 106
  • 107.
  • 108.
    AGENDA ◆講師紹介 ◆Mahoutとは◆Recommendation ◆Collaborative Filtering ◆Mahout Recommendation ◆Mahout Distributed Recommendation ◆参考資料 ◆最後に

[8]ページ先頭

©2009-2025 Movatter.jp