??當條件成立時,事件發(fā)生的概率。如下所示:
??先驗概率(Prior Probability)是指根據以往經驗和分析得到的概率,它不是根據有關自然狀態(tài)的全部資料測定的,而只是利用現有的材料(主要是歷史資料)計算的。比如,、都是先研概率。
??后驗概率使用了有關自然狀態(tài)更加全面的資料,既有先驗概率資料,也有補充資料。如下所示:
? 發(fā)生的概率是全部原因引起發(fā)生的概率的總和,即每個原因對結果的發(fā)生有一定的作用,結果發(fā)生的可能性與各種原因的作用大小有關。如下所示:
??在事件已經發(fā)生的條件下,貝葉斯公式可用來尋找導致發(fā)生各種原因的概率。如下所示:
??Beta分布是指一組定義在(0,1)區(qū)間的連續(xù)概率分布,它有兩個參數和。其概率密度函數為:
??其中,是Gamma函數,隨機變量服從參數和的Beta分布記為。概率密度函數曲線如下所示:
??當和的時候,Beta分布就是一個均勻分布:
(1)伯努利分布和二項分布
??伯努利分布(Bernoulli Distribution)是一種離散分布,又稱為'0-1分布'或'兩點分布'。滿足只有兩種可能,試驗結果相互獨立且對立的隨機變量通常稱為伯努利隨機變量。二項分布(Binomial Distribution)也是一種離散型概率分布,又稱為重伯努利分布。
(2)Beta分布與二項分布
??進行重伯努利試驗,假設其試驗成功的概率服從先驗概率密度分布。如果試驗結果出現次試驗成功,那么試驗成功的概率的后驗概率密度分布為。
說明:方程推導過程省略,感興趣可參考[4]。在機器學習的主題模型中遇到的2對共軛分布,即Beta分布是二項分布的共軛分布,Dirichlet分布是多項式分布的共軛分布(Beta分布和二項式分布的多維推廣)。
??拋1次硬幣就是1重伯努利分布,拋次硬幣就是重伯努利分布。根據頻率學派,每次拋硬幣頭朝上的概率。但貝葉斯學派假設,而生成的觀測數據。一個Beta先驗分布連同二項分布生成的觀測數據將形成一個Beta后驗分布,即。隨著拋硬幣次數的增加,后驗概率更新的Python腳本如下所示:
import numpy as np
from matplotlib import pyplot as plt
import scipy.stats as stats
dist = stats.beta
n_trials = [0, 1, 2, 3, 4, 5, 8, 15, 50, 500]
# 生成伯努利隨機變量
data = stats.bernoulli.rvs(0.5, size=n_trials[-1])
x = np.linspace(0, 1, 100)
for k, N in enumerate(n_trials):
sx = plt.subplot(len(n_trials) / 2, 2, k + 1)
plt.xlabel('$p$, probability of heads') if k in [0, len(n_trials) - 1] else None
plt.setp(sx.get_yticklabels(), visible=False)
heads = data[:N].sum()
y = dist.pdf(x, 1 + heads, 1 + N - heads)
plt.plot(x, y, label='observe %d tosses, \n %d heads' % (N, heads))
plt.fill_between(x, 0, y, color='#348ABD', alpha=0.4)
plt.vlines(0.5, 0, 4, color='k', linestyles='--', lw=1)
leg = plt.legend()
leg.get_frame().set_alpha(0.4)
plt.autoscale(tight=True)
plt.suptitle('Bayesian updating of posterior probabilities', y=1.02, fontsize=14)
plt.tight_layout()
plt.show()
后驗概率更新圖如下所示:
可見隨著觀察數據的增多,概率密度越來越靠近真實值0.5,雖然不會完全等于0.5。參考文獻:
[1]一個例子搞懂條件概率、先驗概率、后驗概率、全概率公式和貝葉斯公式:https://blog.csdn.net/venom_snake/article/details/89925155
[2]Think Bayes - 我所理解的貝葉斯定理:https://blog.csdn.net/csshuke/article/details/62884071
[3]貝塔分布:https://baike.baidu.com/item/%E8%B4%9D%E5%A1%94%E5%88%86%E5%B8%83/8994021
[4]深入理解Beta分布:從定義到公式推導:https://zhuanlan.zhihu.com/p/69606875
[5]scipy.stats.beta:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.beta.html
聯(lián)系客服