PRML 阅读笔记(七)

2.3.3 Bayes'theorem for Gaussian variables

          之前两节,书中用标准二次型和配方的方法找到了p(xa)和p(xb|xa),这一节中,把它们记为p(x)和p(y|x),并把他们当作贝叶斯理论中的先验概率和似然函数,用以求得p(y)和后验概率p(x|y)。为了简化描述,作者先对之前的结论进行了描述的简化,定义了三个新的参数(对照上一节可知三个参数的含义),并随之引出了线性高斯模型的概念。

            一如之前分块的方法,这次书中将x,y拼接:

           

              即,p(x,y)=p(z)。然后作者通过最上面的两个公式,利用x和y|x分布的期望和协方差矩阵进行推导,得到关于z的二次型。这样便得到了z的协方差矩阵,不同的是,现在z的协方差矩阵已经被x和y|x的参数所表示,再通过配方法得到z的均值,这样便可以得到p(y)的期望和协方差矩阵了。关于p(x|y),我们已经有p(x)p(y|x)和p(y),利用公式p(x)p(y|x)/p(y),不难得出后验概率。



2.3.4 Maximum likelihood for Gaussian

          假设X服从多维高斯正态分布,可以得到密度函数的log形式,对log函数中的μ球偏导(求导过程利用了附录C的公式19),并令偏导数为“0”,可以得到μ的最大似然估计:

          

          关于样本协方差矩阵的最大似然估计是怎么得到的,作者似乎并没有特别明确说明,直接给出了结果。如同单维高斯分布一样,作者又提出了样本均值是期望的无偏估计,而样本协方差矩阵则是协方差矩阵的有偏估计,从而引起过拟合。所以对估计量进行修正:

          


2.3.5 Sequential estimation

           利用上一小节得到的μ的最大似然估计,可以进行对μ的序贯估计,即每获得一个样本就对μ进行更新,可以用在线上实时的应用中。作者先是提出了一种比较简单的方法,对得到的μ的最大似然估计进行推导,得到一个根据前n-1个样本的最大似然估计和下一个样本来得到n个样本的最大似然估计。因为这种方法并不通用,作者进而提出了一种称为Robbins-Monro的算法。

            首先,定义函数f(θ),称为回归函数:

            

             而我们算法的目标则是要求导当f(θ)=0使的θ,称为root θ。如果有大量的样本,可以直接对回归函数建模求出root。但此时是想通过每观察一个z,便对θ进行更新。于是根据算法,我们假设条件方差有界:

              

              (假设条件方差的数学意义是什么?)

              我们可以根据下面的式子来计算root θ:

              

               其中,z是我们的观测值,并且正数aN要满足如下条件:

              

                 第一个条件是为了使θ收敛到一个有限值。第二个条件和第三个条件的数学意义我们看明白,希望大神指点一下,谢谢。

                 现在,我们有了Robbins-Monro算法,下一步就是如何利用算法解决序贯估计的问题。当我们总共有N个样本,其实通过最大似然函数求出的θ是一个固定值,即:


                 这样,当N趋近于无限大,我们交换微分与求和符号,可以得到:

                 

                 这时候,根据R-M算法的定义,算法中的z就出现了,即Ex括号部分的函数。所以我们可以利用以下的公式来解决最大似然估计的问题了: 

               

                 最后,作者举了一个单维高斯分布的例子,并根据上述推论写出了其中的z:

                 

                为什么作者说z服从期望为(μ-μML)的高斯分布,σ呢?,图2.11那些p(z|μ)是什么意思,和序贯估计有什么关系,没明白。。。                


2.3.6 Bayesian inference for the Gaussian

                假设方差已知,那么通过观察N个样本,可以利用贝叶斯推导出均值μ的分布。

                先从简单情况开始。对于N个随机变量xi独立且属于同一高斯分布,则有似然函数:

     

                  我们把p看作μ的函数,假设方差已知。选择高斯分布p(μ)作为共轭先验,结合似然函数,通过推导可以得到:

                  

               因为样本方差已知,这样就得到了对于期望的推断。我只是不太明白这有什么意义,想知道样本均值的话直接就可以得到,而且是方差的无偏估计,为什么还要设定一个共轭先验,再来推断期望。意义是在于当我们不信任样本,或者想加入一些其它因素,例如经验先验之类的因素的时候就可以这么做么,即贝叶斯推导,就像在扔三枚硬币的例子里那样所讲述的,加入先验会得到一些更好的结果?

                   

                现在,假设均值已知,想对方差进行Bayes推导。同刚才一样,还从N个样本服从同一高斯分布的简单情况开始,因为是想推导方差,所以我们把似然函数看作是方差的函数,则有:

                 

                此时的共轭先验不再是高斯分布了,因为在除指数部分以外,又多出了一个方差的线性函数。由2.1,2.2节知,此时的先验共轭应该服从Gamma分布。在似然函数和先验共轭相乘后,得到了后验分布,是一个Gamma分布:

                   

             前面,我们分别假设方差已知推期望和假设期望推方差。最后,当我们想用Bayes同时推导方差和期望时,如何找到合适的共轭先验。我们依旧利用样本服从同一正态分布的例子,对似然函数做一点变形,然后利用似然函数的形式,找到先验共轭的形式,发现共轭先验服从Gaussian-Gamma分布。具体就不介绍了,后面作者又介绍了在类似情况下多维高斯的共轭先验Wishart分布。


2.3.7 Student's t-distribution

                 这一节作者主要大致介绍了Student's t-distribution。t分布其实是对一个高斯分布和一个关于precision的Gamma分布的积分:

                 

            作者用大段介绍了t分布的健壮性,当它面对一些异常点,面对噪声的时候,所显示的效果要比高斯分布更好。图2.16就介绍了t分布“heavy tail”的性质,当面对几个异常点的时候,它的尾巴并没有那么容易就翘起来。最后作者又简要介绍了高维t分布。


2.3.8 Periodic variables

          高斯函数在很多实际应用中都会有很大作用,但在另一些情况中,它又会显示出一些天生的短板,比如在面对周期性变量的时候。

         我没有明白作者举的关于θ用单维高斯去model的例子,只知道它很依赖起点的选取,不同的起点就会有不同的均值和方差。那我们固定一个起点然后再去model不就可以了么?

         作者接下来用了另一种方式去对θ建模。因为我们只对角度建模,所以我们可以假设所有的样本点都落在座标为(θ,1)的单位圆上,所以假设在笛卡尔座标系中表示样本,就成了xi(cosθ,sinθ)。我们可以得到样本x的均值为:

          

          (注意样本均值会落在圆上但更可能是圆内),样本均值的横纵座标应该如下:

           

             此时,等号两边同时相除再解出θ,我们就得到了一个不依赖于任何起点选取的样本均值。很自然的,我们想得到关于周期变量的分布。假设θ的周期是2π,θ的概率密度必须满足三个条件:归一化,非负。作者提出了一个满足条件的概率密度,服从高斯联合概率的x1,x2:

            

             其中x1=cosθ,x2=sinθ。且假设μ1=r0cosθ0,μ2=r0sinθ0;代入之后进行一些推导,可以得出一个关于θ的分布:

            

             这个分布称为von Mises分布,θ0是分布的均值,m被称为concentration。I(m)是一个关于m的归一化函数。再根据上式对两个参数进行最大似然估计我们可以得到两个参数的估计值,其中需要用一两个三角函数公式。这样便得到了周期性变量θ的分布。


2.3.9 Mixtures of Gaussians

             有时一个高斯模型可能不足以对变量建模,例如作者所举的喷泉喷发的例子,所以此时我们可能需要多个高斯模型的线性组合,即mixture of Gaussian。有如下公式:

             

             其中πk被称为混合系数。作者在这一节也只是大概介绍了一下,后来又对上式做了一些Bayes方面的解释,更多内容会放在第9章讨论。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章