机器学习:最大后验估计(MAP)与结构最小化误差(经验最小化误差+模型复杂度函数)之间的转换推导

李航老师的《统计学习方法》书中第一章第三小节,在对机器学习方法=模型+策略+算法这一概念的阐述中,提到了频率派方法与贝叶斯派的共通之处,即经验最小化误差在特定条件下等价于最大似然估计,而结构最小化误差则等价于特定条件下的最大后验估计。在网站上进行了一下简答的检索,发现一些对于这个问题的推导回答并不多,或者在一些方面与我自己所想存在部分偏差。因此本篇文章对MAP与结构误差最小化之间的转换进行一个简单的推导,如有不正确的地方,请告知!

  • 结构化误差公式:

min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in{F}}\frac{1}{N}\sum_{i=1}^{N}L\left(y_i, f(x_i)\right)+\lambda J(f) fFminN1i=1NL(yi,f(xi))+λJ(f)

其中 L L L表示 L o s s F u n c t i o n Loss Function LossFunction,作为衡量单个样本预测准确度的直接指标, J ( f ) J(f) J(f)为正则项,表示模型的复杂度。

  • 最大后验估计

θ ^ = a r g m a x P ( θ   ∣   X ) = a r g m a x P ( θ , X ) P ( X ) = a r g m a x P ( X ∣ θ ) ⋅ P ( θ ) P ( X ) = a r g m a x l n   P ( X ∣ θ ) + l n   P ( θ ) − l n   P ( X ) P(X)为数据分布,对theta无影响;P(theta)为先验分布,P(X|theta)为似然 = a r g m a x l n   P ( X ∣ θ ) + l n   P ( θ ) = a r g m a x l n   [ P ( x 1 ∣ θ ) ⋅ P ( x 2 ∣ θ ) ⋅ ⋯ P ( x N ∣ θ ) ] + l n   P ( θ ) = a r g m a x ∑ l n   P ( x i ∣ θ ) + l n   P ( θ ) = a r g m i n − ∑ l n   P ( x i ∣ θ ) − l n   P ( θ ) 可以看出,最大后验估计可以被表示为两项:第一项为对数似然偏差,第二项为先验概率的对数形式 \begin{aligned} \hat{\theta}\quad &=\quad argmax\quad P(\theta\ |\ X) \\ & = \quad argmax\quad \frac{P(\theta,X)}{P(X)} \\ & = \quad argmax\quad \frac{P(X|\theta) \cdot P(\theta)}{P(X)} \\ & = \quad argmax\quad ln\ P(X|\theta)+ln\ P(\theta) -ln\ P(X) \\ & \text {P(X)为数据分布,对theta无影响;P(theta)为先验分布,P(X|theta)为似然} \\ & = \quad argmax \quad ln\ P(X|\theta)+ln\ P(\theta) \\ & = \quad argmax \quad ln\ [P(x_1|\theta)\cdot P(x_2|\theta)\cdot \cdots P(x_N|\theta)]+ln\ P(\theta) \\ & = \quad argmax \quad \sum ln\ P(x_i|\theta)+ln\ P(\theta) \\ & = \quad argmin \quad -\sum ln\ P(x_i|\theta)-ln\ P(\theta) \\ & \text{可以看出,最大后验估计可以被表示为两项:第一项为对数似然偏差,第二项为先验概率的对数形式} \end{aligned} θ^=argmaxP(θ  X)=argmaxP(X)P(θ,X)=argmaxP(X)P(Xθ)P(θ)=argmaxln P(Xθ)+ln P(θ)ln P(X)P(X)为数据分布,对theta无影响;P(theta)为先验分布,P(X|theta)为似然=argmaxln P(Xθ)+ln P(θ)=argmaxln [P(x1θ)P(x2θ)P(xNθ)]+ln P(θ)=argmaxln P(xiθ)+ln P(θ)=argminln P(xiθ)ln P(θ)可以看出,最大后验估计可以被表示为两项:第一项为对数似然偏差,第二项为先验概率的对数形式

至此,对最大后验概率MAP与最小化结构误差之间转换推导就基本结束了。得到的结论是:当结构化方程中的损失函数以对数似然损失函数表述,模型复杂度方程以模型的先验概率进行表述时,二者可以进行转换。

疑问:为什么模型的复杂度可以由先验概率进行表述?
首先参考李航老师给出的理由:“我们可以假设复杂的模型具有较小的先验,而简单模型则具有较大的先验”。
以下为我的个人见解,仅供参考讨论:上面的说法乍一听感觉并不十分有道理,但是仔细想想,结构最小化方法添加了模型复杂度作为衡量的标准之一:其依据奥卡姆剃刀定律,认为简单的模型具有更好地泛化功能。假设以上标准成立,那么我们可以用什么方法来表征模型复杂度呢?事实上,如果只是想形成结构最小化策略,那么我们有很多的方法去设计这个复杂度函数。因此我们需要思考的是:为什么先验概率能够有效地表征一个模型的复杂度。
先验概率可以表示为 P ( θ ) P(\theta) P(θ),其中 θ \theta θ是决定模型具体形式的参数向量,因此 P ( θ ) P(\theta) P(θ)本身表征的是 θ \theta θ在模型的假设空间中出现的可能性。能够想见的是:复杂模型的假设空间较简单模型更加复杂,因此具体的参数向量出现的可能性(先验)复杂模型较简单模型要小。(形象一点表述:如果简单模型的参数空间是一个平面,那么复杂模型的参数空间则可能是一个立方体)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值