一、贝叶斯公式机器学习
这三种方法都和贝叶斯公式有关,因此咱们先来了解下贝叶斯公式:ide
每一项的表示以下:函数
posterior:经过样本X获得参数的几率,也就是后验几率。post
likehood:经过参数获得样本X的几率,似然函数,一般就是咱们的数据集的表现。学习
prior:参数的先验几率,通常是根据人的先验知识来得出的。好比人们倾向于认为抛硬币实验会符合先验分布:beta分布。当咱们选择beta分布的参数
时,表明人们认为抛硬币获得正反面的几率都是0.5。spa
evidence:,样本X发生的几率,是各类
条件下发生的几率的积分。.net
二、极大似然估计(MLE) 3d
极大似然估计的核心思想是:认为当前发生的事件是几率最大的事件。所以就能够给定的数据集,使得该数据集发生的几率最大来求得模型中的参数。似然函数以下:orm
为了便于计算,咱们对似然函数两边取对数,生成新的对数似然函数(由于对数函数是单调增函数,所以求似然函数最大化就能够转换成对数似然函数最大化):blog
求对数似然函数最大化,能够经过导数为0来求解。
极大似然估计只关注当前的样本,也就是只关注当前发生的事情,不考虑事情的先验状况。因为计算简单,并且不须要关注先验知识,所以在机器学习中的应用很是广,最多见的就是逻辑回归。
三、最大后验估计(MAP)
和最大似然估计不一样的是,最大后验估计中引入了先验几率(先验分布属于贝叶斯学派引入的,像L1,L2正则化就是对参数引入了拉普拉斯先验分布和高斯先验分布),并且最大后验估计要求的是
最大后验估计能够写成下面的形式:
在求最大后验几率时,能够忽略分母p(X),由于该值不影响对θ的估计。
一样为了便于计算,对两边取对数,后验几率最大化就变成了:
最大后验估计不仅是关注当前的样本的状况,还关注已经发生过的先验知识。在朴素贝叶斯中会有最大后验几率的应用,但并无用上最大后验估计来求参数(由于朴素贝叶斯中的θ其实就是分类的类别)。
最大后验估计和最大似然估计的区别:最大后验估计容许咱们把先验知识加入到估计模型中,这在样本不多的时候是颇有用的(所以朴素贝叶斯在较少的样本下就能有很好的表现),由于样本不多的时候咱们的观测结果极可能出现误差,此时先验知识会把估计的结果“拉”向先验,实际的预估结果将会在先验结果的两侧造成一个顶峰。经过调节先验分布的参数,好比beta分布的α,β,咱们还能够调节把估计的结果“拉”向先验的幅度,α,β越大,这个顶峰越尖锐。这样的参数,咱们叫作预估模型的“超参数”。
四、贝叶斯估计
贝叶斯估计和极大后验估计有点类似,都是以最大化后验几率为目的。区别在于:
1)极大似然估计和极大后验估计都是只返回了的预估值。
2)极大后验估计在计算后验几率的时候,把分母p(X)给忽略了,在进行贝叶斯估计的时候则不能忽略
3)贝叶斯估计要计算整个后验几率的几率分布
对于一个特定的似然函数,若是咱们选定一个先验几率分布,获得的后验几率分布和先验几率分布相同,则似然函数分布和先验几率分布就组成了一对共轭分布。此时训练出来的是后延几率分布,而再也不是单一的值。
举几个例子:
likehood为高斯分布,prior为高斯分布,则posterior也为高斯分布。
likehood为伯努利分布(二项式分布),prior为beta分布,则posterior也为beta分布。
likehood为多项式分布,prior为Dirichlet分布(beta分布的一个扩展),则posterior也为Dirichlet(狄利克雷)分布。beta分布能够看做是dirichlet分布的特殊状况。
根据上面的描述,在实践中咱们每每会选择共轭先验来简化。在把后验几率推导为和先验几率同样的分布形式的时候,分母p(X)其实能够看作一个常数,每每充当了一个normalize,归一化的做用。
求解的时候,既然咱们根据先验分布知道了后验是什么分布,那咱们求出后验分布的指望值(知道了分布状况就很容易求得指望值),便是须要估计的参数的值:
贝叶斯估计相对于最大后验估计的好处还在于,贝叶斯估计计算了整个后验几率的分布,从而也能求出其余一些好比分布的方差之类的值来供参考,好比计算出来方差太大的,咱们能够认为分布不够好,从而把这个当作选择超参数的一个考虑因素。实际上,贝叶斯估计会比MAP把估计的结果往先验结果“拉”的程度还提升了一些,从而使估计结果更靠近先验结果。
贝叶斯估计的应用有LDA主题模型。LDA主题模型经过共轭分布的特性来求出主题分布和词分布。
参考: