Your SlideShare is downloading. ×
0
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
machine learning & apache mahout
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

machine learning & apache mahout

7,621

Published on

an introduction of machine learning & Apache Mahout

an introduction of machine learning & Apache Mahout

Published in: Technology, Education
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,621
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
119
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 機械学習と Apache Mahout
  • 2. Apache Mahout とは ・ ASF (Apache Software Foundation) による新し いオープンソース・プロジェクト ・目標は、 Apache ライセンスの下、無料で使用 できるスケーラブルな機会学習な機械学習アル ゴリズムを作成すること ・ Mahout : 象を飼う人、象を使う人   Apache Hadoop ( ロゴは黄色い象 ) を使ってス ケーラビリティとフォルト・トレランスを実現 していることに由来します。
  • 3. Apache Mahout ・ Apache Lucene( オープンソースの検索 ) コミュ ニティーに関係していた数人によって開始され ました。 ・一般的な機械学習アルゴリズムを、確実かつ、 十分にドキュメントを整備した上で、スケーラ ブルに実装することを志向しています。 ・特徴  スケーラブル。 hadoop を利用した並列演算。   Java ライブラリであること。 (UI やパッケージ 化されたサーバ等はありません )
  • 4. 機械学習とは 機械学習(きかいがくしゅう、 Machine learning )  ・人工知能における研究課題の一つで、人間が 自然に行っている学習能力と同様の機能をコン ピュータで実現させるための技術・手法のこと  ・ある程度の数のサンプルデータ集合を対象に 解析を行い、そのデータから有用な規則、ルー ル、知識表現、判断基準などを抽出する
  • 5. 機械学習はどんなところで使われているか (1) ・ Amazon などのサイトで過去の購買履歴に基づ いてユーザに商品を推薦するシステム
  • 6. 機械学習はどんなところで使われているか (2) ・指定された日付における類似のニュース記事をす べて見つけるシステム
  • 7. 機械学習はどんなところで使われているか (3) ・ web ページをジャンル ( スポーツ、経済など ) にしたがって自動的にカテゴリー分けする ・ E メールからスパム・メールを検出 ・クレジット詐欺の発見、不正の検出 ・株式市場の分析
  • 8. 機械学習で使われる手法 ・教師あり学習:  ラベルつきの訓練データから機能を学習し、有 効な任意の入力の値を予測します。 ・教師なし学習:  何が正しいか正しくないかの例を使わずにデー タの意味を推測します。
  • 9. 教師あり学習 ・一般的な例:    E メールからスパムを分類する場合。    web ページをジャンルに従ってラベル付けす る場合。   手書き文字を認識する場合。 ・よく使われるアルゴリズム   単純ベイズ分類器   ニューラルネットワーク    SVM ( サポートベクターマシン )
  • 10. 教師なし学習 ・教師なし学習がよく使われる例:   類似の入力を論理的なグループに分類する場 合。 ・一般的な手法    K 平均法   階層型クラスタリング   自己組織化マップ
  • 11. よく使用される機械学習タスク ・以下の 3 つは実際のアプリケーションで非常に よく使われるタスクです。   ・協調フィルタリング   ・クラスタリング   ・カテゴリー分け
  • 12. 協調フィルタリング ・協調フィルタリング (CF: Collaborative Filtering) で は、ユーザ情報(評価、クリック数、購入履歴な ど)を使用して、他のサイト・ユーザに対してリコ メンデーションを行います。  ・ユーザ・ベース:類似のユーザを見つけることで アイテムを推薦します。  ・アイテム・ベース:アイテム間の類似性を計算し 、レコメンデーションを行います。 どの CF 手法も最終的には、ユーザおよびユーザが評 価したアイテムどうしの類似性を計算することにな ります。
  • 13. レコメンデーションの例 これをクリックしたら同じようなテーマの商品が推薦されました。
  • 14. レコメンデーションの応用例 2010 年 8 月に、 JR 品川駅に登場した 次世代自動販売機 オムロンが開発した属性判定センサお よび人感センサを連動させることで、 自販機の前に誰も居ない状態のときに は、デジタルサイネージのネットワー ク (WiMAX) を用い、コンテンツを配信 する。 また、人が自販機の前に立って、商品 購入をしようという場合は、顧客属性 ( 年齢、性別 ) を判定し、属性ごと にお 勧め商品の表示を行ったり、季節や時 間帯、環境に応じた商品の提案といっ た 1 人ひとりを見分けた " 高度なマーケ ティング " が行われる。
  • 15. クラスタリング クラスタリングとは、類似のアイテムをグループ 化することです。 多くの実装では以下のようにクラスタリングしま す。 (1) 集合の中のアイテムを n 次元空間のベクトル として表現 (2) 2 つのアイテム間の距離を計算 ( 距離はユー クリッド距離、マンハッタン距離、コサイン類 似度など ) (3) 距離が近いアイテムどうしをグループ化 (4) (2), (3) を繰り返す
  • 16. ブログをクラスタリングする場合 まず、それぞれのブログのフィードに現れる特 定の単語の頻度を計算します。 " c hina" " kids " " mus ic " " yahoo" … Gothamis t 2 3 3 0 GigaOM 6 0 0 2 Quic k Online Tips 1 2 2 22 …
  • 17. ブログをクラスタリングする場合 この例だと “ Gothamist” ”と Quick Online Tips” の 距離が一番近いのでこの 2 つが最初にグループ 化されます。 “china” の頻度 “kids” の頻度 GigaOM Gothamist Quick Online Tips
  • 18. 階層的クラスタリング 階層的クラスタリングでは、最も似ている 2 つの グループをまとめることを繰り返すことによっ て、グループの階層を作り上げます。 ① ② ③ ④ ① 最も距離が近い a と b の 2 つのアイテム がまとめられ、 a と b の間の位置に新しい グループとしてまとめられます。 ② 新しいグループは c と一緒にまとめられ ます。 ③ この場合 d と e が最も近いアイテムとな るのでこれらはまとめられて新たなグループ を形成します。 ④ 残っている 2 つのグループがまとめられ 、全体が一体となります。
  • 19. ブログをクラスタリングした例
  • 20. クラスタリングの例 (2) 人々が欲しい物のリストからクラス タリング 一般の人々が欲しい物のリストをクラスタリングしました。 ユーザ1 ユーザ2 ユーザ3 … watc h 1 0 0 je ans 1 1 1 s hoe s 1 0 1 … ※ 欲しい: 1   欲しくない: 0 クラスタリング
  • 21. カテゴリー分け カテゴリー分けの手法のうち、ここではベイズ分 類器による迷惑メール(スパム・メール)フィ ルタを説明します。 例えばタイトルに「無料お試し」という言葉が含 まれているとき、そのメールが迷惑メールであ る確率をどうやって計算すればよいでしょうか ?
  • 22. 迷惑メールとタイトルの関係 ③ = (①かつ②) タイトルに「無料お試し」 が含まれていて、かつ迷惑 メールである。 ② 迷惑メールであ る。 割合 ( 確率) : P( 迷 惑 ) ① タイトルに「無料お試 し」が含まれている。 割合 ( 確率 ): P( 無料お試 し ) この割合(確率)を知りたい。
  • 23. ベイズの定理 ベイズの定理は条件付き確率をひっくり返す方法で す。 ※ 条件付き確率 P(A|B) は、「 B が起こったとい う条件のもとで A が起こる確率」と定義されて います。 P(A | B) = P(B | A) × P(A) / P(B)
  • 24. ベイジアンフィルタ (1) 過去のメールのデータを調べたところ、以下のようになりまし た。  ・迷惑メールの割合は全メールの 20%    ⇒ P( 迷惑 ) = 0.2  ・迷惑メールで、タイトルに「無料お試し」を含むもの割合 は 60%    ⇒ P( 無料お試し | 迷惑 ) = 0.6  ・迷惑メールでないメールのうち、タイトルに「無料お試 し」を含むものは 1%    ⇒ P( 無料お試し | 迷惑でない ) = 0.01
  • 25. ベイジアンフィルタ (2) P( 迷惑 | 無料お試し) ← ここでベイズの定理を使用します = P( 無料お試し | 迷惑 ) × P( 迷惑 ) / P( 無料お試し ) = P( 無料お試し | 迷惑 ) × P( 迷惑) / { P( 迷惑 )×P( 無料お試し | 迷惑 )+P (迷惑でない )×P( 無料お試し | 迷惑 でない ) } = 0.6 × 0.2 / (0.6 × 0.2 + 0.4 ×0.01) = 0.12 / (0.12 + 0.004) = 約 96.8 %   → 迷惑メールの可能性が高い! P( 迷惑 ) 、 P( 無料お試し | 迷惑 ) 、 P( 無料お試し | 迷惑でな い ) は実際のメールでトレーニングを続けていくことができ ます。
  • 26. 機械学習とスケーラビリティ ・機械学習では大量の入力データを処理するだけでなく 、素早く処理する必要があります。 (Picasa, amazon, Google News 等 ) ・また、機械学習ではしきい値等のパラメータを調整し て何度も計算を行い、最適なものを選ぶということが よくあります。 ⇒ これらのデータはたとえ高性能のコンピュータであっ ても一台のコンピュータで扱うことは不可能です。 ⇒ そこで Mahout ではスケーラビリティを重視 し、 Hadoop を使って処理を複数のコンピュータに容 易に分散させることを志向しています(現時点では対 応できていないアルゴリズムもあります)
  • 27. MapReduce
  • 28. Mahout で実装されている機能 ・ Taste CF 。 CF のためのオープンソース・プロジェクト であり、 SourceForge の Sean Owen によって開始され、 2008 年に Mahout に寄贈されました。 ・ Map-Reduce に対応した、いくつかのクラスタリング実 装( K 平均法、ファジィ K 平均法、 Canopy 、ディリク レ、平均シフトなど) ・分散型単純ベイズ分類器と補完型単純ベイズ分類器の実装 ・進化的プログラミングのための分散型適応度関数機能 ・ニューラルネットワーク ・ランダム決定木 ・サポートベクターマシン
  • 29. Mahout はどんなところで使われているか (1) ・ Booz Allen Hamilton( アメリカのコンサルティング会社 ) で はバイオメトリックス ( 指紋、網膜パターン等 ) のデータ ベースに Hadoop と Mahout を使用するシステムを研究し ています。 (http://www.slideshare.net/ydn/3-biometric-hadoopsummit2010)
  • 30. Mahout はどんなところで使われているか (2) ● Yahoo! の anti spam (http://www.slideshare.net/hadoopusergroup/mail-antispam?from=ss_embed) 【難点】 ・ 250 億のコネクション、 50 億のメール送信、 4.5 億のメ ールボックス ・スパマーからの、ターゲットに特化した攻撃 ・ボットネットの使用する IP アドレスはすぐに変動する ⇒ スパマーの作戦を調査、洞察するためのシステムを開発 ・ Hadoop: MapReduce + 分散ストレージ ・ Pig: データの分析と管理 ・ Mahout: データマイニングのために使用
  • 31. Mahout はどんなところで使われているか (3) ● Kauli 日本のアドネットワーク会社 (http://kau.li/) 以下、ニュースリリー スより。 ・複数のアドネットワークから最も広告収益の高い広告を自動的に選択。機 械学習の手法によって最も広告収益が高い広告アドネットワークの広告 を計算する ・アドネットワークごとにサイト訪問者の広告閲覧回数や広告に対する行為 などの計測結果を、再帰的に利用して学習するロジックを採用している ため、継続して利用するほど収益性が向上
  • 32. 参考文献 ・ Apache Mahout のホームページ (http://mahout.apache.org/) ・「集合知プログラミング」 Toby Segaran, オライリー・ ジャパン、 2008 (機械学習の Python による実装が参考 になりました) ・「 Apache Mahout の紹介」 Grant Ingersoll (http://www.ibm.com/developerworks/jp/java/library/j- mahout/), 2009 ・「 Mahout in Action 」 Sean Owen & Robin Anil, Manning, 2010 (http://www.manning.com/owen/) ・「食える数学」 神永 正博、ディスカヴァー・トゥエンテ ィワン、 2010 ( ベイジアンフィルタのところで参考にしま した) ・マイコミジャーナルの記事

×