« April 2008 | Main | June 2008 »

2008.05.27

いろんな学会

ICML/UAI/COLTのaccepted paperが出揃い、ざーっと面白そうなのを片っ端から読んでみました。
ICMLの読んでみた、読んでみたいリスト
そのうちピックアップします。
ICMLは強化学習系が多くなっているなぁという気もしたのですがそうでもないかな。

ついでに、私が興味を持ってみている機械学習の学会(と一個ジャーナル)紹介を。これも境界領域なので他の学会で面白い話が発表されたりすることも多いです。

機械学習系

JMLR
Journal of Machine Learning Research
機械学習の一番メジャーなジャーナルで出るスピードも速い(その年に学会発表されたものがその年のうちに出てくることも珍しくない)。全部web上からタダで論文を落とせる。よいですね

ICML
International Conference on Machine Learning
機械学習の一番メジャーな会議。機械学習と名の付くあらゆる分野が出ている。後述する学会に比べるとやや実用的な話が多いか。

NIPS
Neural Information Processing Systems
ICMLと双璧をなす学会。ベイズ的な話とかが特に多い。Neuralの名の通り脳・神経系の話もある。

COLT
Conference on Learning Theory
機械学習の理論的な解析の話がいろいろ。すごいときは論文の半分が数式で埋まっている場合も。

UAI
Conference on Uncertainty in Artificial Intelligence
ICMLとCOLTの中間ぐらいの実用・理論的なのが多いと理解してるけどいいのかな。特徴を知らない

ECML/PKDD
European Conference on Machine Learning/Practice of Knowledge Discovery in Databases
ICMLとKDDののヨーロッパ版と理解しているが良いのかな。ワークショップが面白いのが多い。

IJCAI
International Joint Conference on Artificial Intelligence
隔年開催のAI系のトップ。これも幅広くロボット系(エージェント系)、テキストなどなど何でもあり

機械学習系の学会は気前がとても良く、論文はタダでダウンロードできるのはもちろん(JMLRが特にすごい)、学会発表でのビデオチュートリアルとかもタダで手に入ります。ありがたや。

その他のチェックしている学会を以下に並べます。パワーぎれで一言だけ。一言では失礼なくらい、それぞれの分野のトップカンファレンスです
SODA (ワークショップのALENEX, ANALCO), 離散アルゴリズム、グラフ
FOCS,計算理論
CPM,文字列アルゴリズム
STOC, 計算理論
ISSAC, アルゴリズム全般
DCC, データ圧縮
SPIRE, 情報検索、圧縮
KDD,  データマイニング
ICDM, データマイニング
SIGIR, 情報検索
SIGMOD/PODS, データベース
VLDB 大規模データベース


今日の飲み会でも話したのですが、インターネットのおかげで誰でも海外の図書館に論文を調べにいかなくても、どこでもタイトルをググれば論文をゲットできて、チュートリアルビデオもタダで見れちゃういい時代になりました。

が、重要そうな学会を挙げただけでも上ぐらいの量になるくらいで、個人では処理できないくらい情報が多いです。なので、その道の専門家に聞く重要性が更に高まっていて、ますます人とのつながりが重要になっている気がします。

研究室や会社の垣根を越えて、個人レベルでつながった研究グループや共同研究が多いように思えるのも、こうした背景があるからかなぁと。みんなで一つの分野に注力して、その分野ならこの研究室に聞けというぐらいに強くなるのも一つですね。

| | Comments (227) | TrackBack (0)

2008.05.10

OLL: オンライン機械学習ライブラリをリリースしました。

様々なオンライン学習手法をサポートしたライブラリ「OLL (Online-Learning Library)」をリリースしました。

プロジェクトページ
日本語詳細ページ

学習、推定を行なう単体プログラムと、C++ライブラリからなります。(C++ライブラリ解説はまだ)。
New BSDライセンス上で自由に使えます。使った場合は感想や苦情などいただけると幸いです。

オンライン学習とは、一つずつ訓練データを見てパラメータを更新していく手法で、訓練データをまとめて見てから学習するバッチ学習(SVMs, 最大エントロピー法)と比べて非常に効率良く学習を行なうことができます。それでいながらSVMs, やMEsに匹敵する精度が出ます。

学習するデータの性質にもよりますが、例えば、英語の文書分類タスクで、15000訓練例、130万種類の素性の訓練データに対する学習が1秒未満で終わります(SVMsだと実装にもよるが20分ぐらいかかる)。
自然言語処理への機械学習の応用は以前のエントリなどを参考にしてください。
#データ読み込みがボトルネックになってます。

さらに、データを1回だけしか見ないで学習しても、かなり良い精度が出ますので(特に手法CWが良い)、訓練データを保存できない環境(作業領域とかが非常に限られているなど)において、訓練データを見てすぐ捨てるようなことも可能です。

現在サポートしている学習手法は以下の通りです(ニ値分類しかサポートしていません)。

・Perceptron [F. Rosenblatt 1958]
・Averaged Perceptron [M. Collins 2002]
・Passive Agressive (PA, PA-I, PA-II) [K. Crammer, et. al. 2006]
・ALMA (modified slightly from original) [H. Daume, 2007]
・Confidence Weighted Linear-Classification [M. Dredze, 2008]

注意事項として、OLLは自然言語処理など、素性種類数が非常に多いが各例は疎であるようなデータを対象に最適化されているので、画像データなど違うタイプの問題ではうまくいかないかもしれません。また、訓練データの偏りが激しい場合(正例が連続して出現する、正例、負例の絶対数がかなり違う)などは学習が失敗する場合があると思います。可能な限り学習データは前後のデータに相関が無いようにシャッフルしておき、正例、負例の数は同じくらいにしてください。

学習データが少なく、ぎりぎりまで情報を搾り取りたいという場合は真面目に学習するSVMs, MEsを使ったほうがいいでしょうし、学習データがふんだんにあり適当に学習してもいい、または素性設計に時間をかけたいので毎回結果を早く試したい場合などは本ライブラリを使うといいと思います。

まだそんなに試していないので、間違いとかあるかもしれません。精度悪いから、この手法が悪いとか結論を早急に出さないでください。実装が間違っている可能性があります。ご了承ください。なんかありましたら教えてください。

---

本当はExponentiated Gradientベースのいろいろな学習を行なうライブラリを公開するべく頑張っていたのですが、どうも収束が安定しないので気晴らしに作ってみました。実装簡単。ソースが気持ち悪いことになっているのは各訓練事例で手法を分岐するのはオーバーヘッドがでかいかなぁと思い分けてみた結果です。そのオーバーヘッドは無視できるくらいっぽいなので継承してきれいに書き直そうかなぁと。

| | Comments (904) | TrackBack (0)

« April 2008 | Main | June 2008 »