概率分布详解 Bernoulli、Binomial、Beta
来源:互联网 发布:数据连接不上怎么办 编辑:程序博客网 时间:2024/06/03 18:27
Bernoulli、Binomial、Beta 分布详解
本文关注 离散随机变量 discrete random variable 相关的分布;相对的,连续随机变量 continuous random variable 如经典的 高斯分布(Gaussian Distribution)会在其他文章中介绍。
到底什么是 distribution “分布” ?
分布是一个抽象的概念,从概率统计的角度说,分布是一个数学函数 that providing the probabilities of occurrence of different possible outcomes in an experiment.
通俗来说,分布可以看做是对 random variable 随机变量 的一种描述,分布可以给出所有 随机变量 的取值对应的概率(连续随机变量得到的是可能性PDF),这是正向过程。
我们真正观察到的结果只是采样,我们预测的结果只是期望值,而对于随机变量的分布本身,我们只能通过大量的采样来猜测(也可以结合先验知识),这是反向过程。
典型的离散随机变量的分布有:
- 伯努利分布(Bernoulli Distribution)
- 二项分布(Binomial Distribution)
- 分类分布(Categorical Distribution)
- 多项分布(Multinomial Distribution)
以及他们的共轭先验分布:
- 贝塔分布(Beta Distribution)
- 狄利克雷分布(Dirichelet Distribution)
貌似很多分布,但都以简单的 Bernoulli 为基础建立,非常规律,而且很多性质是相同的。本文将从 Bernoulli 展开介绍各个分布,给出最大似然的推导应用,最后再介绍 conjugacy 的概念。
1. 各分布详解
1.1 伯努利分布(又称 01分布)
这是最基本的离散随机变量的概率分布,相当于统计理论的 Hello World,我们记一个变量
我们通常引入
这一类分布称为 伯努利分布:
没有比这更简单的分布了,仅定义一个参数,有两种可能结果。但是在机器学习中 Bern 却极其常用,例如 Logistic 函数值实际就是对 Bernoulli Distribution 中参数
1.2 伯努利分布 与 二项分布、分类分布、多项分布
总的来说,伯努利分布 是基础;二项分布 推广到N次试验,分类分布 推广到单次试验K种结果,多项分布 推广到N次试验且每次K种结果。
- Bernoulli:单次随机试验,只有两种可能的结果;也可以称为N=1时的二项分布。
Bern(y|μ)=μy(1−μ)1−y - Binomial:N次独立 Bernoulli 试验,得到成功次数结果的离散分布;例如5次抛硬币,正面朝上的次数(这时有6种可能)的离散概率分布。
Bin(m|N,μ)=N!m!(N−m)!μm(1−μ)(N−m) - Categorical:对 Bernoulli 的推广,也是单次随机试验,有K种可能的结果(互斥),很少有用,公式和 Multinomial 类似(去掉阶乘部分),不写了。
- Multinomial:N次独立试验,每次试验有K种可能的结果(互斥),每次试验也被称为 Categorical,可以说是最 general 的分布。最常用的例子是扔骰子。
Mult(m1,m2,... ,mK|μ1,μ2,... ,μK,N)=N!m1!m2! ... mK!∏k=1Kμmkk s.t.∑kKμk=1
上述公式都非常简洁,还可以更简洁:
- 繁琐的阶乘计算是用于列举出特定次数时的组合数(例如N次抛硬币m向上一共有多少种组合),如果假设只有N=1次实验的话可以直接消去(0!=1!=1)。
- Bernoulli 试验结果只有俩种可能,所以使用一个
μ 足够,以1−μ 标识另一种情况的概率。而 Multinomial 则显示地指定了所有μk ,其实这些分布都可以用 Multinomial 的形式表示。
2. MLE 最大似然估计 与 各个分布
2.1 Bernoulli (Binomial N=1)
假设我们得到了对于二元(0或1)随机变量
- 写出似然函数:
L=p(D|μ)=∏n=1Np(yn|μ)=∏n=1Nμyn(1−μ)1−yn - 似然函数取对数化简整理:
l=ln p(D|μ)=∑n=1Nln{μyn(1−μ)1−yn}=∑n=1N{ynlnμ+(1−yn)ln(1−μ)} - 最大化似然函数,取导数为0的极值:
∂ l∂ μ=∑n=1N{yn1μ−(1−yn)11−μ}=1μ(1−μ)∑n=1N{yn−μ}=0 μMLE=1N∑n=1Nyn, μMLE=mN
上式中
这里还有一个很有意思的结果,似然函数取对数的结果就是 Logistic Regression 的 loss 函数形式,因为 Logistic Regression 本身就基于 Bernoulli,如同 Linear Regression 基于 Gaussian Distribution。后面会专门以 GLM(General Linear Model)为话题在其他文章中深入讨论。
2.2 Binomial
随机变量
- 写出似然函数:
L=p(m|μ,N)=Bio(m|μ,N)=N!m!(N−m)!μm(1−μ)(N−m) - 似然函数取对数化简整理(阶乘项作为 constant 由
α 替换):l=ln p(m|μ,N)=α+mlnμ+(N−m)ln(1−μ) - 最大化似然函数,取导数为0的极值:
∂ l∂ μ=mμ−N−m1−μ=1μ(1−μ)(m−μN)=0μMLE=mN
结果与 Bernoulli 完全一致,我们把 N次独立 Bernoulli trials 看作分开的一系列 Bernoulli 分布,或者一个 Binomial 分布,分析的最终结果是等价的。
2.3 Categorical (Multinomial N=1)
同样地,假设我们得到了对于多元(K种可能结果)随机变量
- 写出似然函数(设
mk 为观察到yn=k 的数量):L=p(D,μ)=∏n=1Np(yn|μ)=∏n=1N∏k=1Kμxnkk=∏k=1Kμmkk - 似然函数取对数化简整理:
l=ln p(D|μ)=∑k=1Kmklnμk - 最大化似然函数,这里需要额外注意,
μk 有一个∑μk=1 的约束,所以使用拉格朗日乘子法引入 Lagrange multiplierλ 来包含这一约束,所以最大化的目标变为:Lagrange=∑k=1K{mklnμk}+λ(∑k=1kμk−1)∂ Lagrange∂ μk=mkμk+λ=0, μk=−mkλconsider the constraint, ∑k=1kμk=−1λ∑k=1kmk=1,λ=−Nfinally, μMLEk=mkN
Categorical 类似 Bernoulli,也符合直观认知,另外也以之前 Bernoulli -> Binomial 的方式,推广到 Multinomial,结果是一致的,这里不再展开。
3. Conjugacy 共轭分布
3.1 Defined by Bayes
考虑贝叶斯理论:
上式中对于属于 指数族分布 exponential family 形式的 likelihood 函数,我们都能找到一个 共轭先验分布 conjugate prior,使得 prior 和 posterior 的属于同一种分布,相关函数形式一致。通常这个 conjugate prior 也属于 exponetial family。另外一点,这里
Beta 是 Bernoulli、Binomial、Negative Binomial 的共轭先验分布;
Dirichelet 是 Categorical、Multinomial 的共轭分布。
3.2 Beta 与 Conjugacy
该分布定义为:
该分布描述的随机变量
注意,Beta 作为 Bernoulli 共轭先验分布,可以描述
另外,这里的
很明显和 Beta 分布的形式相似,而 Beta 分布使用的 Gamma函数
上式把复杂的阶乘以及 Gamma 函数替换为一个 constant
以上就是 Beta 作为 Binomial 共轭先验分布的完整表述和证明!以 Beta 为 prior,Binomial 为 likelihood,得到的 posterior 还是一个 Beta 分布,实际上仅仅是参数
以上稍显tricky的一步推导是:用于 normalization 的 constant 部分被我们直接省略了;这是因为我们发现分子
这里涉及的概率转换的过程相当于以下任意一个公式:
posterior=likelihood∗priorevidence p(μ|m)=p(m|μ) p(μ)p(m) Beta=Bin ∗ Betaconstant
Dirichelet 和 Beta 类似,是把俩种结果推广到K种结果,这里不展开详述了。
3.3 MLE (Maximum Likelihood Estimate) to MAP (Maximum A Posterior)
这里结合实例,讲解 Beta 分布的实践应用,实际上这是从 MLE 到 MAP 的思路转换(另外一篇文章里面结合 regularization 的角度详述过俩者关联,频率派 vs. 贝叶斯派)。
例如我要估计一个硬币的抛硬币正面向上概率
也就是说我们估计硬币向上的概率 100%!这个结论明显太激进,属于 overfitting,很可能是因为我们采样数据太有限造成的。为了避免 overfitting,常规的思路就是由 MLE 转为 MAP。
我们这里使用 Beta 作为 prior,我们的先验知识其实由 Beta 分布的
Figure 1. Probability Density Function of Beta Distribution
Beta 的概率密度分布函数(也就是
MAP 显然比 MLE 平缓很多,因为其权衡了 prior 和 likelihood,至于到底有多敏感,可以根据参数调控。
这里还有非常有意思的反直觉的推论:如果你连续抛一枚硬币,发现都是正面朝上时,应该如何预测一下一次结果?应该预测正面朝上。
我们最初的先验认为正反面概率一致,但是后续的观察产出的后验表示朝上的概率更高,或许这枚硬币本身不均衡呢?所以我们下一次的预测应该基于后验来判断。
- 概率分布详解 Bernoulli、Binomial、Beta
- 概率分布-beta分布
- 伯努利分布(Bernoulli distribution)
- 概率分布之Beta分布与Dirichlet分布
- C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码
- Beta-Binomial 共轭
- Random Number系列:伯努利分布(Bernoulli)
- beta分布
- Beta分布
- Beta分布
- beta分布
- beta分布
- 概率分布
- 概率分布
- 概率分布
- 概率分布
- 统计学 分布篇 - Binomial Distribution(二项分布)
- Beta分布与Dirichilet分布
- JAVA 串口编程 (三)
- 运用WIN32 API的纯C串口读取程序
- fgm实例练习笔记-1.6记住密码提示框
- 初学者的工作!
- Go语言范围(Range)
- 概率分布详解 Bernoulli、Binomial、Beta
- Maven install 时出现Unable to locate the Javac Compiler 解决办法
- Go语言集合(Map)
- 前端资源汇集
- Hash的命令介绍与源代码剖析笔记(5)
- HDU 1272 小希的迷宫 (并查集+图论基本知识的运用)
- JS入门
- Mysql的binlog日志详解
- hdu2446--二分搜索+打表