(番外篇1) 贝叶斯超参数的确定方法(附自适应搜索法、牛顿迭代法和二分查找法的python实现)
背景说明
- 在贝叶斯统计中,总体分布的参数 θ \theta θ不再被视为一个未知的常数处理,而是认为参数 θ \theta θ也有一个分布,事实上,由于 θ \theta θ是未知的不确定的东西,因此用概率分布的语言来描述是很有优势的。
- 参数 θ \theta θ一般需要先综合已有信息,确定好先验分布 π ( θ ) \pi(\theta) π(θ),然后利用新进的样本信息进行更新,从而得到后验分布 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x),这个过程中如果 π ( θ ) \pi(\theta) π(θ)与 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x)仍然是同一种分布,则称 π ( θ ) \pi(\theta) π(θ)是总体分布参数 θ \theta θ的共轭先验分布,共轭先验分布具有很好的性质,体现在计算简单和具备可解释性上。
- 常用的共轭先验分布有
总体分布 | 参数 | 共轭先验分布 |
---|---|---|
二项分布 | 发生概率 | 贝塔分布 |
正态分布 | 均值 | 正态分布 |
正态分布 | 方差 | 倒伽马分布 |
泊松分布 | 均值 | 伽马分布 |
指数分布 | 均值倒数 | 伽马分布 |
- 我们知道,二项分布在现实中是广泛存在的,因此当我们选择其先验分布为贝塔分布 B e ( α , β ) Be(\alpha,\beta) Be(α,β)时(共轭),我们还需要给其两个参数赋予初始值,这就是超参数确定问题。
确定超参数的几个方法
- 利用先验矩
- 利用先验分位数
- 利用先验矩和先验分位数
- 其他方法
一个实例:二项分布参数p的超参数确定
思路分析
根据上文所讲的,二项分布的共轭先验分布为 B e ( α , β ) Be(\alpha,\beta) Be(α,β),我们将采用3. 利用先验分位数来确定。
我们根据先验信息,知道了 θ \theta θ的两个分位数,比如为上下四分位数 θ L \theta_{L} θL和 θ U \theta_{U} θU,因此可以得到两个方程式:
∫ 0 θ L Γ ( α + β ) Γ ( α ) Γ ( β ) θ α − 1 ( 1 − θ ) β − 1 d θ = 0.25 ∫ 0 θ u Γ ( α + β ) Γ ( α ) Γ ( β ) θ α − 1 ( 1 − θ ) β − 1 d θ = 0.75 \begin{aligned} &\int_{0}^{\theta_L}\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1}d\theta = 0.25 \\ &\int_{0}^{\theta_{u}}\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1}d\theta = 0.75 \end{aligned} ∫0θLΓ(α)Γ(β)Γ(α+β)θα−1(1−θ)β−1dθ=0.25∫0θuΓ(α)Γ(β)Γ(α+β)θα−1(1−θ)β−1dθ=0.75