Python: Gridsearch時にログファイルを各設定ごとに出力

概要

  • pythonで、ログをファイルに出力する方法
  • 特に、人が書いたprint文まで含めてファイルに保存したい場合

方法

標準出力先を変更してしまう。

 
import sys
sys.stdout = open('filename.log', 'w')
print('hoge')
print('fuga')
sys.stdout.close()
sys.stdout = sys.__stdout__

とかやれば、OK

usecase

  • pylearn2のmonitor情報をログファイルに保存したい場合

Vimで正規表現

以前、書いたvimでコメント行を削除する方法の発展。 yusu-iwasawa.hatenablog.com

正規表現を使って検索-> :%s//what_you_want/gでいろんなことができる。 Vimで使える正規表現 - Archiva

確率分布について(離散的確率分布)

  1. 離散一様分布
    N個の事象が等確率で起こるもの。
    ex) 偏りがないサイコロの目がどの目を出すかの分布
  2. 二項分布
    成功する確率がp、失敗する確率が1-p(つまり、成功か失敗かしかない)ような確率事象の分布。
    ex) コインを投げて表が出る確率の分布
  3. 超幾何分布
    (説明むずいのでパス) ex) AがM個、BがN-M個の合計Nこの玉が入っている袋から無作為に玉をn個取り出す(取り出した玉は戻さない)ときに、t回目にAを取り出す確率の分布
  4. ポアソン分布
    単位時間中に平均λ回起こる事象が単位時間中にx回起こる確率。
    ex) 1時間に特定の交差点を通過する車両の数
  5. 負の二項分布(パスカル分布)
    成功確率がpの施行を行った時に、k回成功するまでの失敗の回数が従う分布。(こんなのなぜ考えようと思ったんだ。)2項分布の特殊版。
  6. 幾何分布
    成功確率がpの試行を行った際に、初めて成功するまでの失敗回数xが従う確率分布。2項分布の特殊版。

確率と確率分布

確率とは何か

確率とは、事象の起こりやすさを定量的に示したもの。 例えば、P(1) = 0.4というのは、なんらかの事象が1の値をとる確率が40%であるということ。

実際には、確率の公理を満たすものを確率と呼ぶ。

確率分布とは

確率変数Xが取りうる値についての確率をまとめたもの。確率変数Xがどの値をどのくらいの確率でとるのかをまとめたもの。

確率分布の種類

機械学習のための確率と統計」に従うと、確率分布は次のようなものがある。

  1. 離散型確率分布(確率変数Xが離散値をとるもの)
  2. 連続型確率分布(確率変数Xが連続値をとるもの)
  3. 多次元確率分布(2つ以上の確率変数の分布を考えたもの)

確率分布というものを考えることで、すべてのサンプルが得られない状況(つまり、ほとんどすべての場合)で、確率変数をよく表す分布を考えることが出来る。