PRML:二元变量分布
来源:互联网 发布:淘宝体检中心进不去 编辑:程序博客网 时间:2024/06/14 10:57
伯努利分布
考虑二元随机变量
其中 Bernoulli distribution
),其概率分布可以写成:
均值和方差为:
伯努利分布的最大似然估计
考虑一组
对数似然为
对数似然值只依赖于
对
即最大似然估计值为样本均值(sample mean
),若样本中
考虑抛三次硬币出现了三次正面的情况,此时
为了解决这个问题,我们可以考虑引入先验知识。
二项分布
给定数据总数 binomial distribution
)。
从伯努利分布的似然函数中可以看出它应该正比于
其中
是组合数。
验证它是一个概率分布,二项式定理给出:
例如下面
import matplotlib.pyplot as pltimport numpy as npimport scipy as sp%matplotlib inlinefrom scipy.stats import binomn = 20mu = 0.6X = binom.rvs(n, mu, size=10000)fig, ax = plt.subplots()ax.hist(X, bins=range(21), rwidth=0.7)ax.set_xlabel("$m$", fontsize='x-large')# ax.set_xlim(0, 21)# ax.set_yticks(np.arange(0, 0.31, 0.1))# ax.set_xticks(np.arange(0.5, 10.6, 1))# ax.set_xticklabels(range(21))ax.set_title(r'$N = 20, \mu=0.6$', fontsize='x-large')plt.show()
计算均值时考虑下式对
beta 分布
之前看到,当数据量较少时,最大似然的结果很可能会过拟合。为了减少这样的情况,从 Bayes 概率的观点出发,我们引入一个关于
我们观察到似然函数是一系列 conjugacy
)。
在这里,我们引入的是 beta
分布:
其中:
满足如下性质:
验证它是一个概率分布:
由定义
令
交换积分次序,原来
令
于是我们有:
其均值和方差为
求均值:
从归一化我们知道:
从而,利用
类似可以得到:
从而可以计算出方差。
from scipy.stats import betafig, axes = plt.subplots(2, 2,figsize=(10, 7))axes = axes.flatten()A = (0.1, 1, 2, 8)B = (0.1, 1, 3, 4)xx = np.linspace(0, 1, 100)for a, b, ax in zip(A, B, axes): yy = beta.pdf(xx, a, b) ax.plot(xx, yy, 'r') ax.set_ylim(0, 3) ax.set_xticks([0, 0.5, 1]) ax.set_xticklabels(["$0$", "$0.5$", "$1$"], fontsize="large") ax.set_yticks([0, 1, 2, 3]) ax.set_yticklabels(["$0$", "$1$", "$2$", "$3$"], fontsize="large") ax.set_xlabel("$\mu$", fontsize="x-large") ax.text(0.1, 2.5, r"$a={}$".format(a), fontsize="x-large") ax.text(0.1, 2.2, r"$b={}$".format(b), fontsize="x-large")
有了先验分布,我们的后验分布为
其中
由共轭性,我们知道后验分布还是一个 beta
分布,从而有
至此,我们看到,如果我们观测到了一组
更进一步,当有新的数据到来时,后验概率可以看成新的先验概率,因此这个过程可以序列化进行。下图表示观测到一个新的
xx = np.linspace(0, 1, 100)fig, axes = plt.subplots(1, 3, figsize=(10, 2))axes = axes.flatten()axes[0].plot(xx, beta.pdf(xx, 2, 2), 'r')axes[0].set_ylim(0, 2)axes[0].text(0.1, 1.6, "prior", fontsize="x-large")axes[0].set_xlabel("$\mu$", fontsize="x-large")axes[0].set_xticks([0, 0.5, 1])axes[0].set_yticks([0, 1, 2])axes[1].plot(xx, xx)axes[1].set_ylim(0, 2)axes[1].text(0.1, 1.6, "likelihood", fontsize="x-large")axes[1].set_xlabel("$\mu$", fontsize="x-large")axes[1].set_xticks([0, 0.5, 1])axes[1].set_yticks([0, 1, 2])axes[2].plot(xx, beta.pdf(xx, 3, 2), 'r')axes[2].set_ylim(0, 2)axes[2].text(0.1, 1.6, "posterior", fontsize="x-large")axes[2].set_xlabel("$\mu$", fontsize="x-large")axes[2].set_xticks([0, 0.5, 1])axes[2].set_yticks([0, 1, 2])plt.show()
如果我们的目的是预测下一次实验的结果,那么我们有
而我们知道后验概率的分布,所以可以计算出其均值:
当
即趋向于最大似然的解。当
另外我们观察到,随着
另外考虑条件期望和方差的性质,我们有:
和
从而我们知道,从平均意义上来说,后验分布的方差要比先验分布的方差要小。后验分布在数据分布上的均值等于先验分布的均值
- PRML:二元变量分布
- PRML:多元变量分布
- 机器学习----分布问题(二元,多元变量分布,Beta,Dir)
- PRML 第二章 Beta分布
- PRML 第二章 多项式分布
- PRML 第二章 狄利克雷分布
- 【PRML】—— 共轭分布
- PRML 第二章 高斯分布
- PRML读书笔记——概率分布
- 二元随机变量函数的分布
- 2.1 二元变量
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- The Dirichlet Distribution 狄利克雷分布 (PRML 2.2.1)
- PRML学习总结之2------概率分布之一
- OPNET LINK : fatal error LNK1181如何解决
- Fox And Two Dots
- hdu 2642 (summerIII J) 二维树状数组
- 【GRE】做题记录和总结
- 楼房重建
- PRML:二元变量分布
- Android 图片浏览功能简单实现(画廊效果实现,支持放大缩小)
- 通过Android Studio查看SDK源码
- Python3.6笔记之腌制泡菜(pickle模块的用法)
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- “使用plt.savefig()保存图片时,一片空白”的解决方法
- Vray户型渲染
- (4)标签分类
- [Lydsy2017年4月月赛]抵制克苏恩