关于beta分布的理解

http://maider.blog.sohu.com/306392863.html
背景
在Machine Learning中,有一个很常见的概率分布叫做Beta Distribution:
同时,你可能也见过Dirichelet Distribution:
那么Beta Distribution和Dirichlet Distribution的意义何在呢?

解释
1. 如果给你一个硬币,投这个硬币有\theta的概率抛出Head,有(1-\theta)的概率抛出Tail。如果在未来抛了五次这个硬币,有三次是Head,有两次是Tail,这个\theta最有可能是多少呢?如果你必须给出一个确定的值,并且你完全根据目前观测的结果来估计\theta,那么\theta = 3/5。
 
2. 如果未来抛出五次硬币,全部都是Head。那么按照1中的逻辑,你将估计\theta为1。也就是说,你估计这枚硬币不管怎么投,都朝上!
 
3. 可是,你想这或许是巧合:世界上没有这么屌的硬币,硬币还是有一定可能抛出Tail的。就算观测到再多次的Head,抛出Tail的概率还是不可能为0。

4. 这时候,Bayesian公式横空出世(如下图所示)。我们在估计\theta时,心中先有一个估计,即先验概率。这个估计,表现在Probability中,就是一个概率分布。 通俗得来讲,我们不再认为\theta是个固定的值了。
5. 在上面的Bayesian公式中,p(\theta)就是个概率分布。这个概率分布可以是任何概率分布,比如高斯分布,比如我们想要说的Beta Distribution。下图是Beta(5,2)的概率分布图。如果我们将这个概率分布作为p(\theta),那么我们在 还未抛硬币前 ,便认为\theta很可能接近于0.8,而不大可能是个很小的值或是一个很大的值。即,我们在抛硬币前,便估计这枚硬币更可能有0.8的概率抛出正面。
6. 虽然p(\theta)可以是任何种类的概率分布,但是如果使用Beta Distribution,会让之后的计算更加方便。我们接着继续看便知道这是为什么了。况且,通过调节Beta Distribution中的a和b,你可以让这个概率分布变成各种你想要的形状!Beta Distribution已经很足够表达你事先对\theta的估计了。
 
7. 现在我们已经估计好了p(\theta)为一个Beta Distribution,那么p(X|\theta)是多少呢?其实就是个二项分布。继续以1中抛5次硬币抛出3次Head为例,X=抛5次硬币抛出3个Head的事件。
 
8. Bayesian公式下的p(X)是个Normalizer,或者叫做marginal probability。在\theta离散的情况下,p(X)就是\theta为不同值的时候,p(X|\theta)的求和。比如,如果我们事先估计硬币抛出正面的概率只可能是0.5或者0.8,那么p(X) = p(X|\theta=0.5)+p(X|\theta=0.8),计算时分别将\theta=0.5和\theta=0.8代入到7中的公式中。而如果我们用Beta Distribution,\theta的概率分布在[0,1]之间是连续的,所以要用积分。

9. p(\theta)是个Beta Distribution,那么在观测到X=抛5次硬币中有3个head的事件后,p(\theta|X)依旧是个Beta Distribution!只是这个概率分布的形状因为观测的事件而发生了变化。
10. 因为 观测前后,对\theta估计的概率分布均为Beta Distribution,这就是为什么使用Beta Distribution方便我们计算的原因了。当我们得知p(\theta|X)=Beta(\theta|a+3, b+2)后,我们就只要根据Beta Distribution的特性,得出\theta最有可能等于多少了。(即\theta等于多少时,观测后得到的Beta distribution有最大的概率密度)。

例如下图,仔细观察新得到的Beta Distribution,和(5)中的概率分布对比,发现峰值从0.8左右的位置移向了0.7左右的位置。这是因为新观测到的数据中,5次有3次是head(60%),这让我们觉得,\theta没有0.8那么高。但由于我们之前觉得\theta有0.8那么高,我们觉得抛出head的概率肯定又要比60%高一些!这就是Bayesian方法和普通的统计方法不同的地方。我们结合自己的先验概率 观测结果来给出预测。
 
11. 如果我们投的不是硬币,而是一个多面体(比如筛子),那么我们就要使用Dirichlet Distribution了。使用Dirichlet Distributio的目的,也是为了让观测后得到的posterior probability依旧是Dirichlet Distribution。

12. 比如,我们抛掷一个三面体。抛出这三个面的概率分别为\theta_1, \theta_2和\theta_3。不论 \theta_1, \theta_2和\theta_3如何分布,它们相加必须等于1。那它们的概率分布,是在一个立体的空间里的一个面。这个面由\theta_1+\theta_2+\theta_3=1表示。这个面上的任意一点,表示某种 \theta_1, \theta_2和\theta_3组合的概率密度。下三图分别由不同的\alpha vector初始化得到不同的Dirichlet Distribution,红颜色代表概率密度较大,蓝颜色的区域概率密度较小。
13. Dirichlet Distribution和Beta Distribution都叫做Conjugate Prior。根据你的likelihood function,你可以选择对应的conjugate prior作为你对p(\theta)事先的估计。



 

参考资料:
### Beta 分布的定义 Beta 分布是一种定义在区间 $[0, 1]$ 上的概率分布,主要用于建模概率参数的不确定性。其概率密度函数的形式如下: $$ f(x; \alpha, \beta) = \frac{x^{\alpha-1}(1-x)^{\beta-1}}{B(\alpha, \beta)} $$ 其中,$ B(\alpha, \beta) $ 是 Beta 函数,表示为: $$ B(\alpha, \beta) = \int_0^1 t^{\alpha-1}(1-t)^{\beta-1} dt $$ 这里的 $\alpha > 0$ 和 $\beta > 0$ 是形状参数,决定了分布的具体形态[^1]。 --- ### Beta 分布的应用场景 #### 1. **贝叶斯统计中的先验分布** 在贝叶斯分析中,Beta 分布常被用作二项分布或伯努利分布的共轭先验分布。这意味着如果假设某个事件发生的概率服从 Beta 分布,则在观测到一系列实验结果后,该概率的后验分布仍然是一个 Beta 分布。这种性质使得 Beta 分布成为贝叶斯推断的理想工具之一[^3]。 #### 2. **模型化概率参数的不确定性** 当需要估计某事件的发生概率时,可以利用 Beta 分布来描述对该概率的信念程度。例如,在抛掷一枚硬币的情况下,可以通过调整 $\alpha$ 和 $\beta$ 参数来反映我们对正面朝上概率的不同假设。 #### 3. **随机数生成器的设计** 由于 Beta 分布支持灵活调节形状参数以适应不同的需求,因此它也经常出现在随机数生成算法中作为基础构建模块。比如 Gibbs Sampling 方法会涉及从条件分布抽样,而某些情况下这些条件分布可能恰好就是 Beta 形式的。 #### 4. **机器学习领域内的超参优化** 在一些复杂的机器学习框架里(如变分自编码器 VAE 或者深度强化学习),可能会引入基于 Beta 的机制来进行探索与开发之间的权衡处理。 --- ```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import beta # 定义不同参数下的 Beta 分布 x = np.linspace(0, 1, 100) params = [(1, 1), (2, 5), (8, 2)] plt.figure(figsize=(10, 6)) for alpha, beta_param in params: y = beta.pdf(x, alpha, beta_param) label = f'α={alpha}, β={beta_param}' plt.plot(x, y, label=label) plt.title('Probability Density Function of Beta Distribution') plt.xlabel('Value') plt.ylabel('Density') plt.legend() plt.grid(True) plt.show() ``` 上述代码展示了如何绘制具有不同参数组合的 Beta 分布曲线图,有助于直观理解其变化规律。 --- ### 总结 综上所述,Beta 分布不仅理论意义深远,而且实际用途广泛。无论是用于刻画简单的二元试验还是复杂系统的内部结构,都能发挥重要作用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值