Share
Embed
Jubatusの紹介
Yuya Unno
December 17, 2011
Transcript
27 slides
-
⾃自⼰己紹介 l 海野 裕也 (@unnonouno) l unno/no/uno l プリファードインフラストラクチャー (PFI) l
研究開発部 l 検索索エンジンSedueの会社 l 専⾨門 l ⾃自然⾔言語処理理 l テキストマイニング 2 -
Big Data ! l データはこれからも増加し続ける l 多いことより増えていくということが重要 l データ量量の変化に対応できるスケーラブルなシステムが求めら れる
l データの種類は多様化 l 定形データのみならず、⾮非定形データも増加 l テキスト、⾏行行動履履歴、⾳音声、映像、信号 l ⽣生成される分野も多様化 l PC、モバイル、センサー、⾞車車、⼯工場、EC、病院 4 -
データを活⽤用する STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた STEP 2. データを分析することで、現状の把握、理理解ができる STEP 3. 状況を理理解し、現状の改善、予測ができる
l 世の中的には、蓄積から把握、理理解に向かった段階 5 5 蓄積 理理解 予測 より深い解析へ 本の購買情報 を全て記録で きるように なった! この本が実際 に売れている のは意外にも 30代のおっさ ん達だ! この⼈人は30代 男性なので、 この本を買う のではない か? -
Jubatus 6 リアルタイム ストリーム 分散並列列 深い解析 l NTT PF研とPreferred Infrastructureによる共同開発
10/27よりOSSで公開 http://jubat.us/ -
開発の経緯(PFI側から⾒見見た) l もともと機械学習が得意だった l @hillbig (フェロー) l 特にオンライン学習に関しては5年年前くらい(研究 室に⼀一緒にいた時)からずっと調べてた l
もともとHadoopが得意だった l @kzk_mover (元CTO) l ⽇日本Hadoopユーザー会 l Hadoopではできない⼤大規模データ解析をやろ う! 7 -
Hadoopの特徴 l 速い! l ⼤大量量のデータを⼀一気に処理理 l 分散する! l ⾜足りなかったら継ぎ⾜足そう l
ロバスト! l サーバーは壊れるもの l 遅い l 結果が帰ってくるまでの時間は遅い 9 -
機械学習とは? l ⼤大量量のデータから規則や傾向を解析、分析や予 測に活⽤用する l データがある分野、どこでも活⽤用 l ⾃自然⾔言語処理理、パターン認識識、画像、⾳音声、etc. l 研究ベースのOSSが多い
l libsvm/liblinear/Mallet/crf++/R l すでに実⽤用化が進んでいる l Gmailの重要ボタン(分類問題)、推薦システム(近傍探索索)、 バグの有無も予想できるらしいよ 10 -
オンライン学習は学習⼿手法の⽅方式の⼀一つ l バッチ学習 l データを全体を⾒見見て重みを調整する l 参考書を全部解いてから答え合わせ l オンライン学習 l
1つずつデータを⾒見見て重みの更更新を繰り返す l ⼀一問ずつ解いて答え合わせ 11 学習器 学習器 -
機械学習・オンライン学習の特徴 l 速い! l データを受け取ったらすぐ学習 l 速い! l 5年年前:学習10時間、今:学習10分 l
便便利利! l ルール書くの疲れた l 分散させる技術がない 12 -
分散かつオンラインの機械学習 l 処理理が速い! l 処理理の完了了を待つ時間が少ない l 5分前のTV番組の影響を反映した広告推薦ができる l 5分前の交通量量から渋滞をさけた経路路を提案できる l
⼤大規模! l 処理理が間に合わなくなったらスケールアウト l ⽇日本全国からデータが集まる状態でも動かしたい l 機械学習の深い分析! l 単純なカウント以上の精度度を 13 -
テキストマイニングとの関係 l Jubatus⾃自体は基盤よりの技術 l 分散フレームワーク l 機械学習 l Hadoop +
Mahoutくらいのレイヤー l 具体的な解析⾃自体はその上に構築 l ⼤大規模リアルタイムにテキスト分析する⽤用途に 使えるかも 15 -
技術の視点で⾒見見るとテキストマイニングは複合技術 16 機械学習 統計 検索索 ⽂文字列列処理理 分散 テキスト マイニング 乱択
アルゴリズム ストリーム 処理理 アプリ 理論 ⾃自然⾔言語 処理理 マイニング Jubatus はこの辺 -
機械学習のような⾼高度度な分析は必要なのか? l 数を数える以上の処理理はいらないんじゃ ない? l すでに使われている l レコメンド(近傍探索索) l スパム分類(分類)
l 応⽤用範囲は広い l ⾔言語、画像、⾳音声、センサー、etc. 17 -
機械学習ライブラリの敷居はまだ⾼高い l libsvmフォーマット l +1 1:1 3:1 8:1 l 何よこれ? ←普通の⼈人の反応
l ハイパーパラメータ l 「Cはいくつにしましたか?」 l Cってなんだよ・・・ ←普通の⼈人の反応 l 研究者向き、エンジニアが広く使えない 19 -
RDBやHadoopから学ぶべきこと l わからない l リレーショナル理理論論 l クエリオプティマイザ l トランザクション処理理 l
分散計算モデル l わかる l SQL l Map/Reduce l 「あとは裏裏でよろしくやってくれるんでしょ?」 20 -
Jubatus裏裏の⽬目標 l わからない l オンライン凸最適化 l 事後確率率率最⼤大化 l MCMC、変分ベイズ l
特徴抽出、カーネルトリック l わかる l ⾃自動分類、推薦 l 「あとはよろしくやってくれるんでしょ?」 21 全ての⼈人に機械学習を! -
⽣生データを突っ込めば動くようにしたい l Jubatusの⼊入⼒力力はキー・バリュー l 最初は任意のJSONだった l twitter APIの⽣生出⼒力力を⼊入⼒力力できるようにしたかった l あとは勝⼿手に適当に処理理してくれる
l ⾔言語判定して l 各キーが何を表すのか⾃自動で推定して l 勝⼿手に適切切な特徴抽出を選ばせる l (予定、まだできない) 22 -
雰囲気だけ l 典型的な特徴抽出は⽤用意しておく l MeCabで分割して単語を特徴に l ⽂文字Nグラムを特徴に l 正規表現で部分⽂文字列列の切切り出し l
弄弄るのは設定だけ l お客さん先でコンパイルし直しとか⾟辛い・・・ l パッチを当ててもらうのはリスクが⾼高い 23 -
使い⽅方のイメージ(分類) key value 年年齢 28 ID unnonouno コメント Jubatus動い たー
プロ フィール PFIで働いて ます 24 男性! 裏裏にある規則 PFI à 男性? Jubatus à 男性? -
インストールは⾯面倒くさいよ! l Macなら l port install jubatus l でインストールできるようにしてくれた⽅方がいらっ しゃいました
l Linuxなら l ./waf configure & ./waf l sudo ./waf install l だいたいどこかでコンパイルエラー 25 -
今後どうなる? l 分類以外の機能追加 l 統計情報 l 回帰 l レコメンド l
複数のプログラミング⾔言語から使える l 今は、C++, Python, Ruby, PHP(外部の⽅方が作って くれた) l さらに、可視化?管理理画⾯面? 26 -
まとめ l Jubatusとは何か? l 分散基盤 l オンライン学習 l すべての⼈人に機械学習を l
典型的な例例は設定だけで l SQLより簡単に使えるといいね! l 使いやすさはこれからです 27