はじめに
機械学習プロフェッショナルシリーズの『トピックモデル』の勉強時に自分の理解の助けになったことや勉強会資料のまとめです。トピックモデルの各種アルゴリズムを「数式」と「プログラム」から理解することを目指します。
この記事は、1.2.1項「ベルヌーイ分布」の内容です。ベルヌーイ分布の定義を説明して、平均と分散を導出します。最後にRで可視化します。
【前節の内容】
【他の節一覧】
【この節の内容】
1.2.1 ベルヌーイ分布
・定義
コインの裏表やくじの当たり外れのように、2値をとる変数の確率分布をベルヌーイ分布という。(パラメータ等を太字で書くときは、それが集合$\boldsymbol{\phi} = (\phi_1, \cdots, \phi_V)$であることを表している。ベルヌーイ分布では2値しかとらないため、それに対応する確率を$\phi,\ 1 - \phi$で表現できる。つまりここでは$\phi$が1つの値であるため太字ではない。)
例えば、コインを投げて表なら1、裏なら0である変数を$x$とするとき、次のように書く。
また、$x$が取り得る値の確率$p(x)$を$\phi$を使って以下とする。
このときの確率分布がベルヌーイ分布である。
この式は、コインが表、つまり$x = 1$のとき
となり、またコインが裏、つまり$x = 0$のときは
となる。このように、$x$の値に対応した確率となる式によって確率分布が表現されている。
次からは、この分布の平均と分散を求めていく。
・平均の導出
確率分布が取り得る値$x$とその値となる確率$p(x)$とを掛けて、和をとった値が平均となる。
【途中式の途中式】
- 平均の定義式(1.5)より、式を立てる。
- $p(x) = \mathrm{Bernoulli}(x | \phi)$で置き換える。
- $\sum_{x=0}^{1}$を展開する。
- 式を整理する。
(平均が確率であるという意味ではなく、平均が確率の値と等しくなるという意味である。)
・分散の導出
1.1.7項より、「$x$の2乗の平均」と「$x$の平均の2乗」との差が分散となる。そこでまずは、「$x$の2乗の平均」を求める。
「$x$の2乗の平均」と「$x$の平均の2乗」との差を求める。
・可視化
表となる確率が0.6の歪んだコインを1回投げたときの分布を確認します。
# 利用パッケージ library(tidyverse) # 表となる確率を指定 phi = 0.6 # 作図 tibble( x = 0:1, # 表の回数 prob = c(1 - phi, phi) # 確率 ) %>% ggplot(aes(x = x, y = prob)) + # データ geom_bar(stat = "identity", position = "dodge", fill = "#00A968") + # 棒グラフ labs(title = "Bernoulli Distribution", subtitle = paste0("phi=", phi)) # ラベル
ベルヌーイ分布とは、2値をとる確率変数を1回試行したときの確率分布であった。次に、$N$回行う場合の分布について考えていく。
参考書籍
- 岩田具治(2015)『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社
- 須山敦志(2017)『ベイズ推論による機械学習入門』(機械学習スタートアップシリーズ)講談社
おわりに
2020/06/17:加筆修正の上、記事を分割しました。
Osaka.Rのリモート朝モク会にて少しずつ修正しています。
【次節の内容】