Interleavingについて

情報検索において検索手法の結果を評価する方法の手法の一つにInterleavingという方法がある。最近その辺についてちょっと読んでいたのでまとめておく。検索エンジンにおいては何らかのRanking Function(http://en.wikipedia.org/wiki/Ranking_function)を用…

[機械学習] A few useful things to know about machine learning

タイトルの論文はCommunication of the ACM, 2012のレビュー記事 ドラフトバージョンは下のリンクから読める。 http://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf割と面白かったのでいくつか内容を紹介 概要 機械学習システムはデータから自動でタ…

[IR] 転置インデックスとtop-k query

転置インデックスから上位k件の文章を取ってくる手法について、知ってる範囲でまとめてみました。 転置インデックスとTop k-query View more presentations from tsubosaka この辺の話は教科書だとInformation Retrieval: Implementing and Evaluating Searc…

WikipediaのデータをLuceneのindexに入れるコード

以前書いたけどいつもjavaのXMLライブラリの使い方とか忘れるので備忘録用に上げておく import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.apache.lucene.analysis.Analyzer; import org.ap…

Lucene ソースコードリーディングメモ

IR

今日はmixiでLuceneソースコードリーディングに参加して、Scorerの部分を読んでました。 Scorerについて Scorerは与えられたクエリに対して文章をidの昇順で返すような抽象クラスです。 検索で使われるメインの部分は以下のようになっており、collectorに対…

ACL 2011読み会で発表してきました

木曜時点では発表する気がなかったのですが、金曜に人が足りなそうだったので急遽発表することに決定。 識別モデルを使って言語モデルの予測精度を上げるという話。発表資料: A scalable probablistic classifier for language modeling: ACL 2011 読み会 V…

Regularized Latent Semantic Indexing

最近勉強会で発表する予定のものと仕事関係の論文しか読んでなかったのでこのブログにはあんまり書けなかったんだけど、久々に書いてみる。紹介する論文はSIGIR 2011のLSIを語彙数が大きい時にも効率的に並列化できるようにしたという論文[1]。 論文概要 PLS…

ICML2011読み会で発表してきました

id:nokunoさんの主催したICML2011読み会で発表してきました自分はSparse Additive Generative Model for Textという論文について発表しました発表資料: Icml2011 reading-sage View more presentations from tsubosaka 他の発表についていくつかメモ Infinit…

[NLP] 第五回自然言語処理勉強会で発表してきました

id:nokunoさんの主催する自然言語処理勉強会で、Infer.NETを使ってLDAを実装してみたというタイトルで発表してきました。 Infer.NETはMicrosoftが公開しているグラフィカルモデル上でベイズ推定を行うためのフレームワークです。このようなものを使うことに…

初ビット列がでるまでの期待時間

kinabaさんのブログの 「無限ビット列を作ったときに最初に "001" が並ぶインデックスの期待値は 8。では、"000" なら?」という問題に対して、マルチンゲールを使った解説をしてみます。いま無限に生成されるビット列に対して次に何がでるかを賭けるギャン…

wat-arrayを使った2次元探索プログラム

岡野原氏の作成したwavelet木を使った高速配列処理ライブラリwat-arrayを利用して、2次元探索のプログラムを書いてみた。 なお、自分はwavelet木のアルゴリズムについては全く分かってないですが、wat-arrayでは配列に対して、操作を行うインターフェイスが…

NIPS Oral Sessionのリスト

参考までにOral Sessionの他の論文のリストも挙げておきます(Oral SessionではInvited talkとかもあるけどそれは除外)、accepted paperが300本近くあるなかでOral Sessionは20本しかなく非常に競争率が高いです。 Over-complete representations on recurren…

[機械学習] NIPS読む会で発表してきました

id:nokunoさん主催のNIPS読む会で発表してきました。僕が発表した論文はThe Multidimensional Wisdom of Crowdsというものです。この論文を選んだのはOral Sessionの論文の中でタイトルがちょっと面白そうだったのでという理由です。機械学習では大量のラベ…

mean-shiftを実装してみた

次回のCVIM勉強会でmean-shiftについて話すことになってしまったので、理解のためにmean-shiftアルゴリズムを実装してみた。 カーネルは一番簡単なフラットカーネルを利用し、また画像もグレイスケール画像のみを扱うためピクセルの値は[0,256]の一次元デー…

自然言語処理研究会

NLP

id:nokunoさんが主宰する第2回自然言語処理勉強会@東京で"Latent Dirichlet Allocation入門"というタイトルで発表してきました。内容としては機械学習ライブラリMalletに実装されているLDAのマルチスレッド実装クラスのParallelTopicModelで使われているト…

[機械学習] PRML 14章の混合正規回帰モデルの実装

PRML 14.5.1の混合正規回帰モデルのEMアルゴリズムによるパラメータ推定を実装してみた。混合正規回帰モデルは下図のようなデータ点に対して 一本の直線でフィッティングする代わりに 複数の直線でフィッティングするというモデルである。 これは混合正規分…

[プログラミング]教師なし形態素解析

なんとなくid:nokunoさんが紹介してたNLTK Bookに乗ってる教師なし形態素解析を実装してみた。 http://d.hatena.ne.jp/nokuno/20100124/1264319152切れ目の部分をflipした時にスコアをデータ全部見て再計算する代わりに、必要な部分だけ更新するようにしてみ…

Hadoopを使わずにWikipediaのテキスト処理を400倍高速化

タイトルは釣りです。id:mamorukさんの書いたHadoop で Wikipedia のテキスト処理を900倍高速化 - 武蔵野日記を読んで、そもそも1G程度のデータの単語頻度を数えるのに858分もかかるんだっけと思い、id:nokunoさんの資料を読んでみると単語頻度を求める際に …

Power Iteration Clustering

岡野原さんのtweetで紹介されていたPower Iteration Clusteringという文章分類の手法に関する論文[1,2]を読んでみた。 背景 n個のデータX={x_1,...,x_n}が与えられたときに各データ間の類似度s(x_i,x_j)を成分に持つ類似度行列Aを考える。 また次数行列とし…

[機械学習] PRML勉強会

PRML勉強会で11.4のスライスサンプリングについて発表してきました。発表スライドは以下となります。Prml11 4View more presentations from tsubosaka.また、参考として以前のPRMLハッカソンで作成したスライスサンプリングを用いたLDAのコードをgithubにア…

[NLP][機械学習] 言語モデル覚え書き

この文章について 最近言語モデル方面にも少し興味があるので自分の知識を整理する意味で書いてみた。NLPは専門ではないので、おかしなことを書いてある可能性がありますがその場合はご指摘ください。本文章ではn-gramモデル、単語の出現確率がn-1個前の単語…

[機械学習] PRML Hackathon #2

PRML Hackathonに行ってきました。 今回のHackathonでは昨日書いたスライスサンプリングという手法をLDAの推論に使ってみて通常のGibbs samplerと比較してみました。結果としてはサンプリング速度が2-3倍程度高速になり、手法の有効性を確かめることができま…

[機械学習] スライスサンプリング

持橋さんのlwlmに関する記事を読んで、スライスサンプリング[1,2]というのが有用そうということで調べてみたのでメモ。 スライスサンプリング概要 今確率分布f(x)が の形で与えられており、このf(x)からxをサンプリングすることを考える。ここでl(x)は非負の…

JavaでPDFから文章を抽出

プログラム上からPDFの文章を取り出したいと思うことがあったので、方法を調べてみた。 PDFBoxというツールを使うと結構いい感じに抽出できた。 以下に簡単なサンプルプログラムを示す。 import java.io.*; import org.apache.pdfbox.pdfparser.PDFParser; i…

PRML勉強会

PRML勉強会の発表資料公開しました。 自分の担当は10.1の変分推論のところでした。次回は10.2以降からでPRMLで計算が一番多いところなので予習を頑張らないとなといった感じです。Prml 10 1View more presentations from tsubosaka.

[プログラミング] Google Sparsehashを使うときの注意点

持橋さんの書かれたgoogle-sparsehashと自作のsplay-treeとの速度比較をした結果の記事を読んで、さすがに速度に200倍近くの差がでるのはおかしいだろうということで原因を探ってみた。結論としてはGoogle Sparsehashを使うときに__gnu_cxx::hashを使わない…

[機械学習] クラスタリングにおけるコサイン類似度に関する性質の証明

bayonやCLUTOが爆速な理由 - download_takeshi’s diaryを読んで、すぐには成り立つかどうか分からなかったので証明してみた。上の記事で述べられていることはクラスタ中のベクトルとその中心ベクトルのコサイン類似度の和と、クラスタ中のベクトルを全て足し…

[機械学習] PRML勉強会発表会資料

3/6の第11回PRML読書会と2/9の第10回PRML読書会の資料を今さらですが、SlideShareにアップしたのでリンク貼っておきます。Prml Reading Group 10 8.3View more presentations from tsubosaka.Prml Reading Group 11 LDPCView more presentations from tsubos…

[IR] Google WSDM'09講演で述べられている符号化方式を実装してみた

MG勉強会の後にid:sleepy_yoshiさんに教えてもらったWSDM 2009における講演"Challenges in Building Large-Scale Information Retrieval Systems"で述べられている符号化方式のGroup Varint Encodingを実装してみた。 資料 講演スライド スライドの日本語に…

[機械学習] bayon+LSHIKITを使って画像クラスタリング

bayonを使って画像からbag-of-keypointsを求める - のんびり読書日記の記事を読んで、クラスタリングを行う際の入力データを作るために文献[1]にある方法が利用できると思って実験してみた。 局所特徴量を持ったデータの取扱い 画像データの分類などを行う際…