机器学习储备(12):二项分布的例子解析
来源:互联网 发布:开淘宝店物流怎么解决 编辑:程序博客网 时间:2024/06/05 18:59
请点击上面公众号,免费订阅。
交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!
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次的独立的伯努利试验。这种分布下,对个数的期望等于二项分布中概率发生最大的取值个数。
谢谢您的阅读。
请记住:每天一小步,日积月累一大步!
交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!
- 机器学习储备(12):二项分布的例子解析
- 机器学习储备(12):二项分布的例子解析
- 机器学习储备(13):概率密度和高斯分布例子解析
- 机器学习储备(1):协方差和相关系数
- 机器学习储备(9):matplotlib绘图原理及实例
- 机器学习储备(10):numpy之RandomState() 和 axis
- 机器学习储备(9):matplotlib绘图原理及实例
- 机器学习储备(8):numpy之linspace 和 logspace
- 机器学习储备(11):说说离散型随机变量
- 机器学习储备(11):说说离散型随机变量
- 关于储备(应急储备、管理储备、储备分析)的总结讨论
- 关于储备(应急储备、管理储备、储备分析)的总结讨论
- 机器学习储备(7):numpy一维数组和矩阵
- 二项分布的实现(np.random.binomial)
- 二项分布的实现(np.random.binomial)
- Netty学习前的知识储备
- 关于学习 unity3D 的知识预储备
- 学习网页前的网页知识储备
- sqlMapConfig.xml配置报错1
- JavaScript中的数组
- Spring WebSocket初探2 (Spring WebSocket入门教程)
- u'string' 变量 unicode
- 机器学习储备(11):说说离散型随机变量
- 机器学习储备(12):二项分布的例子解析
- Android Architecture Components应用架构组件源码详解(基于1.0以上)(第二篇ViewModel和LiveData)
- android wifi间的通讯
- 基本查询 习题1-11
- 前后端分离项目shiro验证
- kafka常用命令(cdh5.10.0+kafka)
- 30分钟掌握ES6/ES2015核心内容(上)
- SCI投稿过程总结、投稿状态解析、修稿处理、拒稿后对策及接受后总结等
- struts2 中的 addActionError 、addFieldError、addActionMessage的方法