ベイズ推論による機械学習入門【第1章解説まとめ】 | LI techno  

ベイズ推論による機械学習入門【第1章解説まとめ】

ベイズ推論による機械学習入門

ベイズ推論による機械学習入門【第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)

グラフィカルモデル

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です