Home > 9月, 2009

2009.09.27

Classias 1.0 released

Classiasという分類のための機械学習アルゴリズムの実装を公開しました.今のところ,L1/L2正則化ロジスティック回帰(最大エントロピー法),L1/L2正則化L1損失線形カーネルサポートベクトルマシン(SVM),平均化パーセプトロンをサポートしています.学習アルゴリズムとしては,平均化パーセプトロン,L-BFGS法,OWL-QN法,Pegasos,Truncated Gradient(L1-FOLOS)を実装してあります.カーネルは使えませんが,線形識別モデルを高速に学習できるようになっています.二値分類,多クラス分類,候補選択(明示的に与えられた候補の中からスコア最大のものを選ぶタスク)をサポートしています(SVMは今のところ二値分類のみ).

このツールはもともと,最大エントロピー法を自分で使うために実装したもので,作り始めてからもう2年くらい経過しています.去年のColingやEMNLPの論文の機械学習の箇所は,このツールで実験しています.文字列による素性,自動分割交叉検定など,自然言語処理の実験に便利な機能に重点を置いて作ったつもりです.詳しくは,使い方を参照してください.

ソースコードも,インスタンスのデータ構造,損失関数,学習アルゴリズムなどのコンポーネントを,C++テンプレートクラスとして実装するという設計になっています.L-BFGS法を実装しているlibLBFGSを除けば,ヘッダファイルをインクルードするだけでClassiasを利用したプログラムが書けるようになっています.クラスリファレンスやサンプルコードはドキュメントを参照してください.新しい学習アルゴリズムも,簡単に追加できるようになっているのですが,ドキュメントをもう少し充実させていかなければなりません・・・.

LIBLINEARやLIBSVMと一緒にrcv1.binaryでパフォーマンスを測ってみました.まず,分類精度に関してはロジスティック回帰とL1損失SVMに大差がなく,平均化パーセプトロンはちょっと悪いという予想通りの結果で,Classias,LIBLINEAR,LIBSVMのどれも同程度の分類精度を出しています.

学習速度に関しては,LIBLINEAR速すぎです.L1正則化のロジスティック回帰ではそれほどスピードの差はありませんが,L2正則化のロジスティック回帰では,LIBLINEARの方が4倍くらい速くなっています.アルゴリズム的には,L-BFGS法と信頼空間ニュートン法の戦いで,後者はヘッシアンを使っているので,速くなるのも頷けます.ただ,収束の判定条件が違うと思うので,後できちんと検証してみようと考えています.

SVMに関しては,LIBLINEARの圧勝(LIBLINEARの方が10~20倍高速)でした.ClassiasのPegasosも健闘していますが,学習率や収束判定の調整で10~20倍の速度差を埋められるかは疑問です.Dual coordinate descentはやっぱり強いですね.こちらも後で実装して遊んでみたいです.

実装するといろいろ分かることがあるので,これからも実験しながら育てていきたいと考えています.

2009.09.25

Basement Jaxx – The Videos

Basement Jaxxを初めて知ったのは,イギリスのテレビで流れていた”Oh My Gosh”のPV.すごく面白いPVだったのが印象的だったけど,特に深追いもせず.最近になって,”Where’s Your Head At”や”Red Alert”も同じアーティストだったことを知り,YouTubeを漁って一通りPVを見てから,DVD購入を決意.YouTubeにリンクを貼ると後が面倒かもしれないので,YouTubeで検索して観て気に入ったらDVDを買って下さい(amazon.co.ukでGBP9.63).

#1の”Red Alert”は,隕石が落ちてきて,みんなが踊るゾンビと化す内容.曲もPVもすごすぎ.1999年に日本でもラジオチャートで1位になっていたらしい.当時はぜんぜん知らなかったなぁ・・・.#2の”Rendez-Vu”は,じゃんけんでケリをつけて,最後は犬の夢だったというオチ.#3の”Jump N’ Shout”は,最初は英語ではないと思っていたら,所々英単語のようなものが聞こえるので歌詞を調べて見たら,ほとんど英語だった・・・.歌詞を見てもスラングが多くて全然意味が分からない.#4の”Bingo Bango”は,ラテン系のノリのよい曲.PVは東京の風景や人々を撮したもので,撮影時期は,サンバDEアミーゴが映るので1999年以降のはず.自分が東京に来てすぐの頃って,こんなに古くさかったっけって驚きます.#6の”Romeo”は,インドの踊りを取り入れたPV.

#8の”Where’s Your Head At”は,絶対に一度は観るべきPV.ポップ音楽の最先端を見せると言って呼ばれて来た場所は,ミュージシャンの脳を猿に転送するという実験室だったというストーリー.曲もイイと思うのだが,意外と売れていなくてUKでは9位,USのダンスチャートでも3位止まりだったらしい.#10の”Good Luck”のPVも全般的にインパクトがあるが,ボーカルの姿と声が特に印象に残る.#11の”Plug It In”のPVは,最後にブタのお面をかぶるところがすごい.#12の”Cish Cash”のPVはすごく綺麗でカッコイイ.#13の”Oh My Gosh”はBasement Jaxxを知るきっかけになったPV.歌詞と老人ホームの風景のマッチが面白い.

と,どれもこれも観ても聴いても楽しいビデオクリップ集になっています.このDVDにPVとしては収録されなかったけど,”Do Your Things”という曲のPVも面白いのでオススメです.

2009.09.24

Travis – Singles

このCDはシンガポールに学会に行っていたときに,ショッピング街のHMVで思い立ったように購入(いくらだったか忘れました).その時,シンガポールのHMVのアジア部門1位は,平井堅のアルバムでした.

Travisの曲はたまに耳にすることがあったけど,まとめて聴いたことが無かったのと,新型レガシィのCMで流れていた”Walking In The Sun”にknocking downされて,ベスト盤の購入を決意.曲作りがどことなくスピッツと似ているし,日本でもっと注目されてよいアーティストだと思います.

#1の”Sing”は殿堂入りの名曲.PVはなぜか料理を投げ合うというもの.#6の”Walking In The Sun”のギター・アルペジオは覚えてみたい! オススメの一枚です.

NOW 73


CD WOW! というどこの国の会社なのかよく分からないネットショップで試しに1,850円で購入.amazon.co.uk よりも出荷に時間がかかったけど,無事に到着.なぜか発送元はオーストラリア.

恒例の知っていた率はDisc 1で86.4%,Disc 2で77.2%とかなり上昇.

Disc 1の好きな曲は,2, 4, 5, 6, 9, 15, 16.最初の曲はLady GagaのPoker Face.Lady Gagaという名前は,容易に想像がつくようにRadio Gagaからとったらしいが,Lady Gagaの曲はあんまり好みではない.今年最もブレークしたアーティストであることは間違いない.#2の”Evacuate the dancefloor”は,いかにもな歌詞.#4はお気に入りのCalvin Harrisの新曲.PVはアブナイので,イギリスでは放送禁止になったらしい.#5は,80年代のエレクトロポップっぽいのに斬新なLa Rouxの”In For The Kill”.#15を歌うAgnesはスウェーデンのアイドルオーディション番組の2005年優勝者で,インターナショナルなヒット曲はこの”Release Me”が初らしい.#16はFreemasons feat. Sophie Ellis-Bextorの”Heartbreak”.Sophie Ellis-Bextorというと,”Groovejet (If This Ain’t Love)”がとにかく名曲(あと,美人です).

Disc 2の好きな曲は,7, 8, 14, 15, 16, 18, 20.#5は,The Black Eyed Peasの久々の新曲”Boom Boom Pow”.音楽という感じはしないが,なぜかインパクトに残る曲.イギリスでは5/17に1位になって,その後2週間連続で2位になるものの,6/7にまた1位に返り咲くというロングヒット.The Black Eyed Peasの1位は,あの有名な”Where Is The Love?”に続いて2つ目らしく,意外と1位をとってなくてビックリ.#9は,Elton Johnの”Tiny Dancer”のリミックス.このくらい変えてくれると聴いていて楽しい.#10のPitbullの”I Know You Want Me”も,今年を代表する曲になりそう.#18は,いつもいい曲を聴かせてくれるJames Morrisonの曲.去年の9月にリリースしたアルバム「Songs for You, Truths for Me」からのシングルカット.このアルバムを買ってしまいそうです.

CRFsuite 0.9 released

CRFsuite 0.9をリリースしました.libLBFGS 1.8と組み合わせてビルドすることが出来なくなっていたので,その問題の修正のみです.また,試験的にLinuxバイナリの配布を始めてみました.libLBFGSと静的にリンクしてあるので,このバイナリを落として実行するだけで動くはずです.

いろいろやっていたら,もう2ヶ月も経っていた・・・.