読者です 読者をやめる 読者になる 読者になる

忘れないようにメモっとく

機械学習とかプログラミングとか。

機械学習ハッカソンに行ってきました。

機械学習ハッカソンに行ってきました。

会場は、秋葉原アンダーグラウンド。アキバには妙に親近感を覚えます。

テーマは「機械学習を使ってなにかをする」ということで、使うデータは自由、手法も自由。R使ってもいいし、sklearn使ってもいいし、自分でアルゴリズム書いてもOK。

参加した方達は、ガチなデータサイエンティストって感じの人はあまりいなくて、エンジニア、マーケターが多かった印象。

f:id:Akiniwa:20140419225312j:plain

写真は秋葉原アンダーグラウンドさんのFacebookページから拝借。

ハッカソン

ハッカソン開始後は、どんなデータ使おうか話したり、慣れてるひとがライブラリのインストールの仕方を教えたり。 あと、ハッカソン中はコード書くのがメインという訳ではなくて、手法について議論が盛り上がって楽しかったです。「ニューラルネットワークでなにかできないかなー」→「ディープラーニングやってみたいよね!」→「じゃあまずRBM作ってからー」とか、「こういう分類問題で何使おうか?」→「SVM??」→「あ、SCWっていうオンライン学習の論文があってー」とか、割とハッカソンで実現できるかどうかとか関係なく、わいわいやってました。

自分はというと、手頃なデータを用意していなかったので、kaggleからデータをダウンロード。ウォルマートの売り上げ予測があったので、これに挑戦しました。

詳しい説明は、ここから。

ざっくり言うと、まず時系列分析をしてトレンドを除いてから、色んな機械学習の手法ごとのベンチマークをとろうかなーと思ってました。まあ、結論から言うと

f:id:Akiniwa:20140419221506p:plain

という感じで、kaggleにアップロードができなかったのでスコアを出すところまでは実装できませんでしたorz

プレゼンでは、前半に分析の青写真を説明(移動平均とってー、機械学習はsklearn使ってーとか)して、後半は、sklearnの使い方(SVMとかクロスバリデーションとか)の話をしました。 発表しながら、この手法どうですかねー?って感じで色々聞けたのが、少ない人数ならではって感じで良かったです。ちなみに優勝はサザエさんのジャンケン予測でした。

まとめとピザ会

全体的にアウトプットまで、あと一歩という方が多くて*1、6時間という時間の中でデータを探して、分析方法を考えて、実装してプレゼンを作るというのは結構盛りだくさんでした。「機械学習ハッカソン」というイベントは、あまり開催されてこなかったと思うので、主催者の@chiralさんも参加したみなさんも探り探りで取り組んでいたという印象でした。

そしてピザ会(懇親会)では、機械学習がビジネスにどう使われていくかとか、今後のハッカソンの進め方とかの話をしました。

機械学習の手法はどんどん開発が進んでいて、注目度も高まっているのだけれど、いろんな分析手法が一人歩きしてる感*2や、ツールがコモディティ化されて、結果を出力する人は増えるけど、それを解釈、説明してビジネスに活かせる人はすぐには出てこないよね*3とか。

今後のハッカソンでは、あらかじめ分析するデータと目的は共有して、必要なツールとかはなるべく用意(テキスト、開発環境などなど)したほうがいいですよねという話をしたので、次回はもっとテーマを絞ったハッカソンになるのではと思います。

あと、ハッカソン中に意外とアルゴリズムについての議論が盛り上がったので、ここの理解しなきゃっていう問題意識はみんな持ってるんだなと感じました。やっぱりライブラリ使うだけじゃなくて、自分で実装できなきゃねって。もちろん実装したコードを仕事に使うっていうわけではないんだけど、ライブラリにデータを食わせるだけだと、ブラックボックス感ハンパないよねって感じで。

アルゴリズム実装会??

ハッカソンとは別枠でアルゴリズム実装会っていう話も出たので、ぜひ参加したいです。 機械学習って簡単な手法でも、最初のとっかかりがすごく難しいことがあるので、初学者にとっては助けになると思う。 もちろんアルゴリズムに詳しい人も、分かりやすく説明することで、さらに理解できるようになるはずだし。うまく説明できないところは、理解が浅い部分てことで宿題にすると*4

月1, 2回くらいで集まって、実装する手法について話して、コードはGithubにあげて、次回の集まりまでに各々が頭を抱えながら実装進めて(ときどきissueを飛ばしたり)、 実装まで手が回らない人は、他の人のコードを読むだけでも勉強になるし(プルリク送るだけでもおk)、プログラミング苦手な人は、予習しといて勉強会に参加して議論するだけでもいいし。

習熟度に合わせて、「書く」、「読む」、「聞く」と色んな段階の人が参加できそうですし、あと個人的には20人くらいの人数がちょうどいい気がしました。いろいろディスカッションもしやすいので。

以上、機械学習ハッカソンに行ってきましたというお話でした。

*1:ディープラーニングの話で盛り上がっているときに薄々感じてはいたのですがw

*2:機械学習だとすごいことできるんでしょ!?みたいな漠然とした印象

*3:アルゴリズムを理解できる人とビジネスに活かす人の解離が大きい by @chiralさん

*4:k-meansって何?って聞かれて、クラスタリングだよって言うのは、全く説明になってない気がするのは僕だけでしょうか