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

Jubatusの紹介

Yuya Unno
December 17, 2011

 Jubatusの紹介

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