satopoooonのブログ

自分向けの備忘録

書評(ウォール街の物理学者)

広く浅く書かれていて、

結構面白かったです。

 

まずは、ある仮定を元にシンプルなモデルを作成する。

そのモデルが通用しない状況が発生する。

その原因を探る。

原因追求後に、新たなモデルを作成する。

 

時代と共にモデルがアップデートされて、洗練されていきます。

ただ、モデルは仮定を元に作られているので、万能ではないです。

その辺を頭に入れて、使っていきましょう。ということが書かれています。

 

 

 

 

 

 

TensorFlowでimage recognition(Inception‐v3 転移学習) 

tensorflowのチュートリアルでImage recognitionがありますが、

これを使って自分で分類機を作成してみました。

参考サイトは以下です。

blog.ch3cooh.jp

今回、新たに自分が用意した画像で学習させますが、

このときに転移学習という技術を利用しています。 

転移学習の説明は以下のサイトで、

qiita.co

Inseption-v3というすでに他の画像データで学習したモデルがあるのですが、

そのモデルの分類に関するノウハウを、

「自分が用意した画像データで学習」する際に利用するのが転移学習です。

ノウハウといいましたが、機械学習ですのでノウハウの意味解釈性は理解しにくいとは思いますが、概ね以下のようなことだと思います。

 

  • 画像における様々なタスクにおいて、「共通してとらえるべき特徴」が存在する
  • 「共通してとらえるべき特徴」を得るのに、画像認識(クラス分類)が有効である

ちなみに、プログラムを実行したら、画像データ足りないと怒られました。

1サンプルにつき20枚程度の画像が必要になるみたいです。

 

qiita.com

m

C#覚書、staticとかThisとかなにそれ

C#の覚書、

以下参考サイト、

http://ufcpp.net/study/csharp/oo_static.html

静的メンバとかなんだそれ?

 

C#だと、変数やクラスにstaticをつけると、

静的メンバとよぶらしい。

static 変数と宣言されたら、

それはいわゆるクラス変数(クラス内で共通の変数)のことみたい。

 

static クラスと宣言されたら、

それはインスタンスを作る必要のないクラスみたい。

メソッドしか持たない。

構造化言語でいう関数に近い。

 

 

 

 

 

 

ノンパラメトリックな検定、ウィルコクソン検定

特定の分布を過程する検定はパラメトリックな検定、

→母集団の分布がわかっている場合はパラメトリックな検定をすればよい、

  正規分布しているなら、t検定

 

特定の分布を過程しない場合は、ノンパラメトリックな検定、

→母集団の分布がよくわからん、、、そういうときはt分布ではなくて、

ノンパラメトリックな検定(例えばウィルコクソン検定、Mann-Whiteny検定など)

 

正規分布しているかどうか怪しいものに、

t分布などを使うと検出力が下がる、

特にn数が少ない場合は顕著、

以下参考文献

パラメトリック検定の検出力

 

t検定,プールした分散

対応がない場合のt検定

参考文献は以下、

http://www012.upp.so-net.ne.jp/doi/biostat/CT39/ttest.pdf

 

二つのグループをt検定する。

まず前提として、二つのグループ等分散、母分散は不明であるとする。

等分散じゃないと、t検定が使えない。

二つのグループのそれぞれの偏差平方和(s1,s2)から、プールした不偏分散を作る。

 

等分散なんだから、

二つのグループのデータを使って分散を求めた方が精度が良くね、

っていうモチベーションでプールする。

 

二つのグループをまとめた偏差平方和s = s1+s2

自由度はn = (n_1-1)+(n_2-1) 

よって、プールした分散はs = (s1+s2) / {(n_1-1)+(n_2-1)} 

となる。 

これを使ってt検定する。

 

なお、等分散じゃない場合はウェルチの検定となる。

等分散じゃなくてかつ母分散も不明の場合、

厳密に従う統計量は存在しない。

→近似的にはウェルチの検定でいける、

 

このへんは、

永田本「統計的方法の仕組み」p.185に記載している。