机器学习笔记(12):贝叶斯学习(2)

2020-03-05  本文已影响0人  链原力

本文来自之前在Udacity上自学机器学习的系列笔记。这是第12篇,介绍了监督学习中的贝叶斯学习模型(2)。

在贝叶斯学习模型(1)中,介绍了贝叶斯规则(定理)。这里进一步地对贝叶斯学习模型进行总结。

贝叶斯学习模型
之前的的机器学习模型是根据给定的数据和一些领域知识,学习最佳的假设。贝叶斯学习模型也是一样,但它是学习最有可能或概率大的假设。

写成数学式子是:
argmax_{h \in H} P(h | D)
其中D={(x_i, d_i)}是数据集,而H是假设空间。

贝叶斯规则(定理)表示为:
P(h|D)=\frac{P(D|h)P(h)}{P(D)}

P(h|D)是给定数据下假设h的概率;
P(D)是根据数据D得到的先验概率;
P(D|h)是指给定假设时观测到数据的概率;
P(h)是假设空间中特定假设的先验概率。

算法
对每个假设空间H的假设h,计算
P(h|D)=\frac {P(D|h)P(h)}{P(D)}
输出
h_{MAP}=argmax_{h}P(h|D)

其中MAP表示Maximum a Posterior Probability Hypothesis(最大后验概率)。
也就是说,我们要求得给定数据下,某一个假设的概率,可以按照几个先验概率的乘积来计算。

因为P(h)往往不可知,而P(D)对所有假设h都是一样的,我们可以划去P(D)一项,同时设定所有的假设P(h)都是一样的。

那么可以得到下面简化后的公式:

h_{ML}=argmax_{h} P(D|h)

其中ML表示Maximum Likelihood(最大似然假设)。上式表明计算MAP,我们只需要计算给定假设下出现数据概率的最大假设。

假设给定数据集D={(x_i, d_i)}d_i=f(x_i)+\epsilon_i,其中\epsilon_i表示误差,而且符合高斯正态分布,即\epsilon_i ~ N(0, \sigma^2)。我们需要求解的是h_{ML}=argmax_{h} P(h|D)=argmax_{h} P(D|h)

进一步地推导:

h_{ML}=argmax \prod_i P(d_i | h)

=argmax \prod_i\frac{1}{\sqrt{2\pi}\sigma}e^\frac{(d_i-h(x_i))^2}{2\sigma^2}

=argmax \sum_i - \frac{(d_i-h(x_i))^2}{2\sigma^2}

=argmin \sum_i (d_i-h(x_i))^2

从最后这个式子可以看出,我们将求解P_{ML}的问题转换为最小化误差平方和的问题。

最小描述长度
h_{MAP}=argmax P(D|h)P(h) = argmax[lgP(D|h)+lgP(h)]
根据信息论中的结论,即一个概率为P的事件具备长度为-lgP。那么上式转换为
h_{MAP}=argmin[(-lgP(D|h))+(-lgP(h))]

h_{MAP}=argmin[length(D|h)+length(h)]

右边这个式子表达了,要得到最大后验概率,我们需要最小化假设h的长度,隐含了选择最短决策树的意思。也就是说对于一个数据的分类,我们希望经过最少的决策完成判断,如果可以的话。这就是“奥卡姆剃刀原则”,即“切勿浪费较多的东西去做,用较少的东西,同样可以做好事情”。

左边这个式子表达了,要得到最大后验概率,还需要最小化误差。

这个式子解释的就是信息论中的最小描述长度。

贝叶斯分类
在得到最大后验概率后,我们还需要根据最优假设结果进行投票,最终得到我们想要的最优的分类标签。即
v_{MAP}=argmax_v \sum P(v|h)P(h|D)

上一篇下一篇

猜你喜欢

热点阅读