medline.txtはhttp://www.ncbi.nlm.nih.gov/pubmed/ の検索フォームで適当なワードを検索し、検索結果をXMLでひっぱってくることで代用した。XMLをtxtに変換するスクリプトは以下。egrep -E '' medline.xml | sed -e 's///g' | sed -e 's/ *//g' > medline.t…
仮想化でまったくWindowsのデバイス周りの知識がないことがわかったので、ちょっと勉強した。主にデバイスドライバのインストール方式(infファイルの読み方)と、どうやってデバイスとドライバをマッチングするかを調べた。まず、Windowsにおけるデバイスドラ…
自宅のWindows機がお亡くなりになったので、ここらで一つ仮想化でも試してみるかと、Windows 8をノートパソコン上のUbuntu12.04にのっけた。 今回の記事は、Windows 8の導入方法と、ディスクアクセスの高速化について、技術的な情報も含めながら記載している…
GM 「舞台が神社にうつりました. 歩くことしばらく, ひっそりと神社が見えてきます. 手前に長い階段があり, 立ち入り禁止の札がありますがあまり意味はないでしょう」 羽川「人はいますか?」 GM 「本殿の戸は閉まっていますが鍵はかかっていません. 後ここ…
(※はじめの方は録音がないためかなり適当です)GM 「夜が明けました. 皆さんに残念なお知らせです. 村へ続く唯一の道が土砂崩れによって塞がってしまったということが宿の主人から伝えられます」 羽川「閉じ込められた?」 GM 「一応, 本日中には重機が来るら…
先日, 都内某所で友人たちと「クトゥルフの呼び声」と呼ばれるTRPGをプレイしました. これはそのリプレイです. 初心者GMと初心者プレイヤーによるプレイなこともあり, 完全に内輪向けコンテンツになっています。なお, 一部録音してないところ(特に序盤)を…
今回は決定木を用いて手書き文字データの分類を行う.決定木の詳細はあらゆる所で解説されているので適当に調べて欲しい. このPDFを参考にしたけど, いい資料かは微妙. 決定木は各節に質問が, 葉にクラスラベルが結び付けられている木(データ構造の木)であ…
今回はK近傍法を用いて手書き文字データを分類する.K近傍法は, あるデータのクラスを分類する際に, そのデータから距離が近い順にK個訓練集合からデータを取り出し, それらのラベルの投票によって分類対象のラベルを決定するシンプルなアルゴリズムである.一…
scikit.learnの分類手法を比較するこの企画. 今回はナイーブベイズを検証する.ナイーブベイズはi番目の入力ベクトルの各次元が, クラスラベルが与えられると互いに独立, すなわち となると仮定する分類手法である. ただし, はの次元数, はi番目の入力ベクト…
問題設定や細かい実験手法は下のページを参照. scikit.learn手法徹底比較! イントロダクション今回は言わずと知れたSVM(サポートベクターマシン)を試す. 訓練データ数を増やしていったときに, 手書き文字の分類性能がどのように推移していくかを調べる.SVM…
分類器の比較に関する注意事項をまとめた論文「On Comparing Classifiers: Pitfalls to Avoid and a Recommended Approach(SALZBERG 1997)」を読んだ. この辺はちゃんと学んで起きたかったが, 面倒で(あんまり面白くないし)放置していた. 概要としては, 「…
MNIST手書き文字データセットを利用してscikit.learnのsupervisedな分類アルゴリズムを比較する. パラメーターチューニングや計算時間の感覚が掴みたくて, 1回やってみたかった.MNIST手書き文字データセットとは, 機械学習初学者が何故か必ず与えられると言…
Pythonでraw data(バイナリ列や数値列)を画像として表示する. 今まではOpenCVを用いていたが, インストールされていない環境も多そうなので, 今回はPIL(Python Imaging Library)とPyGTKを用いた. PILのみ用いる場合 数値のリストからnumpyのarrayを経由してP…
現在, 継続して視聴しているラジオについて感想をまとめた. 好みの点数一覧はこっち. そんなに量は聞いてないのでお勧めがあったら教えて欲しい. ★5は敬意を払っている, ★4は放送が待ち遠しい, ★3は楽しく聞いてる, ★2はたまに面白い, ぐらいの雰囲気. 僕は…
Deep Learningで用いられるらしいということで, Restricted Boltzmann Machine(RBM)について調べたので概要とPythonによる実装例をまとめた. 主にAn Introduction to Restricted Boltzmann Machinesを参考にしているので, 数式の詳細はそちらをあたって欲し…
「Deep Learning Implementation」でググるとトップに出てくることで, たまに話題になるライブラリ Theano について簡単に調べたので紹介する. 間違いがあったら是非教えて欲しい. なお, Deep Learningに関する解説は今回は行わない.TheanoとはPythonにおけ…
ここ2日ぐらい調べたパフォーマンス解析に関する調査をまとめる. 推測も含まれているので注意. まず, 当初の目的は「Boost.Pythonを用いて作った共有ライブラリをPythonから呼び出した際のボトルネック(hot spot)を発見したい」だった. パフォーマンス解析…
Boost Pythonで困ったところを適当にまとめる. 型の対応 (左がPython, 右がC++) numpy.float32 ⇔ float fload ⇔ double 2次元array ⇔ pyublas::numpy_matrix 1次元array ⇔ pyublas::numpy_vector (たぶん) list ⇔ boost::python::list numpy_matrixのインタ…
行列演算がボトルネックのコードを書いたので, Automatically Tuned Linear Algebra Software (ATLAS)を導入した. キャッシュサイズなどを考慮して行列演算を行なってくれるため, 自分で適当に書いた奴より速い. uBlasより速いか検討してないが, まあ多分速…
C++用のTestライブラリ, google testを使った. インストール Ubuntu12.04でのインストール方法 sudo aptitude install libgtest-dev cd /usr/src/gtest sudo cmake . sudo make sudo mv libg* /usr/lib/ たぶんこれでOK. libgtest-devがヘッダファイルしか入…
C++関連の開発環境を整えたので, それに対するメモ. 今まではEmacs中心だったが, Eclipseに移行. Eclipse CDTのインストール 標準ではC++に対応していないので, Eclipse CDTをインストール. Eclipse CDTを組み込んだEclipseを配布しているようだが, 既存のも…
EclipseでPythonを使う方法をまとめるための記事. インストール デフォルトキーコンフィグなど Eclipseの設定ファイルをエクスポートしたものをGoogleドライブにアップロードしている.設定を書き換えているorよく使うショートカット一覧 (Emacsベース) Delet…
自家製ツールに素早くGUIをつけたい, ということでPyGTKを利用した. GUIを作成するライブラリはtkinterを代表として色々ありそうだったが, Windowsで使用可能 比較的緩いライセンス(LGPL) GUIでのインターフェイス構築環境(Glade) という理由でPyGTKを利用す…
テスト始めました 最近, テストをちゃんと開発工程に入れようとし始めました. まだ手探り状態なんですけど. とりあえず, nosetestsを利用してテストを行おうと思っています参考になったページは Nose利用ノート 公式ドキュメント pdb-failuresオプションは使…
初めてちゃんと英語のPEP(Python Enhancement Proposals)を読んだ. Proposalだったら現在の仕様と違うんじゃないの? とか思ったけど, そのProposalのステータス(議論中・実装済み)とかがちゃんとトップに書いてあった. PEP342 generatorの拡張仕様. それ…
後輩とCの加算・除算のコスト差について意見が食い違ったので, 実際にプログラムを書いて比較してみた. マシンスペックはIntel® Core™2 Duo CPU T9300 @ 2.50GHz × 2 Ubuntu11.10 64bit. コンパイラはgccバージョン4.6.1, またコンパイルオプションは常に-O0…
PyGTKを勉強中. 一つのイベントに複数のcall_backを結び付けられる call_backが呼ばれる順は結び付けれられた順 connectの返り値はidでそれを使うとunconnect出来る
Googleが出している制約最適化ライブラリor-toolsをインストールします. 今回はPythonからの利用に絞っています. 環境はUbuntu 11.10 64bitです. 基本的には, 公式のGetting startedに従います. sudo apt-get install bison flex python-setuptools python-d…
Boost.PythonとPyUblasに関して, 今まで適当に書いていた日記をまとめたもの. 詳細は過去の日記へのリンクをあちこちに貼ってある. 前書き Pythonは言わずと知れた非常に遅い言語だ. Pythonで大きなループを含む処理を書くことは即ち死を意味する. 例えば手…