keisukeのブログ

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

2014-01-01から1年間の記事一覧

【scikit-learn】変数やメソッドの命名規則

参考:http://scikit-learn.org/stable/developers/#apis-of-scikit-learn-objects自分の理解の整理も兼ねて、scikit-learnの公式ドキュメントの、特に 「規則」の部分について日本語でまとめます。 全体的にscikit-learnではAPIや命名が非常によく規則だっ…

メタ構文変数,意味のない言葉のリスト

参考:http://dev.classmethod.jp/etc/metasyntactic-variables/「メタ構文変数」とは,fooやbar,日本ではhogeやfugaなど,「意味のない」ことを意味する言葉たちです.一時的に何かをしたいときや,読者に対して「意味がない言葉である」ことを示すために…

MCMCサンプリングって何をするもの

MCMC (マルコフ連鎖モンテカルロ法)サンプリングが結局何をしているかというと, サンプリングという名の通り,未知の確率分布のサンプリングをしている. 例えば未知の確率分布を推定したいが, 解析的に解けないので数値的に解くことにする. そういうとき…

IPython Notebookの自動カッコ補完を無効にする

http://stackoverflow.com/questions/22843891/turn-off-auto-closing-parentheses-in-ipythonIPython Notebookの自動カッコ補完を無効にするには、 ~/.ipython/profile_default/static/custom/custom.js に次を書き加えば良い: if (IPython.CodeCell) { IP…

Windowsにpandocをインストール

うちの環境だけかもしれないけど、pandocをWindowsにインストールしても上手く動いてくれなかった。エラーの内容的に環境変数に追加をミスってるのだと思ってPATHを見てみると、確かに末尾にpandocへのPATHを追加してくれている: C:\my\existing\pathes;C:\…

matplotlibのArtistの階層構造

matplotlibのArtist(ユーザが意識して使っているクラス、FigureとかAxesとかAxisとか)は普通は階層構造を持つことになる。 例えば次のように図を作ると: >>> fig = plt.figure() >>> ax1 = fig.add_subplot(211) >>> line = ax1.plot(np.sin(np.arange(0,10…

matplotlib.axes.Axesのhelper methodsで作られたArtistsがどのcontainerに格納されるか

参考:Artist tutorial — Matplotlib 1.4.2 documentationmatplotlib.axes.Axes(一番良く使うArtists:subplotとか)のhelper methods(bar, plot, scatterなど)で作られたArtistsがどのcontainerに格納されるか: Helper method Artist Container Axes.annota…

matplotlibで背景の色や透明度を設定する - How to set the background color and transparency in matplotlib

参考:matplotlib公式のArtist tutorial JP matplotlibでプロットの背景の色や透明度の設定方法: >>> import matplotlib.pyplot as plt >>> fig = plt.figure() # Figure >>> ax = fig.add_subplot(211) # Axes >>> fig.patch.set_facecolor('blue') # 図全…

「情報系」と「電気系」は同じ学部?

歴史的な事情もあって,「情報系」と「電気系」は同じカテゴリにされることが多いけど,情報系と電気系とは本質的に関係はないと思う.これまでの科学で計算機を構築するためには電気回路が都合が良かっただけで,もしもメカニカルな機構のほうが効率が良か…

Python format string

Pythonのstringには.format()というフォーマット指定子のメソッドが用意されています. C言語のsprintfをするときのように,文字列に他の文字を埋め込みたいときに使うやつです. 例えば,次のように使います: >>> a = 'hoge' >>> b = 123 >>> c = 3.14 >>>…

【Google Calendar】Googleカレンダーの背景;日曜日を赤,土曜日を青にする

Googleカレンダーの日曜日の行を赤,土曜日の行を青で表示したいときは, Stylishで次を追加すれば良い: (If you want to color background of Sundays for red, Saturdays for blue in Google Calendar, you can add the following code in Stylish:) @nam…

【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ループを用いた演算よりも果てしなく高…