2021-08-12に更新

ベルヌーイ分布を勉強しようぜ(^~^)?

げーっ(>~<) ぐったり(^~^) 公開下書き

ベルヌーイ分布を勉強しようぜ(^~^)?

ramen-tabero-futsu2.png
「 ベルヌーイ分布を勉強しようぜ?」

kifuwarabe-futsu.png
「 何だぜ それ?」

ohkina-hiyoko-futsu.png
「 多腕バンディット問題の式の中に出てくるのよ」

📖 二項分布とベルヌーイ分布 登校中にヤンキーに遭遇してしまう確率…?

ramen-tabero-futsu2.png
「 👆 記事を読んでも さっぱり 分からんな」

📖 二項分布

ramen-tabero-futsu2.png
「 👆 数式あっても 読めないしな」

ohkina-hiyoko-futsu.png
「 記事に共通点ないの?」

kifuwarabe-futsu.png
「 確率、平均、分散、確率変数 は前提知識として必要なようだぜ」

ramen-tabero-futsu2.png
「 つら」

20210807go24.png

ramen-tabero-futsu2.png
「 👆 コインの オモテが出る確率と、ウラが出る確率の話しをしているのは 確かだぜ」

kifuwarabe-futsu.png
「 フーン」

20210807go30.png

ramen-tabero-futsu2.png
「 👆 コインの ウラ を 0、 オモテ を 1 としようぜ?」

確率変数

ramen-tabero-futsu2.png
「 なんか 高校数学沼に足を突っ込んでしまったか」

📖 11-1. 確率変数と確率分布

ohkina-hiyoko-futsu.png
「 👆 確率ね」

20210807go28.png

ramen-tabero-futsu2.png
「 👆 ウラ と オモテ の2つしかない ということに X という記号を当ててると思ってくれだぜ。
この X は 確率変数 と呼ばれることがあるが、プログラムやったことあるんなら ハッシュセットの名前ぐらいに思っておけだぜ。
ハッシュセットが分かんなかったら、要素の順番が決まってない配列と思えだぜ」

ohkina-hiyoko-futsu.png
「 むずかし!」

確率分布

20210807go25.png

ramen-tabero-futsu2.png
「 👆 そして オモテが出る確率と、ウラが出る確率は、5分5分とも限らないよね、という話しをしているのは 確かだぜ」

ohkina-hiyoko-futsu.png
「 インチキ・コインも取り扱う分野なのね」

ramen-tabero-futsu2.png
「 ベルヌーイ分布は難しいから、簡単な例から 見ていこうぜ?」

20210807go26a4.png

ramen-tabero-futsu2.png
「 👆 はー、疲れた」

kifuwarabe-futsu.png
「 x は整数で 0 <= n < 2 なんだな」

ramen-tabero-futsu2.png
「 つまり X の中から1個選んだやつが x だぜ」

ramen-tabero-futsu2.png
「 趣旨としては、2本の青い棒をつなげれば 長さが 1.0 になるぜ」

ohkina-hiyoko-futsu.png
「 n=1 のとき p なら、 n=0 のとき 1-p ということなんじゃないの?
それ以上の深い意味があんの?」

ramen-tabero-futsu2.png
「 無いぜ」

ohkina-hiyoko-futsu.png
「 何が難しいの?」

20210807go27a1.png

ramen-tabero-futsu2.png
「 👆 じゃあ オモテが ちょっとばかし出やすい インチキ・コイン を例に考えようぜ?」

func Pr(x):
  if x==1:
    return 0.6
  else if x==0:
    return 0.4
  else:
    panic( )

ramen-tabero-futsu2.png
「 👆 プログラムを疑似コードで書くと こんな感じ。
Pr(1) なら 答えは 0.6 で、
Pr(0) なら 答えは 0.4 を返すぜ」

kifuwarabe-futsu.png
「 x を入れたら p か、 1-p のどっちかが返ってくるんだろ。 関数だな」

p = 0.6

func Pr(x):
  if x==1:
    return p
  else if x==0:
    return 1-p
  else:
    panic( )

ramen-tabero-futsu2.png
「 👆 もうちょっと書き直したら こんな感じ」

kifuwarabe-futsu.png
「 分かった、分かった」

ベルヌーイの確率質量関数

📖 確率質量関数(probability mass function)

ramen-tabero-futsu2.png
「 👆 かなり 難しいけど」

p(x)

ramen-tabero-futsu2.png
「 👆 小文字の p が名前の関数な」

kifuwarabe-futsu.png
「 さっき 大文字の Pr が名前の関数やったのに。何が違うんだぜ?」

20210807go29.png

ramen-tabero-futsu2.png
「 👆 おんなじだな」

📖 確率質量関数

ramen-tabero-futsu2.png
「 👆 プログラムのところを 数式でも おんなじことが できるようだぜ」

p^x × (1-p)^(1-x)

ramen-tabero-futsu2.png
「 👆 左の数と、右の数を 掛ける感じだぜ」

ohkina-hiyoko-futsu.png
「 つら!」

ramen-tabero-futsu2.png
「 例えば x=1 のときを見てみようぜ?」

  p^x × (1-p)^(1-x)
= p^1 × (1-p)^(1-1)
= p^1 × (1-p)^ 0
= p^1 ×  1

ramen-tabero-futsu2.png
「 👆 右の方の数が 0乗になって、 1 になったな。 左の方の数が残ったぜ」

ohkina-hiyoko-futsu.png
「 0乗が 1 かは自明じゃないけど」

ramen-tabero-futsu2.png
「 次は x=0 のときを見てみようぜ?」

  p^x × (1-p)^(1-x)
= p^0 × (1-p)^(1-0)
= 1   × (1-p)^1

ramen-tabero-futsu2.png
「 👆 左の方の数が 0乗になって、 1 になったな。 右の方の数が残ったぜ」

kifuwarabe-futsu.png
「 if文でいいと思う」

ベルヌーイ分布の期待値

ohkina-hiyoko-futsu.png
「 うーん。 この P 関数 逆なんじゃないの?
オモテが 出るか、 ウラが 出るか 知りたいのに、 P(n) の n って、 オモテか ウラを入れんの?」

ramen-tabero-futsu2.png
「 それで 分布が分かるんで」

📖 経済情報処理 講義ノート 第 7 回 確率分布

ramen-tabero-futsu2.png
「 👆 むずかし!」

20210808go31.png

ramen-tabero-futsu2.png
「 👆 このコインを10回投げたとき、オモテがでるのは何回ぐらいだと思うんだぜ?」

ohkina-hiyoko-futsu.png
「 6回ぐらいかしらねぇ」

  0.4 * 0 + 0.6 * 1
=     0   +    0.6
=        0.6

ramen-tabero-futsu2.png
「 👆 数式で書くと 上記のようだぜ」

E(X) = p

ramen-tabero-futsu2.png
「 👆 式が長ったらしいんで、 E(X) が 期待値 を求める関数だぜ。期待値は p なんだけど」

ohkina-hiyoko-futsu.png
「 数値型変数1個受け取る Pr(x) 関数に、 X つっこんでいいの?」

ramen-tabero-futsu2.png
「 E(X) = p は X の要素の 0、 1 の どっちを突っ込んでもいい、というプログラムの コメント みたいなもんだぜ。
関数コール文ではないんで」

kifuwarabe-futsu.png
「 じゃあ // E(X) = p みたいにしてほしいぜ」

ベルヌーイ分布の期待値の導出

20210812go66.png

ramen-tabero-futsu2.png
「 👆 この数式は 何を書いてるのか 考えてみようぜ?」

ohkina-hiyoko-futsu.png
「 プログラムに書き直したら いいんじゃない?」

20210812shogi66a1.png

sum = 0
for (k=0; k<=1; k+=1):
    sum += k * Pr(k)
return sum
sum  = 0 * Pr(0)
sum += 1 * Pr(1)
return sum
return 0 + 1*p
return p

ramen-tabero-futsu2.png
「 👆 分かった」

平均

ramen-tabero-futsu2.png
「 分散の話しをしたいんだが、前提知識として 平均 って何かの説明が要るな」

20210808go34.png

ramen-tabero-futsu2.png
「 👆 例えば コンピューター将棋の大会に 8チーム出場していて、 PR文書の平均ページ数を調べようと思ったら」

  (1 + 1 + 2 + 2 + 1 + 5 + 2 + 4) / 8
=               18                / 8
=                               2.25

ramen-tabero-futsu2.png
「 👆 だいたい 1人 2.5ページ 書いてきてるなあ、と 考えたりするわけだぜ」

20210808go35a1.png

kifuwarabe-futsu.png
「 👆 平均(μ;ミュー)って この辺か。
こんな 何からも離れている線が 役に立つのかだぜ?」

ohkina-hiyoko-futsu.png
「 実体とかけ離れていても、数字1個で表したいときって あるのよ。比較したいから」

20210808go36a1.png

ramen-tabero-futsu2.png
「 👆 じゃあ そこに 100ページのPR文書を提出してくるやつが 1人 居たらどうなるんだぜ?」

  (1 + 1 + 2 + 2 + 1 + 5 + 2 + 4 + 100) / 8
=                 118                   / 8
=                                     14.75

kifuwarabe-futsu.png
「 👆 1人 14.75ページぐらい 書いている計算になるな」

20210808go37.png

ohkina-hiyoko-futsu.png
「 👆 迷惑よねぇ」

ramen-tabero-futsu2.png
「 平均の中に おかしなデータが ぼんっと入ってないか 雰囲気を見てみるのが 分散 という考え方だぜ」

分散

📖 統計学における分散とは?不偏分散との違いも! 例題でわかりやすく解説

ramen-tabero-futsu2.png
「 👆 分散の説明をしても 難しいだろうから、 計算してみようぜ?」

20210808go38.png

ramen-tabero-futsu2.png
「 👆 まず、各チームの、平均との誤差を求めておこうぜ」

20210808go39.png

ramen-tabero-futsu2.png
「 👆 その誤差を2乗して 面積を出すぜ」

  (1.5625 + 1.5625 + 0.0625 + 0.0625 + 1.5625 + 7.5625 + 0.0625 + 3.0625) / 8
=                                  15.5                                   / 8
=                                                                      1.9375

ramen-tabero-futsu2.png
「 👆 面積を全部足して チーム数で割ろうぜ」

kifuwarabe-futsu.png
「 1.9375」

ramen-tabero-futsu2.png
「 それが 分散(Variance) だぜ。
その数が小さいほど、 1つだけバカに離れた数が入ってる、みたいなことが少ないわけだぜ」

kifuwarabe-futsu.png
「 じゃあ 分散が少ないほど 平均が まともなのかだぜ?」

ohkina-hiyoko-futsu.png
「 そうね」

20210808go40.png

ramen-tabero-futsu2.png
「 👆 1チームだけ離れてるときの平均の誤差も見てみようぜ?」

ohkina-hiyoko-futsu.png
「 平均(μ)が だいぶ吊り上がってるわねぇ」

  (13.75 + 13.75 + 12.75 + 12.75 + 13.75 + 9.75 + 12.75 + 10.75 + 85.25) / 8
=                                                                      23.15625

kifuwarabe-futsu.png
「 23.15625」

ramen-tabero-futsu2.png
「 分散してる感じがするよな」

ohkina-hiyoko-futsu.png
「 するのかなあ」

ベルヌーイ分布の分散

📖 統計における分散とは?意味や求め方、標準偏差との違いを詳しく解説します

ramen-tabero-futsu2.png
「 👆 分散の説明をしても 難しいだろうから、 簡単なところから やろうぜ」

// 0 の 2 乗
= 0 ^ 2
= 0 * 0
=   0

// 1 の 2 乗
  1 ^ 2
= 1 * 1
=   1

ramen-tabero-futsu2.png
「 👆 0 の 2乗は 0、 1 の 2乗は 1 というのは OK?」

kifuwarabe-futsu.png
「 OKだぜ」

20210808go33a1.png

ramen-tabero-futsu2.png
「 👆 0 と 1 で、2乗して面積を求めているが、結局 面積も 0、 1 なことを知れだぜ」

kifuwarabe-futsu.png
「 知ったぜ」

ramen-tabero-futsu2.png
「 👆 1辺の長さを p とする正方形の面積は、 p だぜ。
これは p は 0 か 1 のどっちかしか無いから はっきりしてるぜ」

ohkina-hiyoko-futsu.png
「 分かった、分かった」

ベルヌーイ分布の分散の式変形

20210812go67.png

ramen-tabero-futsu2.png
「 👆 この数式は 何を書いてるのか 考えてみようぜ?」

ohkina-hiyoko-futsu.png
「 プログラムに書き直したら いいんじゃない?」

return E(k^2) - E(k)^2
if k==0:
    return E(0^2) - E(0)^2
elif k==1:
    return E(1^2) - E(1)^2
if k==0:
    return E(0) - E(0)^2
elif k==1:
    return E(1) - E(1)^2
if k==0:
    return (1-p) - (1-p)^2
elif k==1:
    return p - p^2

20210812go71.png

20210812go70a2.png

return (1-p) * p

ramen-tabero-futsu2.png
「 👆 if文が 消えた……」

何度でもクリック!→

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

むずでょ の最近の記事