zoukankan      html  css  js  c++  java
  • 极大似然估计与贝叶斯估计

           通过贝叶斯等方式实现分类器时,需要首先得到先验概率以及类条件概率密度。但在实际的应用中,先验概率与类条件概率密度并不能直接获得,它们都需要通过估计的方式来求得一个近似解。若先验概率的分布形式已知(或可以假设为某个分布),但分布的参数未知,则可以通过极大似然或者贝叶斯来获得对于参数的估计。

           极大似然估计的主要思想是:把待估计的参数看为确定的量,只是取值未知,其最佳估计是使得产生已知样本的概率值最大时的参数取值。贝叶斯估计的主要思想是:把待估计的参数看成是符合某种先验概率分布的随机变量,对样本进行观测的过程就是把先验概率转化为后验概率密度的过程,这样通过现有的样本信息修正对于参数的估计值。

           接下来通过一个实例来阐述极大似然估计和贝叶斯估计。设样本为(T={(x_1,y_1),(x_2,y_2),..., (x_N,y_N)}),其中(x_i in R)(y_i in {+1, -1})(i=1,2,...,N)。使用贝叶斯作为分类器,则需要求如下后验概率:

    [P(y^{(k)}|x)= frac {p(x|y^{(k)})P(y^{(k)})}{sum_{j} p(x|y^{(j)})P(y^{(j)})} quad ]

    注:(P(y^{(k)}))表示(P(y=y^{(k)}))的概率,(y^{(k)})表示具体分类,可以为(+1)(-1)(p(x))表示(x)点的概率密度

    要求解上式的后验概率(P(y^{(k)}|x))则需要先求类条件概率密度(p(x|y^{(k)}))。若预先知道(p(x|y^{(k)}) sim N(mu ,sigma^{2}_{0} ))(或假设其服从某个分布,参数未知),并且仅有参数(mu)未知(两个参数都未知的情况类似)。

           若使用 极大似然估计 ,设(mu)为一个确定的量,它的最佳估计值是使得出现样本情况时的最大概率时的取值。最大概率用一个如下的似然函数来表示:

    [L(mu) = prod _{i=1} ^{n} p(x_i|y^{(k)})quad ]

    其中上式中(n)表示标签为(y^{(k)})的样本数,(x_i)表示标签为(y^{(k)})时的样本。我们要求上式最大时参数(mu)的取值,由于上式为多项相乘,可以请先取对数,然后求极值。

    [ln L(mu) = sum _{i=1} ^{n} ln p(x_i|y^{(k)})= sum _{i=1} ^{n}[-ln sqrt{2pi}sigma_{0}-frac{(x_i - mu)^{2}}{2sigma^{2}_{0}}] ]

    由于上式为凸函数,可以通过求导,并令导数为0得到极值点。因此有如下等式:

    [frac{partial lnL(mu)}{partial mu}=- frac{1}{sigma^{2}_{0}} sum_{i=1}^{n}(x_i - mu) = frac{1}{sigma^{2}_{0}}(nmu-sum_{i=1}^{n}x_i) = frac{1}{sigma^{2}_{0}}(nmu-noverline{x}^{(k)})=0 ]

    最终得到(mu)的最佳估计值为(hat mu = overline{x}^{(k)}),由此可以得到类条件概率密度函数(p(x|y^{(k)})) $ sim $ $ N( overline{x}{(k)},sigma{2}_{0} )$。

           若使用 贝叶斯估计 ,设(mu)为一个随机变量,则(p(x|mu)) (sim) (N(mu,sigma_{0}^{2})),它的概率密度函数已知(或假设其服从某个已知分布):(p(mu)) (sim) (N(mu _{1}, sigma _{1} ^{2})),其中(mu _{1})与$ sigma _{1}^{2}$为已知量。。由贝叶斯公式可以由如下等式:

    [p(mu|(x_1,x_2,...,x_n))= frac{p((x_1,x_2,...,x_n)|mu)p(mu)}{int p((x_1,x_2,...,x_n)|mu)p(mu)du} ]

    其中上式中(x_1,x_2,...,x_n)表示标签为(y^{(k)})时的样本,上式的分母为一个不依赖于参数的值,可将其计为(lambda),由于样本是独立同分布,则可将概率密度函数带入得到如下等式:

    [egin{align} p(mu|(x_1,x_2,...,x_n)) &= lambda p((x_1,x_2,...,x_n)|mu)p(mu) \ &= lambda prod _{i=1} ^{n}p(x_{i}|mu)p(mu) \ &=lambda' exp(-frac{1}{2}((frac{n}{sigma_{0} ^{2}} + frac{1}{sigma_{1} ^{2}}) mu ^{2}- 2(frac{1}{sigma_{0} ^{2}} sum _{i=1} ^{n} x_{i} + frac{mu_{1}}{sigma_{1}^{2}})mu )) end{align} ]

    由上式可知(p(mu|(x_1,x_2,...,x_n))) 服从正态分布,设(p(mu|(x_1,x_2,...,x_n))) (sim) (N(mu_{k} , sigma_{k}^{2})),则:

    [egin{align} p(mu|(x_1,x_2,...,x_n)) &= frac{1}{sqrt{(2 pi)} sigma_{k}} exp (-frac{(mu - mu_{k})^{2}}{2 sigma_{k} ^{2}}) \ &= lambda' exp(-frac{1}{2} (frac{1}{sigma_{k} ^{2}}mu^{2} - 2frac{mu_{k}}{sigma_{k} ^{2}}mu)) end{align} ]

    以上两个等式对应项相等可得:

    [mu_{k} = (frac{n sigma_{1}^{2}}{n sigma_{1}^{2} + sigma_{0}^{2}}) overline{x}^{(k)} + frac{sigma_{0}^{2}}{nsigma_{1}^{2} + sigma_{0}^{2}}mu_{1} ]

    [sigma_{k}^{2} = frac{sigma_{1}^{2}sigma_{0}^{2}}{nsigma_{1}^{2} + sigma_{0}^{2}} ]

    接下来我们可以通过如下等式求得类条件概率密度:

    [p(x|y^{(k)}) = int p(x|mu)p(mu|(x_1,x_2,...,x_n))dmu ]


    1.参考文档:

           [1]. 模式分类              Richard O.Duda 等著       李宏东 等译

  • 相关阅读:
    获取一个数组里面第K大的元素
    小白初识 归并排序(MergeSort)
    小白初识 基数排序(RadixSort)
    memset()的正确用法
    HDU2071(水题)
    HDU 2090
    并查集模板
    HDU 1222
    HDU1084(快速排序)
    HDU 2043
  • 原文地址:https://www.cnblogs.com/alants/p/10581202.html
Copyright © 2011-2022 走看看