gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

"図解・ベイズ統計「超」入門 あいまいなデータから未来を予測する技術"を読んで

従来の統計学ベイズ統計学の違い

 - データについての不確実性を確率で表現・推論する統計学
 - データが少ないと使い勝手が悪い

 - パラメータや仮説の不確実性を確率で表現・推論する統計学
 - データ数に依らず議論が可能

イメージとしては下図のようになる。

Fig. 従来の統計学ベイズ統計の違い

乗法定理

同時確率を条件付き確率の積で表せる。例えばN回目の確率はN-1回目の確率を使って表現できる。これを図で示すと下図のようになる。

f:id:graziegrazie:20171011225817p:plainf:id:graziegrazie:20171011231252p:plain
Fig. 確率のイメージ図(left:同時確率、right:条件付き確率)

ベイズの定理

図に表すと下記の通りで、Bを基準に考えていた確率を、Aを基準に考え直すことができる。ベイズの定理を日本語で表すと、
{ \displaystyle
「Bが起こった時にAの起こる確率」= \frac{「Aが起こった時にBの起こる確率」\times「Aの起こる確率」}{「Bの起こる確率」}
}
だが、これを{ \displaystyle A=仮説、B=データ}と置き換えると、
{ \displaystyle
「データを得られた時に仮説が成立する確率」= \frac{「仮説の元でデータが生じる確率(尤度)」\times「仮説が生じる確率(事前確率)」}{「データが得られた確率」}
}
とできる。

f:id:graziegrazie:20171016235411p
ベイズの定理

例題1.

4/1が晴れ, 曇り, 雨の確率はそれぞれ0.3, 0.6, 0.1であり、4/2が雨の確率は、4/1が晴れ, 曇り, 雨の時それぞれ0.2, 0.5, 0.4とする。このとき、4/2が雨でかつ4/1が曇りの確率を求めよ。

{ \displaystyle
Prob(4/2が雨の時に4/1が曇り) = \frac{Prob(4/1が曇りの時に4/2が雨) \times Prob(4/1が雨) }{Prob(4/2が雨)}
}

{ \displaystyle
Prob(4/2が雨) = \frac{Prob(4/1が曇りの時に4/2が雨) \times Prob(4/1が雨) }{Prob(4/2が雨)}
}

ベイズの定理を使うコツ=とにかく分解すること

f:id:graziegrazie:20171022133339p:plain
Fig. 事後確率の算出

従って求める確率は
f:id:graziegrazie:20171022134050p:plain
となる。分母の値(データが得られる確率)が直接与えられない場合は、このようにして求める。


Table. Likelihood
4/1が晴れの時に4/2が雨の確率 0.2
4/1が曇りの時に4/2が雨の確率 0.5
4/1が雨の時に4/2が雨の確率 0.4

Table. Prior Probability
4/1が晴れ 0.3
4/1が曇り 0.6
4/1が雨 0.1

理由不十分の原則

 確かな情報がない場合は、適当な値をセットできる

ベイズ更新

 新旧データ或る時に、旧データから得られた事後確率を新データの事前確率として利用すること

例題2.

ケンの彼女K子がケンを好きな確率は?

この問題では、心を確率モデル化してみる。心には2種類の因子があり、それらを「愛」・「憎」とする。このとき、

Table. Probabilistic model of K子's feeling
K子の心情 嫌い ふつう 好き
1
2
3
3
2
1

デートの印象が悪い → 「憎」が引かれた
デートの印象が良い → 「愛」が引かれた
*引かれた「愛」・「憎」は元に戻る。つまりそれぞれの感情において、「愛」・「憎」の数は常に一定とする。

最近2回のデートの印象は、順に「良」・「悪」であったとする。

1回目のデートで良を得る確率

D=1回目のデートで良を引く
H=K子がケンを好き

{
Prob(デートの印象「良」が「好き」から生まれた) = \frac{Prob(「好き」の時に「良」を引く) \times Prob(「好き」)}{Prob(「良」を引く確率)}
}


Table. Likelihood
嫌い ふつう 好き
「良」を得る確率 1/4 2/4 3/4
「悪」を得る確率 3/4 2/4 1/4

Table. Prior Probability from Ken's inspiration
嫌い ふつう 好き
0.1 0.3 0.6

K子がケンのことが好きかの事前情報はないので、理由不十分の原則から「好き」・「ふつう」・「嫌い」は各1/3の確率とするのが一般的である。しかしケンはK子と直に接していることから、ケンの実感を採用することが出来る。これは明確な根拠がないため、各心情である確率をを1/3するよりもケンの経験を根拠にしていることから、精度は高そうである(勿論本人が勘違いをしている可能性は捨てきれないが。。。)。このようにベイズ確率では、経験のような根拠の薄い情報を考慮できるという柔軟さがある。

その結果、

f:id:graziegrazie:20171022174438p:plain
Fig. Prob(良)の算出
となる。次に1回目を踏まえた2回目の結果を求める。

事前準備

1回目のデートの結果を踏まえ、

  • {\displaystyle Prob(「良」が「ふつう」から引かれた)}
  • {\displaystyle Prob(「良」が「嫌い」から引かれた)}

をそれぞれ求める。結果は、

Table. Prior Probability from Ken's inspiration
嫌い ふつう 好き
0.04 0.24 0.72

{
\displaystyle Prob(デートの印象「悪」が「好き」から生まれた) = \frac{Prob(「好き」の時に「悪」を引く) \times Prob(「好き」)}{Prob(「悪」を引く確率)}
}

f:id:graziegrazie:20171022180151p:plain
Fig. 2回目のデートの結果としてProb(「悪」を引く)の算出

よって2回のデートの結果、K子がケンに対して抱いている感情は、
{
\displaystyle Prob(デートの印象「悪」が「好き」から引かれた) = \frac{\frac{1}{4} \times 0.72}{0.33} \simeq 0.55 \\
\displaystyle Prob(デートの印象「悪」が「ふつう」から引かれた) = \frac{\frac{2}{4} \times 0.24}{0.33} \simeq 0.16 \\
\displaystyle Prob(デートの印象「悪」が「嫌い」から引かれた) = \frac{\frac{3}{4} \times 0.04}{0.33} \simeq 0.09
}

確率分布

例題3.

表の出る確率が{\theta}のコインがあり、3回投げると

  • 1回目 表
  • 2回目 表
  • 3回目 裏

と出た。この時{\theta}の確率分布を求めよ。

この場合、データは「表」が出ること、仮説は「表」の出る確率が{\theta}となる。よって求める確率は、
{
Prob(「表」が出た時に「表」が出る確率が\thetaである)= \frac{Prob(「表」が出る確率が\theta) \times Prob(\thetaが成立する) }{Prob(「表」が出た)}
}
ここで"「表」の出る確率が{\theta}"という文言を"{\theta}のコイン"と置き換えると、上記は
{
\frac{Prob(\thetaのコインで「表」が出る) \times Prob(\thetaのコインが存在する)}{Prob(「表」が出た)}
}

ベイズの定理の左辺は原因が発生する確率
{Prob(「表」が出た)}は定数のため{C}と置く

  • 尤度  :{Prob(\thetaのコインで表が出る \  = \  \theta}
  • 事前確率:1(理由不十分の原則)

よって
{
Prob(「表」が出た時に「表」が出る確率が\thetaである) \  = \  \frac{\theta times 1}{C_1}
}
となる。
{
\displaystyle \int f(\theta) d \theta = 1
}
より、{\displaystyle C_1 \  = \  \frac{1}{2}}
{\displaystyle f_1(\theta) \  = \  2 \theta}
となる。2回目の事後分布は、
{
\displaystyle Prob(「表」が「\thetaのコイン」から出た) \\
\displaystyle = \frac{Prob(「\thetaのコイン」から表が出る) \  \times \  Prob(「\thetaのコイン」の存在確率)}{Prob(「表」が出る)} \\
\displaystyle = \frac{尤度\theta \times 1回目の事後分布2\theta}{定数C_2}
}
1回目と同様にして{\displaystyle C_2 \  = \  \frac{2}{3}}, \  f_2(\theta) \  = \  3 \theta^2となる。3回目は裏が出たので、
{
\displaystyle Prob(「裏」が「\thetaのコイン」から出た) \\
\displaystyle = \frac{Prob(「\thetaのコイン」から裏が出る) \  \times \  Prob(「\thetaのコイン」の存在確率)}{Prob(「裏」が出る)} \\
\displaystyle = \frac{尤度(1 \  - \  \theta) \times 2回目の事後分布3\theta^2}{定数C_3}
}
であり、{\displaystyle f_3(\theta) \  = \  12(1 \  - \  \theta)\theta^2}

*参考文献

「頻度論」の学者と「ベイズ論」の学者が対談したら | 『統計学が最強の学問である[実践編]』発刊記念対談 | ダイヤモンド・オンライン

NVIDIA製GPU搭載のハイスペックノートPCを探してみた

画像処理などをリアルタイムで行いたい場合、CPUはもちろん、ハイスペックなGPUが搭載されているとストレスがないです。またDeep Learningなどの機械学習を行う場合、OSSのライブラリはCUDAが必要なことが多い気がします。CUDAのインストールには、NVIDIA性のGPUが必要です。そこでNVIDIAGPUを搭載可能なハイスペックノートPCを探してみました。

探索条件

・メーカ:Lenovo, HP, Microsoft, マウスコンピュータ
・CPU: core i7
・メモリ:20GB以上
・サイズ:13~14インチ(持ち運び製を考慮して)
・重量:1.5kg以下

結論としては、個人的に好きなLenovo、そしてHPは上記の条件を満たすPCはなかったです。Surfaceとマウスコンピュータがいい感じでした。Surfaceの方がデザインが好きなのですが、いかんせん高いのがたまにキズ。。。

探索結果

Lenovo(2017/10/21現在)

  • Tシリーズ

T470s   :NVIDIAGPU非対応
ThinkPad25:売り切れ

  • Aシリーズ

NVIDIAGPU非対応

  • ゲーミングPC

サイズ超過

HP(2017/10/21現在)

一般PC   :希望条件を満たすPCなし
プレミアムPC:NVIDIAGPU非対応

Microsoft(2017/10/21現在)

Surface book2 :全条件を満たした!
Surface Laptop:NVIDIAGPU非対応
Surface Pro  :NVIDIAGPU非対応

マウスコンピュータ(2017/10/21現在)

G-Tune NEXTGEAR-NOTE i4400 シリーズ:全条件を満たした!
DAIV-NG4500シリーズ        :全条件を満たした!
LuvBook J シリーズ:NVIDIAGPU非対応

under-determinedなシステム

under-determinedなシステムとは、変数の数に対して制約事項が足らないシステムのことです。参考文献のwikipediaを見ると、Fig.1の様な連立方程式があります。under-determinedなシステムでは、必ずしも解が求まるとは限りません。解が求まる場合は、ガウスの消去法[4]などを使って求めることが出来ます。

f:id:graziegrazie:20171001091141j
Fig.1 under-determinedなシステムの例[1]

# 参考文献
[1]Underdetermined system - Wikipedia
[2]http://www.ue.pwr.wroc.pl/numerical_methods_lectures/NM_Underdetermined_problems.pdf
[3]http://www.tapir.caltech.edu/~rom-gr/slides/Justin_Romberg.pdf
[4]
ガウスの消去法 - Wikipedia

Lpノルムとマンハッタン距離、ノルム

{L_p}ノルムとは、{n}次元のベクトル{\overrightarrow{x}=(x_1,x_2,\cdots, x_n)}および{1\leq p\leq \infty}なる{p}に対して、
{\sqrt[p]{ x^p_1 + ... + x^p_n }}
で表され、{\| \overrightarrow{x}_p \|}と表記する[1]。

そもそもノルムとは、

任意のベクトル{x, \  y}と定数[tex:{a}があるとき、下記の3つの性質を満たす関数のこと。

  • {\|\overrightarrow{x}\|=0\iff \overrightarrow{x}=0}
  • {\|a\overrightarrow{x}\|=|a|\|\overrightarrow{x}\|}
  • {\|\overrightarrow{x}\|+\|\overrightarrow{y}\|\geq \|\overrightarrow{x}+\overrightarrow{y}\|}(三角不等式)

マンハッタン距離

{p=1}の時、つまり{L_1}ノルムはマンハッタン距離とも言われる。マンハッタンが碁盤目状になっており、2地点間の距離を北に○ブロック、東に△ブロックという表現することに由来している。べき乗しないため外れ値に対してロバストだ[3][4]、と書かれているが、イマイチ理由はわからない。。数式では下記の様に表現する。
{|x_1|+|x_2|+\cdots +|x_n|}

f:id:graziegrazie:20170827111208p:plain
Fig. マンハッタン距離の概念図[2]

ユークリッド距離

{p=2}の時、つまり{L_2}ノルムはユークリッド距離とも言われ、2点間の直線距離を表す。一般的な表現のため詳細は割愛。

Kaze特徴量

Kazeは、非線形拡散フィルタを用いて算出する特徴量。SIFTやSURFなどのガウシアンフィルタ(線形拡散フィルタ)を使った特徴量は、物体のエッジ部分がぼやけてしまい、局所的な特徴がうまく取れないことがあった。それに対し、非線形拡散フィルタを使うKazeは、非等方的な計算を行うためにエッジ部分がぼやけず、局所的な特徴が取りやすくなっている。非線形拡散フィルタとしては、Additive Operator Splitting (AOS) を使っている。

一般物体認識と特定物体認識

一般物体認識とは、画像中に存在する物体について、「魚」などのカテゴリー名を特定する技術である。
f:id:graziegrazie:20170729210614p:plain
Fig. 一般物体認識の認識結果例[2]

それに対し特定物体認識とは、画像中から一意に特定できる物体を検出する技術である。例えば「あべのハルカス」などのランドマーク、「Nitendo Switch」などの大きな個体差のない工業製品などが対象である。

ヒューリスティックアルゴリズム

ヒューリスティックアルゴリズムと聞くことがあるが、何を意味するのかずっとわからないままだった。そのため今回ヒューリスティックアルゴリズムが何を指すのか調べて見た。その結果、

だとわかった。つまりヒューリスティックアルゴリズムとは、経験則から導き出した・考え出したソフトウェアの処理手順・方式である。