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

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

SparkとMLlibで実現するかんたん高速機械学習

on

  • 463 views

Hadoop Conference Japan 2014 LT 2014/7/8

Hadoop Conference Japan 2014 LT 2014/7/8

Statistics

Views

Total Views
463
Views on SlideShare
368
Embed Views
95

Actions

Likes
5
Downloads
3
Comments
0

4 Embeds 95

http://blog.yoslab.com 53
https://twitter.com 48
http://s.deeeki.com 1
http://www.slideee.com 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

    SparkとMLlibで実現するかんたん高速機械学習 SparkとMLlibで実現するかんたん高速機械学習 Presentation Transcript

    • SparkとMLlibで実現する   かんたん高速機械学習 株式会社マーズフラッグ  R&D部   山下 勝司(@yamakatu)   Hadoop  Conference  Japan  2014   2014/7/8
    • Who  are  U  !!! •  やまかつ(@yamakatu)   •  株式会社マーズフラッグ  R&D部   •   やってること   •  検索関連のR&D   •  担当   •  開発、インフラ、統計、機械学習   •  育児   •  やってたこと   •  Gihyo.jp連載「Mahoutで体感する機械学習の実践」   •  IPA  未踏ソフトウェア創造事業(共同開発者だけど)  
    • SparkとMLlib   について話します
    • …の前にHadoopの 話
    • Hadoopは繰り返し 処理で遅い
    • この繰り返し処理 を高速に行えるの がSpark
    • 割愛 • 適当にググってください        or   • 以下のスライド見てください   「Spot  Instance  +  Spark  +  MLlibで実現 する簡単低コスト高速機械学習」
    • 繰り返し処理の高速化 Ref.   “Spark:  A  framework  for  iteraPve  and  interacPve  cluster  compuPng”   hTp://laser.inf.ethz.ch/2013/material/joseph/LASER-­‐Joseph-­‐6.pdf  
    • この繰り返し処理は   どこで使うのか?
    • 機械学習
    • What’s  機械学習 • スパムフィルタ   • レコメンド   • 画像処理   • 広告のパーソナライズ   • 消費予想   • マルウェア検知   • 検索エンジン   • とかとか  
    • という訳で、   Sparkと機械学習は 相性がいい
    • しかし、機械学習 は実装が困難
    • アルゴリズムが難解
    • テストが困難
    • できれば実装した くない
    • Sparkには機械学習 ライブラリが用意 されている
    • MLlib •  実装済みアルゴリズム(青文字は1.0で追加)   •  SVM   •  ロジスティク回帰   •  線形回帰   •  ridge回帰   •  Lasso回帰   •  K-­‐Means   •  協調フィルタリング   •  ALS(交互最小二乗法)   •  AtochasPc  Gradient  Descent(最急降下法)   •  Decision  Forest(Random  Forest)   •  SVD(特異値分解)   •  PCA(主成分分析)   •  L−BGFS  
    • Spark  1.1ですげー 増えるらしいよ
    • けど、   簡単に使えるの?
    • ロジスティック回帰の場合 (Java)   JavaSparkContext  sc  =  new  JavaSparkContext(new  SparkConf().setAppName("JavaLR”));   JavaRDD<LabeledPoint>  points  =  sc.textFile(args[0]).map(new  ParsePoint()).cache();   LogisPcRegressionModel  model  =  LogisPcRegressionWithSGD.train(          points.rdd(),  Integer.parseInt(args[2]),Double.parseDouble(args[1])   );   sc.stop();         4行  +  おまじない  
    • 肝心の速さは?
    • 公式サイトによると   ロジスティック回帰 でHadoopの100倍  
    • というのは   実際には少し違う
    • 結果、繰り返し処理の高速化 Ref.   “Spark:  A  framework  for  iteraPve  and  interacPve  cluster  compuPng”   hTp://laser.inf.ethz.ch/2013/material/joseph/LASER-­‐Joseph-­‐6.pdf  
    • 繰返しの数で   速度差は変わる
    • アルゴリズムだけで なく、パラメータや 入力データも影響
    • Hadoopと比べて   実際どんだけ速いか はケース  by  ケース
    • けど、Hadoopより Sparkの方が速いこと に変わりはない
    • 実際使ってみての   課題
    • データがメモリに乗り 切らなかったらアレ
    • サンプリングや前 処理でデータ量を 減らすことが重要
    • ハードウェア増設 も有効
    • 今日はこれだけ覚えて帰って ください •  Hadoopは繰り返し処理で遅い、Sparkは ちょっぱや   •  機械学習は繰り返し処理なので、Sparkと相 性がいい   •  Sparkで機械学習するにはMLlibがお手軽   •  MLlibの今後の機能追加に期待大   •  Sparkのパフォーマンスはメモリが重要なの で、データ量とメモリの関係に気をつける。 サンプリング、前処理、ハードウェア追加 でがんばれ。  
    • Have  a  nice  Machine  Learning  !!