后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

                                                                      无常的估计


后验、先验、似然估计 概念:

1.后验(知果求因)

假设,隔壁小哥要去15公里外的一个公园,他可以选择步行走路,骑自行车或者开车,然后通过其中一种方式花了一段时间到达公园。这件事中采用哪种交通方式是因,花了多长时间是果

假设我们已经知道小哥花了1个小时到了公园,那么你猜他是怎么去的(走路or开车or自行车),事实上我们不能百分百确定他的交通方式,我们正常人的思路是他很大可能是骑车过去的,当然也不排除开车过去却由于堵车严重花了很长时间。

这种预先已知结果(路上花的时间,在机器学习中就是观测到的X),然后根据结果估计原因(交通方式)的概率分布即后验概率

公式化:                   P(交通方式|花费的时间)

修改成一般的公式: P(因|果)

公式正规化:           P|x)

2.先验(由历史求因)

假设隔壁小哥还没去,我们根据他的个人历史习惯来推测他会以哪种方式出行。

假设我们比较了解小哥的个人习惯,小哥是个健身爱好者就喜欢跑步运动,这个时候我们可以猜测他更可能倾向于走路过去。当然我的隔壁小哥是个大死肥宅,这个时候我们猜测他更可能倾向于坐车,连骑自行车的可能性都不大。

这个情景中隔壁小哥的交通工具选择与花费时间不再相关。因为我们是在结果发生前就开始猜的,根据历史规律确定原因(交通方式)的概率分布即 先验概率

例子问题公式化:P(交通方式)

一般化:              P(因)

正规化:              P(θ)

3.似然估计(知因求果)

换个情景,先考虑小哥去公园的交通方式。

假设隔壁小哥步行走路去,一般情况下小哥大概要用2个小时;假设小哥决定开车,到公园半个小时是非常可能的。

这种先定下来原因,根据原因(出行方式)来估计结果的概率分布即 似然估计, 根据原因来统计各种可能结果的概率即似然函数

似然函数问题公式化:P(时间|交通方式)

一般化: P(果|因)

正规化:   P(x|θ)



贝叶斯公式:

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

 

在这里我们采用如下形式,将上面提到的先验,后验,似然估计联系起来

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

 

上式中,P(x) 即 evidence。小哥去公园很多次,忽略交通方式是什么,只统计每次到达公园的时间 x,于是得到了一组时间的概率分布。这种不考虑原因,只看结果的概率分布即 evidence,它也称为样本发生的概率分布的证据。

evidence 在此故事中如下表示:P(时间)  或P(果)



最大似然估计、最大后验估计、贝叶斯估计

给定一些数据样本x,我们知道样本是从某一种分布中随机取出的,但我们不知道这个分布的具体参数θ,例如我们知道样本来自正态分布但是不知道其均值和方差。

1、最大似然估计(maximum likelihood estimation, MLE

目标是找出一组参数θ(具体的取值),使得模型产生出观测数据x的概率最大。(就这么简单,莫想复杂了)

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

最大似然估计是在对被估计参数没有任何先验知识的前提下求得的。

2、最大后验估计(Maximum A Posteriori,MAP

假如我们要估计的这个参数满足某种分布,有一个先验概率P(θ)(例如,满足正态分布N(10,0),注意θ满足的这种分布的参数是已知的,这里u=10σ=0P(θ)完全是仅关于θ的表达式),那么参数该怎么估计呢?这就是MAP要考虑的问题。MAP优化的是一个后验概率P(θ|x),(直观地理解的话P(θ|x)可以根据贝叶斯公式展开,而展开式中含P(θ),可以满足存在先验概率的这个限制条件)

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

即,最大后验估计优化的是P(x|θ)* P(θ),即多加了一个先验限制。

3、贝叶斯估计:

(终于明白了)

“贝叶斯估计是在MAP上做进一步拓展,此时不直接估计参数的值,而是允许参数服从一定概率分布。极大似然估计和极大后验概率估计,都求出了参数theta的值,而贝叶斯推断则不是,贝叶斯推断扩展了极大后验概率估计方法,它根据参数的先验分布P(θ)和一系列观察X,求出参数θ的后验分布P(θ|X):

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

上式右侧:当给定一个具体的θ取值时,由于θ满足的先验分布的模型是完全知道的,p(θ)是可以计算;样本的模型是以θ为参数的,从而θ给定时,样本模型已知,从而可以计算出当样本取值为X时的概率p(X|θ)。

贝叶斯估计需要考虑到θ的不同取值,而不是像前两种假设那样计算出一个θ值。在最大后验估计中,直接是找一个θ值,使得P(θ|X)最大,然后就得到模型,就OK了。

(前两种都是假设待求解的模型参数是个确定值,但贝叶斯估计假设待求解参数是个随机数。贝叶斯估计,假定把待估计的参数看成是符合某种先验概率分布随机变量, 而不是一个确定数值,计算待求参数所有可能的取值)

 

“贝叶斯估计需要考虑到θ的不同取值”的一个直观理解是用贝叶斯估计来做预测:

如果我们想求一个新值后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法 的概率,可以由下面公式来计算:

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

 

另外,贝叶斯估计还定义了参数的一个方差量,来评估参数估计的准确程度或者置信度。



机器学习中的 朴素贝叶斯算法  (生成模型)

朴素贝叶斯就是用贝叶斯公式外加“朴素”的条件来求解样本所属类别的概率。朴素贝叶斯对条件概率分布做了条件独立性假设,即有P(AB|D)=P(A|D)*P(B|D),而这也是“朴素”一词的由来。

设输入空间X⊆Rn,为n维向量的集合,输出空间为类标记Y={c1,c2,...,cm}。输入为特征向量x∈X,输出为类标记y∈Y,X是定义在输入空间X上的随机向量,Y是定义在输出空间Y上的随机变量。也就是说X是一个m×n的矩阵,y为类标签。训练集(m个样本):

T={(x1,y1),(x2,y2),...,(xm,ym)}

则有:

P(Y=ck) = #ck / mk=1,2,...,(#ck表示该类别一共有多少个样本)        --------- 先验概率(根据历史数据计算)

P(X=x|Y=ck) = P( X(1)=x(1), ... , X(n)=x(n) | Y=ck )                                ----------  似然概率

---------------------------------------------由先验概率和似然概率,两者相乘就得到联合概率P(X=x, Y=ck), ----朴素贝叶斯算法属于“生成模型”。

又因为朴素贝叶斯对条件概率分布做了条件独立性假设,即有P(AB|D)=P(A|D)P(B|D),因此上式(似然概率)可通过下式计算:

P(X=x|Y=ck) = 后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法                 

其中,P( X(i)=x(i)|Y=ck ) = (类标签为ck的样本中 第i个特征值为x(i)的样本个数) / (分类标签为ck的样本个数),可以通过样本直接统计出来。

 

在上面的基础上,再由贝叶斯公式:

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法  ---------- --------后验概率

从而我们可以计算出任一样本x属于类别ck的概率选择其中概率最大者便可作为其分类的类标。上式中,对于每个样本的计算都有相同的分母,因此可以略去,化简为:

后验,先验,似然估计;贝叶斯公式;最大似然估计,最大后验估计, 贝叶斯估计;机器学习之朴素贝叶斯算法

---------------------------------------------使用最大后验估计得到结果(self).

 

https://blog.csdn.net/u010358304/article/details/79748153


朴素贝叶斯算法改进:

朴素贝叶斯的过程,但是有一个不能忽略的问题就是:在训练集不充分的情况下,缺少某个维度的条件概率时,(例如,如果P(X(1)=1|Y=1)为0的话)那么在预测的时候,将会产生很大的错差。-------- 朴素贝叶斯方法有个致命的缺点就是对数据稀疏问题过于敏感。

解决这个问题的办法就是在估计中加入平滑项λ(λ=1时:拉普拉斯平滑)

P(Y=ck) = (#ck + λ) / (m + K*λ)      --- K为类别数

P( X(i)=x(i)|Y=ck ) = (类标签为ck的样本中 第i个特征值为x(i)的样本个数 + λ ) / (分类标签为ck的样本个数 + Si*λ)       --- Si 所有样本中,第i个特征维度可能的取值的个数。

关于平滑,可以继续参考其他全面的资料。


其他:

Logistic回归中,使用的是最大似然估计,那里假设的x的分布是正态分布?---No,那里用的是最小化损失函数的方法, 结合线性模型和**函数自己建立了一个模型,然后用最大似然估计的方法计算这个模型的参数,使得该模型产出观察到的数据的概率最大。


Ref:

https://blog.csdn.net/qq_23947237/article/details/78265026 (思路清晰)

http://www.cnblogs.com/xueliangliu/archive/2012/08/02/2962161.html (含最大似然估计,最大后验估计的例子)

https://www.cnblogs.com/WegZumHimmel/p/7886066.html

https://blog.csdn.net/The_lastest/article/details/78807198 (给出的朴素贝叶斯的例子挺好)