keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

【Python】ふたつの配列からすべての組み合わせを評価

引数をふたつとる関数f([x,y])が存在するとします(この場合は引数2つではなく、要素数2の配列をひとつ引数にとるのほうが正しいですが・・・)。 たとえば、f([x,y]) = x+y などです。 このfはうまく実装されているので、f([[1,3], [2,4]])とすると(つまり[1+…

【Python】max/minのindex

Pythonでmax/minの値ではなく、そのindexを取るためには、 >>> x = [2, 3, 0, 1] >>> max_idx = x.index(max(x)) >>> min_idx = x.index(min(x)) みたいな微妙に歯がゆい書き方をしないといけない(しかも、index()とmax()/min()で二回探索しててアホっぽい)…

numpyのshuffleとpermutationの違い

python - shuffle vs permute numpy - Stack Overflownumpyにはshuffle(x)とpermutation(x)というほぼ同じ機能の関数があります. どちらも,配列をランダムに並び替えますが,違いが2つあります.ひとつは,shuffle(x)は配列をin-placeで並び替えるが,perm…

p(x ; y, z)とp(x | y, z)の違い

probability - What is the meaning of the semicolon in $f(x;\Theta)$? - Cross Validated Probability notation question - Cross Validated Meaning of probability notations $P(z;d,w)$ and $P(z|d,w)$ - Cross Validated "The probability of x given…

マルコフ連鎖モンテカルロ法

マルコフ連鎖モンテカルロ(MCMC)法: ある時刻の標本が一つ前の時刻の標本に依存して生成されるとき,標本列をマルコフ連鎖と呼ぶ. MCMCでは,まず提案点と呼ばれる標本を生成する.提案点は代理分布にしたがって発生させる.代理分布は,ガウス分布や一様…

ベイズ推定(ベイズ予測分布)

訓練標本をとする. はの同時確率, はの事後確率, はの事前確率, はの尤度である. ベイズ推定ではは確率変数なのでモデルも条件付き確率で表される. ,から が得られる. よってであるから,ベイズ予測分布は となる. は, モデルをの事後確率で重みを…

selfってなんじゃ

Pythonでclassを定義する時、methodの引数やメンバ変数などに出現するself。 あれはそのクラスのオブジェクトを指している。obj = Cls(x, y)などとオブジェクトobjを生成すると、クラスClsのselfにobjが使われる。 実のところ、obj.method(z)は、Cls.method(…

【Firefoxアドオン】DictionaryTooltip+Stylishでポップアップ英辞郎

2015/04/15追記: 英辞郎 on the WEB (Space ALC) のサイトデザインが更新されました。 Stylishのスタイルは次のようにするとよいです: @namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("eowf.alc.co.jp") { /* common settings */ #…

matplotlibのplotの種類

pyplot — Matplotlib 1.4.0 documentationplt.plotの引数である,linestyleとcolor,markerの実際のプロット例. plt.plot(x, y, linestyle='-', color='b', marker='.')などと指定する. plt.plot(x, y, 'b.-')などと同時に指定もできる. import numpy as n…

decorator

http://www.jeffknupp.com/blog/2013/11/29/improve-your-python-decorators-explained/ @currency def price_with_tax(price, tax_rate_percentage): return price * (1 + tax_rate_percentage) では、currencyがdecorator. currencyは def currency(f): de…

yield

Improve Your Python: 'yield' and Generators Explained yield文はgenerator functionを作るために必要。 yield文をひとつでも持つ関数はgenerator functionと呼ばれる。 また、generator fucntionのインスタンス?クロージャ?(gen = gen_func()のgenみた…

numpyの1d-arrayを2d-arrayに変換

超基本的だけど毎回微妙にむかつくので整理するためにメモ.numpyはベクトルと行列を分けているので*1,ベクトルの転置が取れなくて困る. n次元ベクトルxは,numpyでは行ベクトルでも列ベクトルでもない.単にn次元ベクトル. だからx.transpose()してもな…

推定量の性質について

一致性 推定量が一致性を持つ:標本数が無限に多いときに,ある値に収束する. すなわち,に対し このときがに確率収束すると呼び, と書く. 特に,標本平均が真の期待値に確率収束することは大数の弱法則と呼ばれる. 不偏性 期待二乗誤差について, と分…

星座はクラスタリング

クラスタリングの身近な応用例といえば星座です. 距離の近い星を同じグループとみなし,分類をします.しかし,星座はそんな単純なクラスタリングではありません.まず第一に,たとえ星の距離が遠くても,「意味」が近ければ同じグループとみなされる点です…

メモ:主成分分析

主成分分析は,もとのデータ の分散共分散行列の対応する固有値が高い順にk個取ってきた固有ベクトル で張られる部分空間への, の正射影を与える.すなわち, なる変換である.

メモ:正定値/半正定値行列

行列Aが正定値行列(positive definite)であるとは, Aが対称(ゆえにAはnxn正方行列) Aの固有値がすべて正 である.これは, と等価.また,行列Aが半正定値行列(positive semi-definite)であるとは, Aが対称(ゆえにAはnxn正方行列) Aの固有値がすべて非…

【Firefoxアドオン】DictionaryTooltipの設定

Firefox最新版にしたら、DictionaryTooltipが動かなくなった。 正確に言うと、一度でもブラウザを閉じると設定がデフォルトに戻る= 英辞郎 on the WEBを永遠に追加できない という困った問題にあたった。 Waterfoxと共存させているのが悪い説もあるけど、未…

PowerPointのデフォルトテンプレート上書きのすすめ

PowerPointを空で起動すると表示される忌々しいデフォルトテンプレート。 あれが表示されると、16x9のスライドを4x3に直し、フォントを自分好みに設定し、 ページ番号を振れるようにマスタスライドをいじり、テーマに添って選んでくれた配色(大きなお世話)を…

numpyでvstackするかbuilt-inのlistから変換するか

Pythonには,数値計算,特にベクトル行列演算を高速かつ便利におこなう numpyと呼ばれる強烈なライブラリがあります.しかし,numpyのarray (Cの配列のようなものと考えて問題ない)は, ベクトル行列演算をpythonのforループを用いた演算よりも果てしなく高…

継ぎ足しのタレは数学的に意味がある2nd

先日の記事 (継ぎ足しのタレは数学的に意味がある) に 「タレの濃度を保存する目的なら、レシピを作ってそれに従うべきでは?」 という突っ込みが入ったので、再シミュレーションしました。青が継ぎ足しの場合、赤が作りなおす場合です。 見方にもよるので断…

【python】setのset

*********************************** 2014年7月23日追記 ImmutableSet を使えばこんなめんどくさいことをしなくても良いことを知りました. http://docs.python.jp/2/library/sets.html#sets.ImmutableSet python3の場…

継ぎ足しのタレは数学的に意味がある

よく、2chとかで 「創業以来継ぎ足しのタレは意味が無い。 なぜなら、創業時のタレは数ヶ月もしたら分子レベルで消え去るからだ。」 (参考:http://sci-tech.jugem.jp/?month=200901、http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1272793082…

cProfileの表示順

https://docs.python.org/2/library/profile.html#module-cProfile http://stackoverflow.com/questions/10326936/sort-cprofile-output-by-percall-when-profiling-a-python-script PythonでcProfileを使うとどの関数がどれだけ時間喰ってるかを調べられる…

WindowsのrenameコマンドとLinuxのmvコマンド

カレントディレクトリ直下の .foo で終わるファイルすべてを .bar にリネームしたいとき,Windowsだと rename *.foo *.barで動くんだけど,Linuxだと rename *.foo *.barも mv *.foo *.barも動かない. bashでこれをやろうとするなら, for file in *.foo do…

【記事メモ】AdaBoost アルゴリズム (ブースティング)

AdaBoost アルゴリズム (ブースティング) 土方嘉徳 公式ブログ e-biz Diary http://e-biz.cocolog-nifty.com/blog/2010/09/adaboost-b724.html

gccでビルドされたライブラリをg++から呼ぼうとするとundefined reference

C++

またしてもC/C++で落とし穴に落ちた. Cで書かれたライブラリをC++で普通に使っていて,普通に使えていたわけだが, そのライブラリのあるヘッダをインクルードした瞬間にg++が undefined reference to 'function name'のコンパイルエラーで止まる. gccを使…

bashプロンプトの色とか表示設定

何かあって新しいbashのプロンプトの表示を変えるのに,毎回「そういえば.bashrcのPS1って今までどうしてたっけ?」ってなるわけだけど,検索してみると意外と実例が出てこない. (どういうふうに表示されるかの例つきの)オススメセッティング集とかあって…

scipyでの疎行列(sparse matrix)の扱い

scipyにはsparseという疎行列関連のモジュールがあります. すでに公式のドキュメントが充実していますが, 自分の中の整理も兼ねて日本語でまとめたいと思います.概要:全部で7種類の疎行列型が存在します. csc_matrix: Compressed Sparse Column format …

標準偏差(Standard Deviation, SD)と標準誤差(Standard Error, SE)

標準偏差(Standard Deviation, SD) は、標本の散らばりを記述する。 標準誤差(Standard Error, SE) は、統計量の散らばりを記述する。すなわち、 期待値±SDは、標本の各データは期待値から±SDに約68%散らばっていることを意味し*1、 期待値±SEは、得られた標…

pythonからRを使う

Rはデータ解析において多くの機能を備えた、言語としての事実上の標準です。 ところが、Rはその独特の記法や体系、解析以外の機能があまり好ましくありません*1。そこで、強烈な標準ライブラリと多くのサードパティ提供ライブラリを備えるpythonからRを使い…