xiangze's sparse blog

機械学習、ベイズ統計、コンピュータビジョンと関連する数学について

承認欲求.ipynb

主にipython notebookです。

ハミモン、ゲットだぜ!

Hamilton Monte-Carlo法(Hybrid Monte-Carlo法)はMCMCによる分布関数のサンプリングを高速化させる手法の一つであり、近年StanやTheanoなど統計的解析を行うためのプログラミング言語に実装させており、注目を集めています。 今回は混合ガウス分布に対するそ…

pythonでGPUとMCMC(とR)

GPUでモンテカルロ法の計算をしたくなったりした場合には普通CUDA,OpenCLを使うことになります。 C++でプログラミングする必要があるのですが、変数の確保、解放などで記述が長くなりがちです。pythonを用いると記述を簡潔にできるところが多いらしいので関…

IPython Notebookとnbviewerを使ってみた

IPython Notebookが評判になっているので使ってみました。書いたコードをgithub,gistに上げるとnbviewerできれいに表示してくれるそうなので試してみました。

Fisher行列とKL Divergenceの関係とEMアルゴリズム、変分ベイズ推定について少し

Relations between Kullback-Leibler distance and Fisher information に書いてあることそのものです。行列といいながら1次元のときのことしか書いていないのが良くないです(上記ドキュメントではmatrixとは言っていない)。

1行でディープラーニングできなかった(theanoとH2O)。

pip install theanoimport urllib2 exec(urllib2.urlopen("https://gist.githubusercontent.com/xiangze/90c2a215b46dad907329/raw/onelineardA.py").read())data(MNIST)のダウンロードではまったら頑張りましょう。 元ネタ(H2O) BOD Rで一行でディープラー…

コンピュータビジョン最先端ガイド6 第4章ディープラーニングの予習

第4章ディープラーニングの内容に関する個人的ノートです。 詳しくはコンピュータビジョン最先端ガイド6 (CVIMチュートリアルシリーズ)作者: 藤代一成,高橋成雄,竹島由里子,金谷健一,日野英逸,村田昇,岡谷貴之,斎藤真樹,八木康史,斎藤英雄出版社/メーカー: …

Forecasting synchronizability of complex networks from dataを読んだ

Forecasting synchronizability of complex networks from data(PHYSICAL REVIEW E 85, 056220 (2012),PDF)という論文を読んだのでその概略をまとめます。 日本語キーワード 圧縮センシング 力学系 結合振動子 複雑ネットワーク 概略 本論文では同じような方…

n番煎じマンが文法圧縮による完備辞書を写経しました(Python)。

id:echizen_tmさんによる文法圧縮を使った完備辞書(簡潔ビットベクトル)を作ったに感銘を受けたので写経しその理解を試みました。 アルゴリズムは同じくRe-pairでほとんど流れは同じです。Pythonのほうが良いという人は読んでください。

Persistent Homology とRのphom package, その他libraryの紹介

高次元データの大域的な性質に着目した分類、解析の手法にPersistent Homologyという方法があります。 またその手法を実装したRのパッケージ(CRAN phom package)があったので簡単に紹介いたします。その他の色々な言語で使えるライブラリについても最後に紹…

Python,OpenCVでの駄コラ生成

Pythonで駄コラを作ってみよう(としています)が面白そうだったので書いてしまいました。顔の部分を別の画像に入れ替えるだけです。検出は完全ではないです。実写を使う場合は学習データを入れ替えましょう。 Next step サーバー、botにする Reference 【Op…

日本の平均気温偏差の変動データのモデリングと分析

気象庁で 1898年から現在までの全国の平均気温の気温偏差を公開していたのでStanで時系列モデルを作り、その性能の評価を試みました。 ここでの結果には実際の気候変動の原因となっていると考えられている諸現象の効果は含まれておらず、大まかな傾向のみを…

Stanの現状と将来(v2.0.1)

STAN RELEASE NOTESとTo Do Listから個人的に気になる項目をピックアップしました。 DIC, WAIC,multi-threading,疎行列、ragged array、user-defined functionなどがきになります。MATLAB,Julia,Stataなどのインターフェースも提供予定?だそうです。 盛りだ…

あなたとpystan,いますぐapt-get

sudo apt-get update sudo apt-get install python-numpy sudo apt-get install cython sudo pip install pystan #additional libraries sudo apt-get install build-essential python-dev python-setuptools python-scipy libatlas-dev libatlas3-base sudo…

Pystanで自然言語処理 scikit.learnのdatasetで試す

scikit.learnは様々な機械学習のアルゴリズムのみならず、データセットも充実しています。stanのpythonラッパーpystanでこれを利用し、Stan manualのLDAのコードの性能を評価することを行いました。 20 newsgroupsというデータセットは名前の通りUsenetの20…

FPGAで競技プログラミング

ルーターで競技プログラミングという記事をみて、色々なアーキテクチャで競技プログラミングができることを知りました(採点はしてくれませんが)。 紹介されていたTopcoder SRM 596のDiv 1の250点問題をFPGAで解くモジュールを作成してみました。

Stan2.0では離散変数をparameterとできないことについて

Stan2.0で配列のindexとしてCategorical分布から生成したものは使えないためにモデルの記述がわかりにくくなってしまう場合があります。 Stanマニュアルの説明が簡潔すぎて自分にはすぐに理解できなかったためその補足です。

A Brief Survey on Sequence Classification(系列データの分類)の要約

最近時系列データの解析を専門とする人たちのお話をきいたり、ブログを読んだりする機会が多くなっています。工学の枠を超えてビジネスでの応用が盛んになっているようなのですが、今まで制御理論などで得られた理論、知見とは大きな隔たりがあります。 そこ…

RStanのサンプル(soft K-means)の実行

StanのReference Manual(pdf)はサンプルコードが非常に充実していて、書き方の参考になるばかりではなく、そのまま使用することさえ出来ます。 今回は混合ガウス分布の推定をMCMCで行うというサンプルを実行してみました。

redsvdのwrapper RRedSVDとRパッケージ作成、公開についての覚え書き

疎行列に対する特異値分解の高速な近似実装 redsvdのR wrapperである RRedSVDを作成、公開しました。 https://github.com/xiangze/RRedsvd ライセンスはBSDです。 TokyoRでは特異値分解とは何か、どんな手法があるかなどの基本的説明、RとC++を橋渡しするRcp…

Python, Sympyを用いたVanishing Component Analysisの実装(と動作)

未だ挙動が怪しいですが、Pythonの数式処理ライブラリSympyを用いて Vanishing Component Analysis(論文pdf)を実装しました。 Sympyは可読性が高いのが利点ですが、速度を考慮した実装ではないため特に次数の高い多項式まで求めようとした場合にどんどん動作…

CVPRの論文タイトルの頻出単語と可視化

NLP cv R

コンピュータビジョン分野の査読つき国際会議であるCVPR(Conference on Computer Vision and Pattern Recognition)の論文題名を http://www.cvpapers.com/ から取得し、その変遷をRのtmモジュールを使い分析、可視化してみました。 CVPR2007からCVPR2013まで…

QsysとverilogのTIPS

Altera社のツールQSysについての細かい事項メモ generate文の2重ループが使える。 ただしgenerate文にはラベルが必要 例: genvar i,j; generate for(i=0;i<16;i=i+1)begin :rep_tmpx assign tmpx[i]=(idx==i)?(i<<1):0; end for(j=0;j<16;j=j+1)begin :rep_…

QsysでのAvalon busへの独自回路追加

AlteraのSoC開発ツールQsysではAvalon busに独自に作成した回路モジュールを接続することができます。 その際にAvalon busの仕様にあるinput,output信号をモジュールでは定義する必要があります。Qsysでの設定手順と一緒にまとめます。 この記事は基本的には…

へびの補題の写経

ブログ書き初めです。巳年なのでへびの補題の特殊な場合であるコホモロジー群の長い完全列の導出の証明の写経です。 意義、応用範囲 完全列とは となる準同形写像ψ、Φを用いて作られた列 のことでコホモロジー群とは Mの開被覆Uと可換環R上に値をとる関数(よ…

FPGA(DE2)でHello World

組み込み系やハードウェア開発の最初の一歩としてボード上のLEDをチカチカさせるというのがありますが、 あまりもプリミティブすぎて面白みがない、モチベーションがわきづらいという意見があります。 そこでソフトウェアの言語や環境の入門でよくある"Hello…

Non-Euclidean Manifold上での近似最近傍探索(論文紹介)

こんにちは。@xiangze750です。Machine Learning Advent Calendar 2012の13日目の投稿になります。 今回はコンピュータビジョンにおける最近傍探索と幾何学についての論文紹介です。 Fast ANN Methods for Non-Euclidean Manifolds with Applications to Hum…

力学系の性質とその分類、予測への応用に関する論文紹介(2)

機械学習の分野で力学系の知見を取り入れること、あるいは力学系研究において機械学習や統計的予測の手法を用いることは有用です。 前のエントリで紹介した2つの論文では時系列を生み出す力学系の方程式を求めるようなことはせず、その不変量から分類、予測…

Visual C++ 2010 Express edition & Win7 64bit でOpenCV 2.4.*の特徴点検出を使う

ブログ等で既にまとめている方が多いですが、個人的メモもかねて記載します。 OpenCVのビルドを行った後 OpenCVを呼び出す側のプロジェクトでの設定 達成できた事項と条件 SURFによる特徴点抽出のサンプルプログラムをコンパイル、実行可能とする。表記はVis…

力学系の性質とその分類、予測への応用に関する論文紹介

機械学習やコンピュータービジョンの分野で力学系の知見を取り入れること、あるいは力学系研究において機械学習や統計的予測の手法を用いることは有用です。以下では力学系の特徴的な量を用いた時系列データ、動画の分類、予測生成に関する研究を紹介いたし…