でかいチーズをベーグルする

でかいチーズはベーグルすべきです。

HaskellでB-treeを実装(delete編)

前回に引き続いて今回もHaskellでB-treeの実装。今回はキーの削除を実装する。前回同様 "Introduction to Algorithms" の実装方針に沿って実装する。前回はこちら。 yamaguchiyuto.hatenablog.com コードはここにおいた Haskell B-tree implementation · Git…

HaskellでB-treeを実装

すごいHaskell本を読んだのでなにか練習したいなと思っていたところ、某会*1で「B-treeなんて誰でも簡単に実装できますよね」と煽られたので実装してみた。すごく直感的に書けたので Haskell すごいなーと思った。実装方針は "Introduction to Algorithms" …

2017年まとめ

研究者からエンジニアに転職 個人的にはかなり悩んだんだけど、結局これといった "かっこいい理由" みたいなものも特になくて、研究者だけじゃなくていろいろやってみたかったからという感じで転職してみた。研究者もエンジニアもどっちも楽しい! 論文が3…

学振PDでカーネギーメロン大学に留学

研究留学 Advent Calender 2017 の19日目です。特にこれといったテーマも思いつかなかったので、エッセイ的に書きます。 テンプレ いついったか:2014年4月から2015年3月 どこに行ったか:カーネギーメロン大学の Christos Faloutsos 教授のところ(ペンシル…

Stochastic Block Model を Edward で実装する

前回の記事で Edward を使ってみたらすごく良かったので、もう一回遊んでみる。今回はグラフクラスタリングによく使われる Stochastic Block Model (SBM) を実装する。 前回の記事はこれ。 yamaguchiyuto.hatenablog.com ちなみにプルリク送ったらマージされ…

Probabilistic Matrix Factorization を導出して Edward で実装する

Edward っていう確率モデリングのためのライブラリがよさげって話を聞いたので入門してみたら良かったという話。せっかくなので、行列分解を確率モデルとして定義した Probabilistic Matrix Factorization を実装してみた。 Edward – Home 行列分解 (Matrix …

研究と開発のはざま

博士を取ってからの3年間はアカデミックで仕事をしていたけど、4月から民間企業に移ることにした。転職するかどうかそうとう悩んだわけだけど、その時に研究についていろいろと考えたのでちょっと書いてみたい。 工学では研究と開発の違いなんて無い 誰もが…

Author Topic Model の導出と実装

またまた引き続き青いトピックモデル本から。今回は Author Topic Model を導出して実装してみる。とりあえずこのシリーズは一旦今回で最後。 トピックモデル (機械学習プロフェッショナルシリーズ)作者: 岩田具治出版社/メーカー: 講談社発売日: 2015/04/08…

Noisy Correspondence Topic Model の導出と実装

さらに引き続き青いトピックモデル本から。今回はノイズ有り対応トピックモデル (Noisy Correspondence Topic Model; NCTM) を導出して実装する。 トピックモデル (機械学習プロフェッショナルシリーズ)作者: 岩田具治出版社/メーカー: 講談社発売日: 2015/0…

Correspondence Topic Model の導出と実装

引き続き青いトピックモデル本から、対応トピックモデル(Correcpondence Topic Model; CTM)を実装した。サンプリング式の導出が詳しく載っていなかったので、詳しめに導出してみる。 トピックモデル (機械学習プロフェッショナルシリーズ)作者: 岩田具治出…

Joint Topic Modelを実装した

LDAの簡単な拡張になっている Joint Topic Model を実装した。青いトピックモデル本で紹介されてた。この本はいろんなモデルが載ってるのでいいね。 トピックモデル (機械学習プロフェッショナルシリーズ)作者: 岩田具治出版社/メーカー: 講談社発売日: 2015…

Robust Large-Scale Machine Learning in the Cloud [KDD'16] を読んだ

KDD16で発表されてた論文。著者はかの有名なFactorization Machinesの人。Googleに行ってたのね。いままでとはちょっと違う研究をしてるように感じる。 論文はここから読める。 www.kdd.org 勉強会で紹介したので念のため、その時のスライドはこちら。 Robus…

無限潜在特徴モデルを実装した

引き続きノンパラベイズ。今回はノンパラベイズ本の7.4節で説明されてる無限潜在特徴モデル(Infinite latent feature model; ILFM)を実装した。 ノンパラメトリックベイズ 点過程と統計的機械学習の数理 (機械学習プロフェッショナルシリーズ)作者: 佐藤一…

無限混合ガウスモデルを実装した

ノンパラベイズ面白いね。佐藤一誠先生のノンパラメトリックベイズの本を読んで自分なりに理解できたので実装してみた。本読んで理解して、自分で導出して、実装・実験するの本当に重要。定着度がぜんぜん違う。 ノンパラメトリックベイズ 点過程と統計的機…

Tucker分解の導出と実装

CP分解の次はTucker分解を導出して実装する。丁寧にTucker分解の導出を説明してる文献(Web含め)が全然なかったので、自分で書く。CP分解についてはある程度知ってる前提とする。CP分解についてはこちらから。 yamaguchiyuto.hatenablog.com まとめ Tucker…

クロネッカー積とvec作用素とRoth's column lemma

クロネッカー積とvec作用素は見た目簡単なんだけど、各要素のインデックスを書き下すと頭の中こんがらがってわけわからなくなるから一旦整理した。インデックスに関する記事ってほとんどないね。あとそれに関連して Roth's column lemma っていうのが便利な…

Alternating Least Square (ALS) でCP分解

テンソル分解の基本中の基本のCP分解を導出して実装した。最適化の方法は色々あるらしいけど多分いちばんよく使われる Alternating Least Square (ALS) を使った。ちなみにここでテンソルって呼んでるのはただの多次元配列のこと。 まとめ CP分解とは AlSに…

scikit-learn準拠で Label propagation とか実装した

scikit-learn準拠で Label propagation 的なアルゴリズム達を実装した。なんで実装したかというと、 グラフそのもの(隣接行列)を入力したい。 scikit-learnには既にsklearn.semi_supervised.LabelPropagationが実装されてるけど、これはグラフを入力するん…

TransE [NIPS'13] を実装(と実験再現)した

Graph embedding を調べる上で避けては通れないっぽいTransEを実装して実験再現してみた。モデルがシンプルでカッコイイし実装も簡単だった。データもパラメータも公開されてて実験を再現できたのもポイント高い。 TransE NIPS'13で提案されたGraph embeddin…

Graph embedding の RESCAL [ICML'11] を実装した

最近Graph embeddingに興味があって調べてるので有名っぽいRESCAL [ICML'11] をとりあえず実装してみた。さすが結構引用されてるだけあって簡単お手頃に実装できた。やっぱシンプルさ大事。 Graph embedding 入力 グラフ G = (V,E) 出力 それぞれの頂点 に対…

CMU教授直伝の論文の書き方

CMUに留学している時にFaloutsos教授に教わった論文の書き方をまとめる。この書き方に従うことで論文の採択率がかなり上がった。今となっては自分的に当たり前のことだし、できる研究者の皆様は自然と守っていることも多いと思うけど良い論文を書きたいと思…

Personalized PageRankとLabel Propagationが等価という話

無向グラフの時のPersonalized PageRank*1とLabel Propagation*2(LGCとも呼ばれる)が本質的に等価というお話。つまりLabel Propagationを計算したいときはPersonalized PageRankを計算すれば等価な結果が得られる。Personalized PageRankとLabel Propagati…

2015年まとめ

自分のために2015年をまとめておく 帰国した 去年の4月から1年間 CMU の Faloutsos 先生のグループに留学していたけどそれが終わった。研究面ではもちろんものすごい勉強になったしアメリカで生活したのも良い経験になった。おいしい日本食がないし英語も…

EMアルゴリズムでPLSAとSSNBを導出

Machine Learning Advent Calendar 2015 の10日目です。 EMアルゴリズム自体の説明は溢れてるけど実際にEMアルゴリズムを使って何かを解いてみたっていう例題はGMM(Gaussian Mixture Model)以外あまり見ない気がする。なので今日は二つの例題を使って具体…

Impact = Luck x Skill

ICCSS2015 (International Conference on Computational Social Science)に参加してきた。最近ちょっと盛り上がりを見せている(?)Computational Social Science に関する会議で、今年から始まったらしい。注目すべきなのはなんといっても招待講演者の豪華…

ICWSM2015で発表した

ICWSM2015で発表してきた。タイトルは"Patterns in Interactive Tagging Networks"。2年前にポスター発表していて、今回はフルペーパーで発表できた。この会議は面白いから今後も参加したいなー。 今回の発表は初めての「分析しました論文」だった。WWW2015…

WWW2015でポスター発表した

WWW2015でポスター発表してきた。WWWは以前聴講だけで参加したことがあって、今回はポスターだったので、次回はフルペーパーで発表したい。今回のポスターのタイトルは"Why Do You Follow Him? Multilinear Analysis on Twitter"。キャッチーなタイトルにし…

PAKDD2015で発表し(てもらっ)た

PAKDD2015に論文が通っていたので発表した。タイトルは"SocNL: Bayesian Label Propagation with Confidence"。自分で参加して発表したかったんだけどちょうど同じ日程でWWW2015が開催されていて、そっちでの発表もあったので、PAKDDには参加できなかった。…

Predicting the Demographics of Twitter Users from Website Traffic Data (AAAI'15) を読んだ

AAAI2015のOutstanding paper award honorable mention。発表聞いた時は何でこれが賞とったのかな?と思ったけど実際論文読んだら結構面白かった。 概要 Twitterユーザのいろいろな属性(年齢、性別、人種、収入、学位、子持ち)を推定する。面白いのはQuant…

On the Accuracy of Hyper-local Geotagging of Social Media Content (WSDM'15) を読んだ

WSDM2015から。ちょうど開催中なので。 概要 簡単なアルゴリズムは提案しているが、主に分析しました論文。ツイートのジオタグを推定する。主にやったことは ジオタグ推定の簡単なアルゴリズムの提案 ツイートが投稿されたソース (Foursquare, Instagram, iP…