大崎の開発でできたおしゃれなビルだ。

_1040371_1040373_1040374_1040375_1040376_1040410_1040379_1040411

会場入口でJubatusのシールをもらう。無料ドリンクも。

_1040382_1040419

[2013-06-02 14:00]_1040383

開会、諸注意 / @unnonouno, futureひろせ

  • 開発者以外の人で集まるのは初めて
  • AP4基のうち2基が故障

_1040384

[2013-06-02 14:09]_1040385

機械学習チュートリアル / @unnonouno

  • http://www.slideshare.net/unnonouno/jubatus-casual-talks
  • Jubatusのリーダーやってる
  • googleトレンドで「ビッグデータ」がどんどん伸びてる
    • データマイニングはトレンドが落ちてる。
    • 機械学習はちょっと伸びてる。
  • コンピュータ将棋とかはムーアの法則以上のスピードで強くなっている。アルゴリズムの改良が効いてる。
  • 機械学習はデータがあればすぐに適用できる。
  • メリット: 大量処理・高速処理・高精度(ブレがない・疲れない)
    • "大量"と"速度"が圧倒的なポイント。レコメンデーションとか株取引とか。
  • 失敗するパターン
    • 精度を求めすぎる・少ない情報から推測するのは人間が得意(常識とか知識とかを使える)・人が介在する場合
  • ルールベース: 意外とどこまでも良くなる。けっこうやっててたのしい。
    • 1万行のperl・どこをかえていいのか?・条件を追加したらどうなるのか不明 → 破綻する
    • ルールは適用できなくなるがデータはかわらない「スイカ」→「西瓜」or「Suica」
  • データ管理の発送はテスト駆動開発にちかい: テストを容易してそれを満すルールを学習する。
  • 機械学習はルールベースに比べてメンテナンス性に優れる。
  • 教師あり学習: 入力x→出力y を学習する。分類問題。yが実数なら回帰問題という。
  • 教師なし学習: 出力はあたえない。入力自体の性質をしらべる。クラスタリングとか異常値検知とか。
    • 教師なし学習はすぐにとびつかないほうがよい。(学習データをつくるのがむつかしいからといって)。
      • 分類基準を与えてないので変な結果になる可能性が。結果解釈も難しい。
      • 教師ありの前処理に教師なしをつかうのはよくある。
  • 線形分類器の推定は重み付き多数決のイメージ(パーセプトロンとか)
    • 特徴は数万から数十万になるのがふつう。
  • 機械学習の本領発揮はこれからだ。
    • モノ同士がやりとりするには必要。

[2013-06-02 14:41]

  • QA: ナシをアリの入力にする例:機械翻訳(対訳でアリ学習して片方だけの言語でナシ学習)
  • Q:教師データはどのくらい容易したらよいか? A:みんながおもっているよりも少なくてok。50件15分でうまくいった場合も。
    • 問題が簡単だと特徴がはっきり出てくるのでデータが少なくてすむが、やってみないとわからない。

[2013-06-02 14:46]

休憩

おかしの提供。なんか上品だ。

_1040386_1040387_1040388

[2013-06-02 14:57]_1040389_1040390

ユーザーの潜在的な好みを反映した美容品レコメンド / チームJubatus

  • 大学院生
  • アットコスメ@cosmeのデータをつかわせてもらった。学生では通常つかえないもの。
  • ユーザモデル: 商品検索→購入・使用→レビュー・採点→商品検索
  • @cosmeには相性チェックというのがある。年代相性・肌質相性など。
    • 年齢と肌質だけで商品検索してよいのか?という疑問
  • 好みに類似した商品をレコメンドするようにした。
    • 入会して利用歴が浅い(ライトユーザ)場合は?
  • ユーザの好みと商品の評価を統合。
  • ライトユーザの特徴はヘビーユーザの特徴をつかってデータ補完
  • 類似度計算API・補完APIをつかった

[2013-06-02 15:14]

  • Q:ライトユーザの閾値は? A:人間が決めた。
  • Q:実戦投入はされた? A:たぶんNo。とりあえず作っただけ。ユーザ満足度などの評価はしてない。
  • Q:言葉によるレビューはどうした? A:@cosmeでは細かい評価ができるようになっていて自由記述のは扱ってない。
  • Q:カテゴリごとのユーザ・商品の特徴分けは? A:そこまで作り込まなかった。

[2013-06-02 15:22]

[2013-06-02 15:23]_1040391

mikutterとjubatusとfluentd / @katsyoshi

  • mikutter-jubatus
    • TLを学習。classifierを利用してfav判定。l
    • favイベントがきたら学習。
  • fluent-plugin-jubatus
    • classifierをつくったが、異常検知の方が便利?
  • Jubatusをカジュアルにつかってみた。100行くらい。

[2013-06-02 15:32]

  • Q:自動分類は便利だった? A:分類精度がいまいちうまくいってない。ツイートしか評価してないので。文脈もあるし。
  • Q:fluentdの発表の反応は? A:fluentdの方はrubykaigi中に書いてただけ。発表はしてない。需要はあるとおもう。

_1040392_1040393

[2013-06-02 15:36]

[2013-06-02 15:37]_1040394

Javaで楽してJubatusしたい / @komiya_atsushi

  • 仕事でJavaつかってない人挙手 → 1/3くらい?「けっこうおおいな...」
  • 機械学習というとはPythonが多い感じ。環境が充実してる?
  • なぜJavaか? プロダクトベースで17%。
  • Java + jubatus でweb検索してみるとブログが皆無..
  • JubatusのclassifierをつかってTwitter stream APIでツイートの言語分類をつくってみた。
  • 30行くらいのコードになった。
    • ClassifierClient#classify()よびだし
    • Listくみたて
  • つかってみた感想:つらい..
    • オブジェクトの組立が面倒...
    • 似たようなクラスがたくさんあって悩む...
      • TupleStringHogehogeおおすぎ。 IDEのサジェスチョンが効かない...
    • TupleStringStringが複数のパッケージに定義されていてサジェスチョンが効かない...
    • コード記述が多くて試行錯誤がついらい..
  • Jubatus Java clientは自動生成されていているのでラッパーをつくっている。 → Jubaba

[2013-06-02 15:53]

  • Java版がひどい理由は → つかわれてない。公開当時バグってたのにレポートが来ない。作ってる人も酷いのは認識...
  • Javaコードの自動生成がきびしいのかは、後の懇親会で...

_1040395

[2013-06-02 15:57]

休憩

[2013-06-02 16:05]_1040396

数式を使わないJubatus入門 / @07c00

  • セキュリティ屋さん(ASM,C,Ring0が得意)
  • にこにこ動画のコメントから動画の特徴がえられるか?
  • データを学習用に整形するのがめんどくさい。重みづけとかパラメータはわからん。データをなげこめばokなのはないか?
  • 日本語はmecabをロードする設定さえすればできるらしい。
  • 「Javaのコードをみたら「うぁーなげー」とおもったけど、Python短かいっす」
  • demo:タイトルはみずにコメントだけで分類。
    • わりかし分類できてる。
    • コメントが少ない動画はうまくいかない。
  • たくさんのテキストデータを入手してJubatusチュートリアルをコピペしたらできる。
  • demo2: 1話と2話のコメントを学習して3話を検出
    • 30秒くらいかかる → 無事成功

[2013-06-02 16:20]

  • Q:データをjsonでなげられるとうれしい? A:うれしいです。ベクトルの長さも隠蔽してほしい。
  • Q:にこ動のコメントは日本語じゃないのも多い(wとか)がストップワードにしてる。 A:そのままつっこんでる。mecabがどうなっているかも知らないし知りたくもない。(mecab的にはwの長さが違うと別単語になってしまう)

_1040398_1040400

[2013-06-02 16:24]

[2013-06-02 16:25]_1040401

Jubatusで快適ミサワ検索 / @kumagi

  • 地獄のミサワは非商用なら自由につかえる
  • 画像データを人力でOCRしてる。
  • jubarecommenderは汎用性の高い検索エンジン
  • 「Javaの人には悪いですがRubyで書くのも短いです」
  • Chromeエクステンションを書いた! → QoL上がった!
  • NTT中のgithub enterpriseで日記を書いてる
    • コメントに最適なミサワ画像を入れられる

_1040402_1040403_1040404_1040405

[2013-06-02 16:36]_1040406

juabaanomalyでキーストローク認証 / おだ

  • 打鍵リズムは異なるという仮説にもとづいて、webごしの認証。リスクベース認証。
  • そのまま入れてもダだった → LOFパラメータチューニング。10個ちかくある。

[2013-06-02 16:44]

  • Q:jubaanomaryはつかってみてうまくいかなかったがどうだったか A:自分のタイプなら1になった。
  • Q:bin_widthを決めるうまい方法は? A:裏でRをつかって算出した。LOFとeuclid-LSHの両方をつかっているのでパラメータがむつかしい。
  • ミサワ検索の質問がなくてショボーンなkumagiさん。

[2013-06-02 16:49]

[2013-06-02 16:50]_1040407

JubatusとOpenCVで一般物体認識エンジンを作ろう/ @kazoo04

  • 一般物体認識: 画像を入力して何が写ってるか分類する
  • 画像データをそのままつっこめない。特徴抽出が肝。
  • Bag of Features (Bag of Visual Words; BoVW)
    • 文章の判別で構造を無視して単語だけでやった方がいい結果になるのと似てる。
  • 特徴抽出: 回転や照明変動にロバストなものを選ばないとだめ.
  • 高次元ベクトルを教師なしクラスタリングして代表点をとる (1日とか1週間とかかかる)
  • BoVWだけだと精度がいまいちだったので Fisher Vectorをつかった?
  • 特徴抽出はDense sampling。クラスタリングの精度はどうでもよさそう。BoVWはメモリと時間をとにかくかける。線形分類用に設計された特徴量をつかう。
  • PCの中に保存されてる画像を検索するのをつくってみた。
    • 飛行機は形が変わらないのでけっこううまくいった。
    • 飛行機でgoogle検索→64個とれる→jubatus学習
    • ディスクに入り切らずデモ断念。

[2013-06-02 17:04]

  • Q:自分でつくった理由は? A:そういうプロダクト(モダンな方法をつかったもの)がなかったから。

[2013-06-02 17:07]

休憩

_1040408_1040409_1040412

[2013-06-02 17:21]_1040413

Jubatusを用いた大量映像の異常値検知 / @ogawa

  • Jubatus+AIST: fv_converterの拡張⇒Datum魔改造
  • データはいっぱいある画像も監視カメラがあっちこちにあるし。
  • Datum魔改造: custom_typeをつくった
    • custom feature detectoreやそれのRPC clientとか. RPCをつかえばserverの言語は自由.
  • HLAC: 3x3の出現パターンを数え上げる。1〜25の特徴列が得られる。
  • CHLAC: HLACに時間軸を追加して3x3x3。251次元
  • 監視カメラの画像を縮小・2値化する。
  • 外れ値を検出する。同じ画像が繰り返し現われれば値が下ってゆく。
  • 分析のフレームレートは、学習済みデータ10000件くらいまでは(入力に相当する)30FPSを越えている。

[2013-06-02 17:35]

  • Q:FPSが遅くなる原因は? A:(あとで) unno:遅くなる理由はLOFがデータを溜め込むため。回避方法も検討中。(特徴量抽出のスピードは問題ない)
  • Q:音響は? A:FFTしてCHLACを考えている。目に見えないのでウィンドウ幅を広くとらないといけないかも。
  • Q:リアルタイムに処理するのではなく、過去のある期間について異常値検出できないか? A:できるとおもう。
  • Q:左から物体が移動してきたのが何回か繰り返されたあとに右から物体したらどうなるか? A:HLACのパターンは並行移動で重ならないように選ばれている(これ重要)。なので並行移動じたいは特徴にならない。
  • Q:アプリケーションは? A:車載カメラで雨が振ってきたとか急ブレーキをかけたとか、やってみたい。
  • unno:教師なし学習は過去のデータを何時わすれたらいいのかというのは問題

[2013-06-02 17:47]

[2013-06-02 17:48]_1040414

Jubatusでオンラインランク学習 / @y_tag

  • ランク学習: (learning-to-rank) 入力として与えられたあるクエリに対して、候補となるアイテムを適切に並べ替えたい。
  • メールの受信トレイの重要度順とか。
  • pagerank:クエリによらないアイテムのクォリティの例
  • ラベル:適合度。二値・多値。
  • データをどうつくるか?
    • 良質な人手、いまいちだがユーザのフィードバックをログから抽出やレーティングやクリックログ。
  • pointwise:ラベルの値自体を予想。分類や回帰。正解ラベルと予測値の損失関数を最小化。
  • pairwise:あるクエリにむすびつく2つのアイテムの適合度の大小関係を用いる。大小関係について分類や回帰をつかえる。
  • listwise:並び全体を考慮する。

[2013-06-02 18:03]

  • スコアリング自体よりもランキングの方が重要だとおもわれている。ただ☆の数が3つ以下のは落したいという用途では必要だとおもわれる。

[2013-06-02 18:07]

[2013-06-02 18:09]_1040415

世界征服をめざす Jubatsu に期待する5つのポイント / @shimtoru

  • ミドルウェアをコントロールできる。状態を把握できる。
  • 多種多様ではなくて多種単様なのがのぞましい。あれこれみるのはいや。
  • classifier,recommender,anomalyは安心してつかえそうという評価。
  • モデルを取得できない。
  • 障害に対する配慮が十分でない。エラーメッセージをみても問題が識別できない。
  • パッケージの依存関係が複雑・パッケージがそもそも多すぎ。
  • 実装言語が多すぎる。C++/Haskell/OCamlとか。実装者の趣味か?
  • mix: mixで平均をとるのがいいか、データを間引いた方がいいのか自明ではない。やってみたらイマイチ。そうすればmixのチューニングができるか。
  • jubatusの動作モデル:classiferは学習遅い・評価速い、recommenderは逆。分散のしかたをよく考えてほしい?
  • 開発は非常にアクティブ。(Hadoopサミットでjubatusが枠をもらってる。組織票ばんさーい?)

[2013-06-02 18:32]

  • unno:機能拡張が遅れてるのは、大規模なリファクタリングを数ヶ月かけてやってたせいです。
  • unno: mix:iterative parameter mixerを実装している。手元で実験してもたいして改善してない。みんなそうおもってる?データセットが大規模じゃないとダメ?

[2013-06-02 18:35]

[2013-06-02 18:37]_1040417

閉会のあいさつ / @unnonouno

  • 直前2週間前まで会場は断りつづけられた。
  • 参加者:85名 98人申し込み中。
  • 「jubatusハンズオン」で検索。

_1040418

[2013-06-02 18:41]

懇親会 + LT

[2013-06-02 19:00]

_1040420_1040421_1040422_1040423_1040424_1040425_1040426_1040427_1040428_1040429_1040432_1040433_1040434_1040435_1040436_1040439

うんのさんによる一本締め

_1040441

[2013-06-02 21:00]

_1040442_1040444