Jubatus Casual Talks #1で、「Jubatusでオンラインランク学習」というタイトルの発表を行いました。会場を提供してくださったフューチャーアーキテクト株式会社さま、運営をされたJubatus開発者の皆さま、また素晴らしい発表をしてくださった発表者の皆さま…
もう二か月以上前のことだが、とあるところで、Jubatusでオンライン分類ができるならペアワイズのランク学習もできそうだという話をした。いろいろあって時間がかかってしまったが、実装と簡単な評価をしたのでまとめておく。以下の評価で用いた実装は"y-tag…
昨年のICML2012で、オンライン分類器であるSoft Confidence-Weighted Learningが提案された("Exact Soft Confidence-Weighted Learning")。この際に提案されたのは基本的な二値分類だったが、今までのオンライン分類器と同じように、マルチクラスへの拡張…
「64bit環境で通るテストが32bit環境で通らなかったことのメモ」の続き。なぜあのような計算結果になるかを調べてみた。もはや完全にJubatusとは関係ない。前回も用いたコード。#1から#3の三つの計算をしている。 #include <cstdio> #include <cmath> double mixed_entropy(</cmath></cstdio>…
大した話ではないのだがメモ。Jubatusのビルドが64bit環境(x86_64)では通るのだが、32bit環境(i686)では通らなかったので、いろいろと調べていた。二つの環境は以下のとおりで、ビルドにはg++が用いられていた(どちらもvagrantでUbuntu 12.04を用いてい…
N番煎じ感が強いが、SIGMOD 2012で発表されたTwitterの論文のアレを作ってみた。https://github.com/y-tag/java-pig-MyUDFsアレとはApache Pigのユーザー定義関数(UDF)を使って分類問題を扱うというもの。オリジナルの論文は以下。Large-Scale Machine Lea…
NIPS 2012の"A Stochastic Gradient Method with an Exponential Convergence Rate for Finite Training Sets"(pdf)を読んで思い出したのでメモ。上記の論文では、stochastic gradient (SG) methodを高速化したstochastic average gradient (SAG) methodを…
6月の終わりに終了したので既に4ヶ月以上前の話だが、kaggleで開催されていたデータサイエンスのコンペティションで1位になった。 Psychopathy Prediction Based on Twitter Usage - Kaggle このコンペティションはその名のとおり、twitterの使い方からその…
WSDM2012勉強会に参加させていただきました。発表資料など詳細は以下にまとまっているようです。主催者、発表者、会場確保・設営をしてくださった皆さま、とても勉強になりました、ありがとうございました。 WSDM2012勉強会で発表しました #wsdm2012 - nokun…
最近top-k retrievalの話を少し聞いたので、簡単にコードを書いてみた。いつものように恥もなくgithubで公開している。cpp-ToyBox-TinyTopK(github)Top-k retrievalを簡単に説明すると、転置インデックスに対してdisjunctiveなクエリで問い合わせて(OR検索…
C++でintやdoubleなどの数を文字列(charの配列もしくはstd::string)にしたい時、もしくはその逆で文字列をintやdoubleにしたい時がある。一般的にそのような処理はファイル入出力などと合わせて行われるため、それほど速度を気にすることはなく、むしろ安…
SIGIR 2011のDOM Based Content Extraction via Text Densityが、シンプルなアルゴリズムながら良さそうな結果を示していたので、著者のコードを改変してSWIGでPerlとPythonのbindingを作った。 下手な英文メールにも関わらず、コードの利用を快く認めて下さ…
TwitterでつぶやいたIJCAI2011の論文についてのメモ。全てMachine Learning関連。 Improving Performance of Topic Models by Variable Grouping Latent Dirichlet AllocationでGibbs samplingを行う際、変数の数が増えるとサンプルを広範囲から取ることが難…
ここのところ、周囲でランキング学習への興味が高まっているような気がする。ランキング学習の一手法として、A Stochastic Learning-To-Rank Algorithm and its Application to Contextual Advertisingでは、ランキングの評価指標の一つであるNDCGを最大化す…
TwitterでつぶやいたICML 2011の論文についてのメモ。まだあまり読めてないのだけれど、とりあえずここで一まとめ。ざっと目を通しただけなのでいろいろと間違ってるかもしれない。SVMの論文が多めなのは、SVMへの苦手意識を払拭しようとしてたから。 Large …
最近は教師あり学習の分類器について調べている。そこで2年ほど前に話題になったcomplement naive BayesをPerlで実装した。コードは「y-tag/perl-Algorithm-ComplementNB - GitHub」にある。Algorithm::ComplementNBは通常のnaive Bayesにおいてシンプルに補…
「anarchy golf - FizzBuzz」にポストしたもの。FizzBuzzをFlogScriptで36文字。 100,{)..{Fizz}@3%!*{Buzz}@5%!*+\`|P,ロジックとしては「FizzBuzz最短コード(GolfScript, Groovy)」のGolfScriptのものと同じ。しかし、stringとintに'*'演算を行うときには…
1周回ってきたのでFizzBuzz。「anarchy golf - FizzBuzz」にポストしたやつ。GolfScriptで37文字。 100,{)..3%!'Fizz'*\5%!'Buzz'*+\or}%n*Groovyで55文字。 100.times{println'Fizz'*(it%3/2)+'Buzz'*(it%5/4)?:++it} FlogScriptにも挑戦したいところ。追記:…
Chromiumが容易にインストールできるようになってから、Ubuntu(10.04)ではFirefoxとChromiumの両方を使っている。あの青いアイコンにも愛着を感じてきたので、WindowsにもChromiumをインストールしてみた。そのときのメモ。インストール作業自体はインスト…
Apache Cassandraの0.6.xまではキースペースとカラムファミリ(RDBでいうデータベースとテーブルのような単位)を設定ファイルに記述していたため、設定変更には再起動が必要だった。しかし、0.7ではこれを動的に作成や変更ができるようになっているとのこと…
Google Developer Day 2010 JapanのDevQuizで用いたスクリプトなど。4つともPython。問題リストに表示されていた得点は以下のとおり。 問題 得点 Google Maps API 1.0, 2.0, 3.0 2-legged OAuth 5.0 Shiritori 1.0, 3.0, 6.0 PAC-MAN 35.0, 171.0, 未挑戦