机器学习笔记
第一章 机器学习简介
第二章 感知机
第三章 支持向量机
第四章 朴素贝叶斯分类器
第五章 Logistic回归
第六章 线性回归和岭回归
第七章 多层感知机与反向传播【Python实例】
第八章 主成分分析【PCA降维】
第九章 隐马尔可夫模型
第十章 奇异值分解
第十一章 熵、交叉熵、KL散度
第十二章 什么是范数【向量范数、矩阵范数】
第十三章 熵、交叉熵、KL散度
第十四章 极大似然估计、最大后验估计、贝叶斯估计
文章目录
- 机器学习笔记
- 一、贝叶斯公式
- 二、先验后验
- 1 定义
- 2 共轭先验
- 三、极大似然估计(MLE)
- 四、最大后验概率估计(MAP)
- 五、贝叶斯估计
- 参考资料
本节我们介绍统计学中常用的三种参数估计方法:
- 极大似然估计(MLE)是统计学中常用的参数估计方法,它基于观测数据,寻找能够最大化给定数据的观测概率(似然函数)的参数值。
- 最大后验估计(MAP)是贝叶斯统计学中的一种方法,结合了观测数据和先验信息,通过贝叶斯定理计算后验概率,并寻找能最大化后验概率的参数值。
- 贝叶斯估计是一种基于完全的贝叶斯框架的参数估计方法,通过计算参数的后验分布来进行参数估计,提供了对参数估计的完整概率分布信息。
一、贝叶斯公式
首先我们介绍回顾一下概率论中的几个常用公式.
- 条件概率:
P ( A ∣ B ) = P ( A , B ) P ( B ) P(A \mid B)=\frac{P(A, B)}{P(B)} P(A∣B)=P(B)P(A,B)
转换为乘法形式:
P ( A , B ) = P ( B ) × P ( A ∣ B ) = P ( A ) × P ( B ∣ A ) P(A, B)=P(B) \times P(A \mid B)=P(A) \times P(B \mid A) P(A,B)=P(B)×P(A∣B)=P(A)×P(B∣A)
- 全概率公式
如果事件 A 1 , A 2 , A 3 , … , A n A_{1}, A_{2}, A_{3}, \ldots, A_{n} A1,A2,A3,…,An 构成一个完备事件组, 即它们两两互不相容(互斥), 其和为 全集; 并且 P ( A i ) P\left(A_{i}\right) P(Ai) 大于 0 , 则对任意事件 B B B 有
P ( B ) = P ( B ∣ A 1 ) P ( A 1 ) + … + P ( B ∣ A n ) P ( A n ) = ∑ i = 1 n P ( B ∣ A i ) P ( A i ) P(B)=P\left(B \mid A_{1}\right) P\left(A_{1}\right)+\ldots+P\left(B \mid A_{n}\right) P\left(A_{n}\right)=\sum_{i=1}^{n} P\left(B \mid A_{i}\right) P\left(A_{i}\right) P(B)=P(B∣A1)P(A1)+…+P(B∣An)P(An)=i=1∑nP(B∣Ai)P(Ai)
上面的公式称为全概率公式。全概率公式是对复杂事件 A A A 的概率求解问题转化为了在不同情况下发 生的 简单事件的概率的求和问题。
- 贝叶斯公式
由条件概率的乘法形式可得:
P ( A ∣ B ) = P ( B ∣ A ) P ( B ) × P ( A ) P(A \mid B)=\frac{P(B \mid A)}{P(B)} \times P(A) P(A∣B)=P(B)P(B∣A)×P(A)
二、先验后验
1 定义
在对一个问题进行研究时, X X X是我们的数据样本, θ \theta θ是模型的参数,则此时贝叶斯公式如下:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) P(\theta \mid X)=\frac{P(X \mid \theta) P(\theta)}{P(X)} P(θ∣X)=P(X)P(X∣θ)P(θ)
每一项的表示如下:
posterior = likehood × prior evidence \text { posterior }=\frac{\text { likehood } \times \text { prior }}{\text { evidence }} posterior = evidence likehood × prior
- posterior: 通过样本X得到参数 θ \theta θ 的概率, 也就是后验概率.
- likehood:通过参数 θ \theta θ 得到样本X的概率, 似然函数, 通常就是我们的数据集的表现.
- prior:参数 θ \theta θ 的先验概率, 一般是根据人的先验知识来得出的。比如人们倾向于认为抛硬币实验会符合先验分布: beta分布。当我们选择beta分布的参数 α = β = 0.5 \alpha=\beta=0.5 α=β=0.5 时, 代表人们认为抛硬币得到正反面的概率都是 0.5 0.5 0.5.
- evidence: p ( X ) = ∫ p ( X ∣ θ ) p ( θ ) d θ p(X)=\int p(X \mid \theta) p(\theta) d \theta p(X)=∫p(X∣θ)p(θ)dθ, 样本X发生的概率, 是各种 θ \theta θ 条件下发生的概率的积分.
2 共轭先验
在贝叶斯统计中,如果后验分布与先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验。下表是一些常见概率分布的先验与后验:
三、极大似然估计(MLE)
最大似然估计,英文为Maximum Likelihood Estimation,简写为MLE,也叫极大似然估计,是用来估计概率模型参数的一种方法。
极大似然估计的核心思想是: 认为当前发生的事件是概率最大的事件。因此就可以给定的数据集, 使得该数据集发生的概率最大来求得模型中的参数。似然函数如下:
L ( X ∣ θ ) = ∏ x 1 x n p ( x i ∣ θ ) L(X \mid \theta)=\prod_{x_1}^{x_n} p(x_i \mid \theta) L(X∣θ)=x1∏xnp(xi∣θ)为了便于计算, 对似然函数两边取对数, 生成新的对数似然函数(因为对数函数是单调增函数, 因此求似然函数最大化就可以转换成对数似然函数最大化):
log L ( X ∣ θ ) = log ∏ x 1 x n p ( x i ∣ θ ) = ∑ x 1 x n log p ( x i ∣ θ ) \log L(X \mid \theta)=\log\prod_{x_1}^{x_n} p(x_i \mid \theta)=\sum_{x_1}^{x_n} \log p(x_i \mid \theta) logL(X∣θ)=logx1∏xnp(xi∣θ)=x1∑xnlogp(xi∣θ)求对数似然函数最大化, 可以通过导数为 0 来求解。
例:
以抛硬币为例,假设我们有一枚硬币,现在要估计其正面朝上的概率 θ。为了对 θ进行估计,我们进行了10次实验(独立同分布,i.i.d.),这组实验记为 X = x 1 , x 2 … , x 10 X = x_1,x_2… ,x_{10} X=x1,x2…,x10,其中正面朝上的次数为6次,反面朝上的次数为4次,结果为 ( 1 , 0 , 1 , 1 , 0 , 0 , 0 , 1 , 1 , 1 ) 。
p ( x i = 1 ∣ θ ) = θ p ( x i = 0 ∣ θ ) = 1 − θ p(x_i=1 \mid \theta)=\theta\qquad p(x_i=0 \mid \theta)=1-\theta p(xi=1∣θ)=θp(xi=0∣θ)=1−θ
则可以得到似然函数如下:L ( X ∣ θ ) = ∏ i = 0 10 p ( x i ∣ θ ) = θ 6 ( 1 − θ ) 4 L(X \mid \theta)=\prod_{i=0}^{10} p(x_i \mid \theta)=\theta^6(1-\theta)^4 L(X∣θ)=i=0∏10p(xi∣θ)=θ6(1−θ)4
则可通过求导得到 L ( X ∣ θ ) L(X|\theta) L(X∣θ)最大时 θ \theta θ的值.其对数似然函数为
f = log L ( X ∣ θ ) = 6 log θ + 4 log ( 1 − θ ) f=\log L(X|\theta)=6\log \theta+4\log(1-\theta) f=logL(X∣θ)=6logθ+4log(1−θ)
令 ∇ f = 0 \nabla f=0 ∇f=0,可得 θ = 0.6 \theta=0.6 θ=0.6,可以看到通过MLE得到的结果和频率近似概率的结果一致.当实验次数趋于 ∞ \infty ∞时, θ → 1 2 \theta\to\frac12 θ→21.
四、最大后验概率估计(MAP)
最大后验概率估计,英文为Maximum A Posterior Estimation,简写为MAP。最大似然估计认为使似然函数 P ( X ∣ θ ) P(X \mid \theta) P(X∣θ) 最大的参数 θ \theta θ 即为最好的 θ \theta θ, 此时最大似然估计是将 θ \theta θ 看作固定的值, 只是其值未知;最大后验概率分布认为 θ \theta θ 是一个随机变量, 即 θ \theta θ 具有某种概率分布, 称为先验分布, 求解时除了要考虑似然函数 P ( X ∣ θ ) P(X \mid \theta) P(X∣θ) 之外, 还要考虑 θ \theta θ 的先验分布 P ( θ ) P(\theta) P(θ), 因此其认为使 P ( X ∣ θ ) P ( θ ) P(X \mid \theta) P(\theta) P(X∣θ)P(θ) 取最大值的 θ \theta θ 就是最好的 θ \theta θ 。 最大后验概率估计的公式表示: arg max θ P ( θ ∣ X ) = arg max θ P ( X ∣ θ ) P ( θ ) P ( X ) ∝ arg max θ P ( X ∣ θ ) P ( θ ) . \operatorname{\arg\max_{\theta}} P(\theta \mid X)=\operatorname{\arg\max_{\theta}} \frac{P(X \mid \theta) P(\theta)}{P(X)} \propto \operatorname{\arg\max_{\theta}} P(X \mid \theta) P(\theta). argθmaxP(θ∣X)=argθmaxP(X)P(X∣θ)P(θ)∝argθmaxP(X∣θ)P(θ).
- 此时要最大化的函数变为 P ( X ∣ θ ) P ( θ ) P(X \mid \theta) P(\theta) P(X∣θ)P(θ), 由于 X的先验分布 P(X)是固定的 (可通过分析数据获得, 其实我们也不关心 X X X 的分布, 我们关心的是 θ \theta θ )
- 最大后验概率估计可以看作是正则化的最大似然估计, 当然机器学习或深度学习中的正则项通常是加法, 而在最大后验概率估计中采用的是乘法, P ( θ ) P(\theta) P(θ) 是正则项。在最大似然估计中, 由于认为 θ \theta θ 是固定的, 因此 P ( θ ) = 1 P(\theta)=1 P(θ)=1 。
例:
在抛硬币的例子中, 通常认为 θ = 0.5 \theta=0.5 θ=0.5 的可能性最大, 因此我们用均值为 0.5 0.5 0.5, 方差为 0.1 0.1 0.1 的高斯分布来描述 θ \theta θ 的先验分布, 当然也可以使用其它的分布来描述 θ \theta θ 的先验分布。 θ \theta θ 的先验分布为:
P ( θ ) = 1 2 π σ e − ( θ − μ ) 2 2 σ 2 = 1 10 2 π e − 50 ( θ − 0.5 ) 2 P(\theta)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(\theta-\mu)^{2}}{2 \sigma^{2}}}=\frac{1}{10 \sqrt{2 \pi}} e^{-50(\theta-0.5)^{2}} P(θ)=2πσ1e−2σ2(θ−μ)2=102π1e−50(θ−0.5)2在最大似然估计中, 已知似然函数为 P ( X ∣ θ ) = θ 6 ( 1 − θ ) 4 P(X \mid \theta)=\theta^{6}(1-\theta)^{4} P(X∣θ)=θ6(1−θ)4, 因此:
P ( X ∣ θ ) P ( θ ) = θ 6 × ( 1 − θ ) 4 × 1 10 2 π × e − 50 ( θ − 0.5 ) 2 P(X \mid \theta) P(\theta)=\theta^{6} \times(1-\theta)^{4} \times \frac{1}{10 \sqrt{2 \pi}} \times e^{-50(\theta-0.5)^{2}} P(X∣θ)P(θ)=θ6×(1−θ)4×102π1×e−50(θ−0.5)2
转换为对数函数:
ln ( P ( X ∣ θ ) P ( θ ) ) = ln ( θ 6 × ( 1 − θ ) 4 × 1 10 2 π × e − 50 ( θ − 0.5 ) 2 ) \ln (P(X \mid \theta) P(\theta))=\ln \left(\theta^{6} \times(1-\theta)^{4} \times \frac{1}{10 \sqrt{2 \pi}} \times e^{-50(\theta-0.5)^{2}}\right) ln(P(X∣θ)P(θ))=ln(θ6×(1−θ)4×102π1×e−50(θ−0.5)2)
令 ln ( P ( X ∣ θ ) P ( θ ) ) ′ = 0 \ln (P(X \mid \theta) P(\theta)) \prime=0 ln(P(X∣θ)P(θ))′=0, 可得:
100 θ 3 − 150 θ 2 + 40 θ + 6 = 0 100 \theta^{3}-150 \theta^{2}+40 \theta+6=0 100θ3−150θ2+40θ+6=0
由于 0 ≤ θ ≤ 1 0 \leq \theta \leq 1 0≤θ≤1, 解得: θ ^ ≈ 0.529 \hat{\theta} \approx 0.529 θ^≈0.529 .可以看到MAP得到的估计值比MLE更准确,因为MAP用了先验的信息.
五、贝叶斯估计
贝叶斯估计是最大后验估计的进一步扩展,贝叶斯估计同样假定θ是一个随机变量,但贝叶斯估计并不是直接估计出θ的某个特定值,而是估计θ的分布,并且在贝叶斯估计中,先验分布 P(X)是不可忽略的,这是贝叶斯估计与最大后验概率估计不同的地方。
贝叶斯公式:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) P(\theta \mid X)=\frac{P(X \mid \theta) P(\theta)}{P(X)} P(θ∣X)=P(X)P(X∣θ)P(θ)在连续型随机变量中, 由于 P ( X ) = ∫ Θ P ( X ∣ θ ) P ( θ ) d θ P(X)=\int_{\Theta} P(X \mid \theta) P(\theta) d \theta P(X)=∫ΘP(X∣θ)P(θ)dθ, 因此贝叶斯公式变为:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) ∫ Θ P ( X ∣ θ ) P ( θ ) d θ P(\theta \mid X)=\frac{P(X \mid \theta) P(\theta)}{\int_{\Theta} P(X \mid \theta) P(\theta) d \theta} P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)
从上面的公式中可以看出, 贝叶斯估计的求解非常复杂, 因此选择合适的先验分布就非常重要。一 般来说, 计算积分 ∫ θ P ( X ∣ θ ) P ( θ ) d θ \int_{\theta} P(X \mid \theta) P(\theta) d \theta ∫θP(X∣θ)P(θ)dθ 是不可能的。
例:
对于这个抛硬币的例子来说, 如果使用共轭先验分布, 就可以更好的解决这个问题。二项分布参数的共轭先验是Beta分布, 由于 θ \theta θ 的似然函数服从二项分布, 因此在贝叶斯估计中, 假设 θ \theta θ 的先验分布服从 P ( θ ) ∼ Beta ( α , β ) P(\theta) \sim \operatorname{Beta}(\alpha, \beta) P(θ)∼Beta(α,β), Beta分布的概率密度公式为:
f ( x ; α , β ) = 1 B ( α , β ) x α − 1 ( 1 − x ) β − 1 f(x ; \alpha, \beta)=\frac{1}{B(\alpha, \beta)} x^{\alpha-1}(1-x)^{\beta-1} f(x;α,β)=B(α,β)1xα−1(1−x)β−1
因此, 贝叶斯公式可写作:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) ∫ Θ P ( X ∣ θ ) P ( θ ) d θ = θ 6 ( 1 − θ ) 4 θ α − 1 ( 1 − θ ) β − 1 B ( α , β ) ∫ Θ θ 6 ( 1 − θ ) 4 θ α − 1 ( 1 − θ ) β − 1 B ( α , β ) d θ = θ α + 6 − 1 ( 1 − θ ) β + 4 − 1 ∫ Θ θ α + 6 − 1 ( 1 − θ ) β + 4 − 1 d θ = θ α + 6 − 1 ( 1 − θ ) β + 4 − 1 B ( α + 6 − 1 , β + 4 − 1 ) = B e t a ( θ ∣ α + 6 − 1 , β + 4 − 1 ) = B eta ( θ ∣ α + 6 , β + 4 ) \begin{aligned} P(\theta \mid X) &=\frac{P(X \mid \theta) P(\theta)}{\int_{\Theta} P(X \mid \theta) P(\theta) d \theta} \\ &=\frac{\theta^{6}(1-\theta)^{4} \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha, \beta)}}{\int_{\Theta} \theta^{6}(1-\theta)^{4} \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha, \beta)} d \theta} \\ &=\frac{\theta^{\alpha+6-1}(1-\theta)^{\beta+4-1}}{\int_{\Theta} \theta^{\alpha+6-1}(1-\theta)^{\beta+4-1} d \theta} \\ &=\frac{\theta^{\alpha+6-1}(1-\theta)^{\beta+4-1}}{B(\alpha+6-1, \beta+4-1)} \\ &=B e t a(\theta \mid \alpha+6-1, \beta+4-1) \\ &=B \operatorname{eta}(\theta \mid \alpha+6, \beta+4) \end{aligned} P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)=∫Θθ6(1−θ)4B(α,β)θα−1(1−θ)β−1dθθ6(1−θ)4B(α,β)θα−1(1−θ)β−1=∫Θθα+6−1(1−θ)β+4−1dθθα+6−1(1−θ)β+4−1=B(α+6−1,β+4−1)θα+6−1(1−θ)β+4−1=Beta(θ∣α+6−1,β+4−1)=Beta(θ∣α+6,β+4)
从上面的公式可以看出, P ( θ ∣ X ) ∼ B e t a ( θ ∣ α + 6 , β + 4 ) P(\theta \mid X) \sim B e t a(\theta \mid \alpha+6, \beta+4) P(θ∣X)∼Beta(θ∣α+6,β+4),所以后验概率也是 β \beta β分布 。其中 B B B 函数, 也称 B e t a B e t a Beta 函数, 是一 个Q常量, 用来使整个概率的积分为 1 。Beta ( θ ∣ α + 6 , β + 4 ) \operatorname{Beta}(\theta \mid \alpha+6, \beta+4) Beta(θ∣α+6,β+4) 就是贝叶斯估计的结果。
如果使用贝叶斯估计得到的 θ分布存在一个有限均值,则可以用后验分布的期望作为 θ的估计值。
贝叶斯估计要解决的不是如何估计参数, 而是用来估计新测量数据出现的概率, 对于新出现的数据 x ~ \tilde{x} x~ :
P ( x ~ ∣ X ) = ∫ Θ P ( x ~ ∣ θ ) P ( θ ∣ X ) d θ = ∫ Θ P ( x ~ ∣ θ ) P ( X ∣ θ ) P ( θ ) P ( X ) d θ P(\tilde{x} \mid X)=\int_{\Theta} P(\tilde{x} \mid \theta) P(\theta \mid X) d \theta=\int_{\Theta} P(\tilde{x} \mid \theta) \frac{P(X \mid \theta) P(\theta)}{P(X)} d \theta P(x~∣X)=∫ΘP(x~∣θ)P(θ∣X)dθ=∫ΘP(x~∣θ)P(X)P(X∣θ)P(θ)dθ
贝叶斯估计的求解步骤:
- 确定参数的似然函数
- 确定参数的先验分布, 应是后验分布的共轭先验
- 确定参数的后验分布函数
- 根据贝叶斯公式求解参数的后验分布
参考资料
- 贝叶斯估计、最大似然估计、最大后验概率估计
- 最大似然估计、最大后验估计、贝叶斯估计的对比