欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机器学习储备(12):二项分布的例子解析

程序员文章站 2022-06-06 22:20:23
...

01

二项分布

如果实验满足以下两种条件:
在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立;
相互独立,与其它各次试验结果无关;
事件发生与否的概率在每一次独立试验中都保持不变。
则实验的结果对应的分布为二项分布。

当试验次数为1时,二项分布服从0-1分布。

02

例子解析

例如,一堆苹果有好的,有坏的,从中取10次,定义随机变量:从中取得好苹果的个数 X,那么认为X服从二项分布。

实验得到的结果:比如经过10次实验后分布结果为:7好,3坏;再经过10次实验后分布结果为:8好,2坏。经过这20次实验,可以根据最大似然估计求出我们可求出二项分布的参数theta:从这堆苹果中取到一个好苹果的概率。

因为在我们所做的20次实验中,出现了15好,5坏,因此一次取到好苹果概率为:15/20 = 0.75,根据最大似然估计的精神,认为从整个样本中取到一个好苹果的概率也为:0.75。

下面看下,出现这种分布的概率有多大,由二项分布的概率计算公式:

其中:k表示出现好苹果的个数,p表示一次实验出现好苹果的概率
k的取值范围为:0~m,最小值为0个好苹果,最大值为m个好苹果(所有的都是好苹果)。

03

二项分布图

在以上我们的20次随机试验中,最终得到了15个好果,那么如果依次看下好苹果的个数 k = 0~20,它们的各自的分布概率P,变化曲线图是怎样的呢?

为此在Jupyter NoteBook中实验下,

#计算组合数
from scipy.special import comb, perm
import numpy as np
import matplotlib.pyplot as plt

#二项分布概率计算公式
def getp(m,n,pa):
    if m < n:
        return 0.0
    return comb(m,n)*(pa**n)*((1-pa)**(m-n))

#获得画图数据
klist = np.arange(21)
plist = [ getp(m=20,n=k,pa=0.75) for k in  klist]
plt.plot(klist,plist)
plt.xlabel('number of good apples')
plt.ylabel('k-distribution proba')
plt.title('distribution proba')
plt.xticks(np.arange(0,22,1))
plt.grid()
plt.show()

最终得到的二项分布图如下:可以看到在k = 15时,取得概率的最大值为0.2,也就是说在取到15个好苹果的概率是最大的。

取到0~8个好果的概率是很低的,但是取到19,20个好果的概率同样也是很低的

说明一点:

在这20个苹果分布中,我们对所取得的好果的个数的期望值:20*0.75=15个,可以看到上面的二项分布图在 k = 15即取得15个好果的概率是最大的,言外之意,期望值就是分布中最有可能发生的那个分布吧:15好果,5坏果。

04

二项分布总结

二项分布是随机变量为离散型随机变量且当试验次数为1时服从0-1分布,它是重复n次的独立的伯努利试验。这种分布下,对个数的期望等于二项分布中概率发生最大的取值个数。

谢谢您的阅读。

机器学习储备(12):二项分布的例子解析