Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jubatusの紹介

Avatar for Yuya Unno Yuya Unno
December 17, 2011

 Jubatusの紹介

Avatar for Yuya Unno

Yuya Unno

December 17, 2011
Tweet

More Decks by Yuya Unno

Other Decks in Technology

Transcript

  1. ⾃自⼰己紹介 l  海野  裕也 (@unnonouno) l  unno/no/uno l  プリファードインフラストラクチャー (PFI) l 

    研究開発部 l  検索索エンジンSedueの会社 l  専⾨門 l  ⾃自然⾔言語処理理 l  テキストマイニング 2
  2. Big Data ! l  データはこれからも増加し続ける l  多いことより増えていくということが重要 l  データ量量の変化に対応できるスケーラブルなシステムが求めら れる

    l  データの種類は多様化 l  定形データのみならず、⾮非定形データも増加 l  テキスト、⾏行行動履履歴、⾳音声、映像、信号 l  ⽣生成される分野も多様化 l  PC、モバイル、センサー、⾞車車、⼯工場、EC、病院 4
  3. データを活⽤用する STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた STEP 2. データを分析することで、現状の把握、理理解ができる STEP 3. 状況を理理解し、現状の改善、予測ができる

    l 世の中的には、蓄積から把握、理理解に向かった段階 5 5 蓄積 理理解 予測 より深い解析へ 本の購買情報 を全て記録で きるように なった! この本が実際 に売れている のは意外にも 30代のおっさ ん達だ! この⼈人は30代 男性なので、 この本を買う のではない か?
  4. 開発の経緯(PFI側から⾒見見た) l  もともと機械学習が得意だった l  @hillbig (フェロー) l  特にオンライン学習に関しては5年年前くらい(研究 室に⼀一緒にいた時)からずっと調べてた l 

    もともとHadoopが得意だった l  @kzk_mover (元CTO) l  ⽇日本Hadoopユーザー会 l  Hadoopではできない⼤大規模データ解析をやろ う! 7
  5. Hadoopの特徴 l  速い! l  ⼤大量量のデータを⼀一気に処理理 l  分散する! l  ⾜足りなかったら継ぎ⾜足そう l 

    ロバスト! l  サーバーは壊れるもの l  遅い l  結果が帰ってくるまでの時間は遅い 9
  6. 機械学習とは? l  ⼤大量量のデータから規則や傾向を解析、分析や予 測に活⽤用する l  データがある分野、どこでも活⽤用 l  ⾃自然⾔言語処理理、パターン認識識、画像、⾳音声、etc. l  研究ベースのOSSが多い

    l  libsvm/liblinear/Mallet/crf++/R l  すでに実⽤用化が進んでいる l  Gmailの重要ボタン(分類問題)、推薦システム(近傍探索索)、 バグの有無も予想できるらしいよ 10
  7. 分散かつオンラインの機械学習 l  処理理が速い! l  処理理の完了了を待つ時間が少ない l  5分前のTV番組の影響を反映した広告推薦ができる l  5分前の交通量量から渋滞をさけた経路路を提案できる l 

    ⼤大規模! l  処理理が間に合わなくなったらスケールアウト l  ⽇日本全国からデータが集まる状態でも動かしたい l  機械学習の深い分析! l  単純なカウント以上の精度度を 13
  8. テキストマイニングとの関係 l  Jubatus⾃自体は基盤よりの技術 l  分散フレームワーク l  機械学習 l  Hadoop +

    Mahoutくらいのレイヤー l  具体的な解析⾃自体はその上に構築 l  ⼤大規模リアルタイムにテキスト分析する⽤用途に 使えるかも 15
  9. 技術の視点で⾒見見るとテキストマイニングは複合技術 16 機械学習 統計 検索索 ⽂文字列列処理理 分散 テキスト マイニング 乱択

    アルゴリズム ストリーム 処理理 アプリ 理論 ⾃自然⾔言語 処理理 マイニング Jubatus はこの辺
  10. 機械学習ライブラリの敷居はまだ⾼高い l  libsvmフォーマット l  +1 1:1 3:1 8:1 l  何よこれ?  ←普通の⼈人の反応

    l  ハイパーパラメータ l  「Cはいくつにしましたか?」 l  Cってなんだよ・・・  ←普通の⼈人の反応 l  研究者向き、エンジニアが広く使えない 19
  11. RDBやHadoopから学ぶべきこと l  わからない l  リレーショナル理理論論 l  クエリオプティマイザ l  トランザクション処理理 l 

    分散計算モデル l  わかる l  SQL l  Map/Reduce l  「あとは裏裏でよろしくやってくれるんでしょ?」 20
  12. Jubatus裏裏の⽬目標 l  わからない l  オンライン凸最適化 l  事後確率率率最⼤大化 l  MCMC、変分ベイズ l 

    特徴抽出、カーネルトリック l  わかる l  ⾃自動分類、推薦 l  「あとはよろしくやってくれるんでしょ?」 21 全ての⼈人に機械学習を!
  13. 雰囲気だけ l  典型的な特徴抽出は⽤用意しておく l  MeCabで分割して単語を特徴に l  ⽂文字Nグラムを特徴に l  正規表現で部分⽂文字列列の切切り出し l 

    弄弄るのは設定だけ l  お客さん先でコンパイルし直しとか⾟辛い・・・ l  パッチを当ててもらうのはリスクが⾼高い 23
  14. 使い⽅方のイメージ(分類) key value 年年齢 28 ID unnonouno コメント Jubatus動い たー

    プロ フィール PFIで働いて ます 24 男性! 裏裏にある規則 PFI à 男性? Jubatus à 男性?
  15. インストールは⾯面倒くさいよ! l  Macなら l  port install jubatus l  でインストールできるようにしてくれた⽅方がいらっ しゃいました

    l  Linuxなら l  ./waf configure & ./waf l  sudo ./waf install l  だいたいどこかでコンパイルエラー 25
  16. 今後どうなる? l  分類以外の機能追加 l  統計情報 l  回帰 l  レコメンド l 

    複数のプログラミング⾔言語から使える l  今は、C++, Python, Ruby, PHP(外部の⽅方が作って くれた) l  さらに、可視化?管理理画⾯面? 26
  17. まとめ l  Jubatusとは何か? l  分散基盤 l  オンライン学習 l  すべての⼈人に機械学習を l 

    典型的な例例は設定だけで l  SQLより簡単に使えるといいね! l  使いやすさはこれからです 27