お疲れ様です、みけです。
表題の通り、JJUG ナイト・セミナー「機械学習・自然言語処理特集!」に行ってきました。
あまり機械学習とは縁が遠いので「ふ~ん」くらいにしかなりませんでしたが、簡単なメモです。
Java でカジュアルにはじめる機械学習
@komiya_atsushiさんによるJavaでの機械学習の入門の案内。
車輪の再発明はやめて、既存ライブラリーを使おうということで紹介されてたライブラリーがこちら。
liblinear-java LibSVMを線形分類・回帰に特化したもののJavaポーティングしたライブラリー。本体(C++)の最新バージョンに追従しようとしている #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
Weka - 多種多様な機械学習アルゴリズムが提供されている分析プラットフォーム。とりあえずやってみたいならこれ。 #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
MLlib - Sparkで使うことを前提としたライブラリー。アドホックな分析にも利用できる(ただしScala) #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
Mahout - Spark/MLlibが出てきたからオワコン感ただよってる #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
で、機械学習のテストを書くのは非常に辛いらしいのですが、
「機械学習のアルゴリズムのテスト、とにかく辛い「テスト書かないとかお前◯-◯◯◯◯の前でも同じこ(ry」」 #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
ということだそうです。
なんでJavaで機械学習するのかということですが、システム化するときに便利だからということで、もしpythonでシステムを作っているんならpythonでやればいいんじゃないですかねということだそうです。
なお、小宮さんによる説明してきたエントリーが既に公開されています。
#JJUG ナイトセミナー「機械学習・自然言語処理特集!」で Java でカジュアルに機械学習する話をしてきました
Spark/MLlibではじめるスケーラブルな機械学習
ND社の猿田さんによるSpark/MLlibの簡単な説明。
実演で回帰分析をしていたのですが、Mahoutで回帰分析を10回くらいすると数分では終わらなかったのが、Spark/MLlibで回帰分析をすると数十秒で終わりました。
結論、Spark/MLlib速い。
で、そんなSpark/MLlibですが、
MLlibの後継にSparkMLというのが開発されているらしい #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
また、Sparkのいいところは、インタラクティブなシェルがあるので、そこで少しずつ試しながら実行できるので、パラメーターのチューニングやアルゴリズムの選定が楽にできるとのこと。
Luceneと日本語の検索
@johtaniさんによるLucene/elasticsearchの説明。
見たことある資料だと思ったら、某社で僕の後ろで作ってた資料でした。
なお、elasticsearchがLuceneをベースに作られていることをこの勉強会で知ったのは秘密です。
大谷さんはLuceneで動かす用の形態素解析器であるlucene-gosenのメンテナーもやっていて、最近コードベースをgithubに移行したらしいのですが、lucene-gosenはmaven central上では公開されていないそうです。で、その理由が
代々引き継がれてきた秘伝のソースに素性の知れないjarが入っていて、mavenにもないらしい #jjug
— もちだでしたが、衰退しました (@mike_neck) 2014, 12月 17
で、その代々引き継がれてきたjarというのがjisx-0213-1.0.jarというjarのようです。
jisx-0213 jarでググって出てくるのが、Itadakiというプロジェクトの中のJISX0213というサブプロジェクトで、これではないかと思うのですが、これもmaven centralに載っていないようですね…しかも、この中にGoSenというサブプロジェクトあるし…
というわけで、あまり参考にはならないと思いますが、現場からは以上です。