広告
ベイズ推論による機械学習入門【第1章まとめ】
ベイズ推論による機械学習入門を読んだので、再度読む際の一助となるようにまとめノートを上げておきます。質問や指摘があれば遠慮なくコメントください。
ベイズ推論の導入
複数データを観測することで事前分布の値の影響が次第に薄れていくことを確認するサンプルコード
import numpy as np
np.random.seed(4)
def calc_posterior(n, pri_a, pri_b):
"""
param
n: num of samples
pri_a: Prior probability of a
pri_b: Prior probability of b
"""
#0:red, 1:white
obs=[np.random.randint(0, 2) for _ in range(n)]
post_a=pri_a
post_b=pri_b
for i in obs:
post_a*=proba_a[i]
post_b*=proba_b[i]
ans_a=(post_a)/(post_a+post_b)
ans_b=(post_b)/(post_a+post_b)
return ans_a, ans_b
#条件付き確率 赤/白の順
proba_a=[2/3, 1/3]
proba_b=[1/4, 3/4]
print("pre_a=1/2, pre_b=1/2", calc_posterior(n=100, pri_a=1/2, pri_b=1/2))
#pre_a=1/2, pre_b=1/2 (0.999965918143797, 3.408185620303357e-05)
print("pre_a=1/4, pre_b=3/4", calc_posterior(n=100, pri_a=1/4, pri_b=3/4))
#pre_a=1/4, pre_b=3/4 (0.9999829587815002, 1.7041218499696e-05)
コメントを残す