PRML 阅读笔记(一)

          

       第一章《introduction》,一开始先介绍了一些模式识别与机器学习的背景知识,模式识别的起源,定义。接下来又讲到了hand-written digits的例子,说到了手动编写代码的方式在这样的问题上是很难得到好的结果的。而通过机器学习的方法,让我们创建的模型自己去认识大量的数据,认识数据背后的规律则会有很好的效果。然后讲到了特征的基本概念,讲到了机器学习算法的基本分类等等,比较易于理解,就不赘述了。而为了解决机器学习所要解决的问题,我们需要理解概率论,决策论和信息论。下面的从1.1到1.2的内容,作者首先介绍了一个多项式曲线的例子,从这个例子又引出概率论,最后又回到曲线的例子。而后来决策论和信息论的内容,放在下一部分叙述。


      1.1 Example:Polynomial Curve Fitting


      问题:拟合的目标是sin(2πx),并根据高斯分布加入了一点随机噪声。利用以上方式产生了10个点作为我们的样本集。(书中也顺带提到了噪声的来源:1,样本本身的一些偶然因素,例如放射衰变。2一些未捕获到的特征)

      使用模型: 多项式模型
      

      cost function:

                

       接下来作者比较了多项式的模型M分别为0,1,3,9时,用相同的包含10个样本点的数据集训练模型所得出的拟合情况。

       其中M=0,1的模型明显存在欠拟合,而M=9时则存在过拟合,M=3时,效果是最好的。同时,作者提出了一个问题,从幂级数的角度来讲,函数sin(2πx)是包含了所有指数从0---无穷的所有项数的,那么按道理说,M越大,拟合效果应该越好,那么为什么M=9的效果会比较差呢?


       因为越大的M也越容易拟合目标变量上的噪声,再加之此时参数个数与样本数的比是1:1,所以M=9的效果就会很差。那么如果数据严格以sin(2πx)产生,而没有随机噪声,用M=9的模型去拟合,效果是不是会很好?

       

       接下来,作者说到,过拟合的原因有参数个数和样本数的比例不好导致(通常样本数应该是参数个数的5--10倍),而过拟合的另一个原因是最大似然函数的天生瑕疵(后面会具体讲,这里问题的来源即cost function)。当从贝叶斯的角度来看时,有效参数的个数会自适应于样本数,即加入正则化。

       加入正则化后的cost function:

       

       

       在加入正则化后,M=9的模型的拟合效果显然好了很多。而书中也讲到,正则化是不包含w0的,书上说了一些原因也没有太理解,为什么不包含w0?至此为止,大多数关于多项式曲线拟合的例子还只限于直观上的理解,下面通过更底层更基础的方式去了解类似的问题。(关于cost function,正则化等基础知识参见andrew ng斯坦福和coursera的公开课)。


      1.2 Probability Theory

     

       包括1.2.2及其之前的内容属于概率的基本知识,在这里暂且略过。


       1.2.3 Bayesian probabilities

      我们平时接触及学习的内容,大多是来自频率学派。而在Bayes理论中,首要理解的便是先验概率和后验概率。在频率学派看来,一个事件的概率只有在重复试验之下才能得出。而贝叶斯学派的观点则是有些事件即便没有频率解释的基础也可以通过经验赋予其概率,即先验概率,将先验概率和样本带来的信息加以综合可以得出后验概率。我们用后验概率去进行之后的预测。

         在频率学派的观点中,我们之前模型中的w是固定参数,它的值是本身是存在的,只是我们不知道,需要用cost function去拟合。而在贝叶斯的观点看来,w是一个随机变量,因而需要加入一个正则化项来量化这个随机变量的不确定性。Bayes理论的关键是:

         

         

          假设我们要对w进行推测,则先对p(w)赋予一个先验概率,在通过样本得到p(D|w),最后得出后验概率的值。其中p(D|w)便是我们常说的似然函数。通过上式可得出:   

                    

           那么p(D)呢,书上说p(D)只是一个归一化常数(怎么理解),而且它也确实是分子对于w的积分值,那么我们就可以忽略它么,这个地方不是特别理解。

           接下来,作者又有一段描述来说明Bayes的观点是更加“自然的”:

                  

           

          从Bayes和频率学派的两种观点来看,上述描述是好理解的,频率学派根据事件频率得出概率,而Bayes是通过先验概率*样本观测值得出概率。即有下列问题,假设我们不知道掷硬币正反面朝上的机率:假设先验概率掷硬币正面朝上即y=1,概率为0.5,反面朝上y=0的概率也是0.5,现在掷了三次,都是正面朝上,计算p(y=1|三次正面朝上)的后验概率是多少?

          当然作者也说到了Bayes过于依赖对与先验概率的选择,而这种选择也往往带有一些主观性。但是这样的主观性是可以根据一些方法尽量减小的,后面的章节会予以讨论。


        1.2.4  The Gaussian distribution


        这一小节前面的部分主要是对正态分布做了一些简单介绍,此处不再赘述。

        假设我们有N个观测值,表示为X=(x1,x2,...........xn)(此处可理解为我们有n个样本),且每个随机变量Xi都是独立同分布的(服从正态分布),那么有:

         

        这便是我们的似然函数,而最大化似然函数的意义即是通过调整分布的均值和方差使得下面蓝色点的乘积达到最大(照理说从连续型随机变量概率的角度讲,任意一个点的概率值是可以忽略的,然而它仍然满足这样一个特点,即这一点的密度函数值越大,那么它相应的概率也就越大,所以才会有前面的结论,是这样么?)。

                     

           

        当然,在不同问题中,样本的分布不一定都属于正态分布,无论什么分布我们都可以通过最大化似然函数找到参数的值,从而进行预测。

        在搞懂期望和均值,样本方差与分布方差的区别后,通过计算我们可以得到:

        

             

               

                 

        前两个式子,我们分别得到了样本均值和样本方差。通过最后一个式子我们发现,样本方差竟然是方差的有偏估计,最大似然函数的天然瑕疵是它总是低估方差,从而导致过拟合的问题(下一小节会详细讨论这个问题)。


        1.2.5 Curve fitting re-visited

      

       现在,我们回到曲线拟合的例子。通过上一节的论述,我们已经得出了假设随机变量独立同分布服从正态分布,那么其联合概率可以记作边缘概率的乘积,从而有似然函数(这里的beta书中有定义,它是方差的倒数,称为precision,虽然我也没明白用beta有什么意义)

       

       这一节看到这我就不明白,后面也一直云里雾里,主要不理解为什么要假设期望是y(x,w),后来看到书中这节末尾有一句,“Thus the sum-of-squares error function has arisen as a consequence of maximizing likelihood under assumption of a Gaussian noise distribution”.才想起来,ng的课程中先是作出了噪声服从期望为0的正态分布的假设,而后又推知目标变量服从期望为y(x,w)的正态分布的,至于为什么噪声服从期望为0的正态分布,书上没有说,ng也只是说从中心极限定理的角度来讲,当多个随机变量共同作用的时候,这些随机变量的组合应该是服从正态分布的,我们也只能从这些话语里略窥一二了。

              

         

           

        回到正题,有了似然函数之后,我们用常用的取对数的方法改写最大似然函数,得到

        

         这个式子是我们接下来讨论的关键,我们的目标是通过最大化似然函数得到w的值,进而对新的x进行预测。那么上式的后两项是与w无关的,我们暂且省略,而beta也不是w的函数,所以我们将beta/2替换为1/2,而最大化某一函数f,等价于最小化函数-f,那么我们就通过上式得到了我们之前曾经在多项式曲线拟合中使用过的cost function:最小平方和。

         到这里,问题来了,在ng Linear Regression的课上,说明了我们之前所用的cost function(最小平方和)不是无源之水,它通过我们假设噪声的分布,再推之目标变量的分布,最大化log似然函数得到的,然后我们有了w的值便可以利用y(x,w)来进行预测了。但在PRML本小节的后半部分,又论述了通过得到的w,我们可以利用

         

          此式来得到beta的值,而有了beta和w,我们便得到了完整的概率分布:

          

          从而利用此式对新的x进行预测。(不理解的地方是,假设y=sin(2πx),那我此时又说y服从正态分布,这两种说法不冲突吧?一个是y与x的函数关系,另一个是y的分布。如果不冲突,那我建模想要拟合的曲线也肯定是y=sin(2πx),从而对与新的x进行预测,ng的课程也是这么讲的。但PRML这里又说,我们要利用目标变量的分布来进行预测(这里应该预测结果应该就不是直接输出y了,而是输出一组概率值),但怎么预测,对于连续型随机变量,只有再一个区间才有有意义的概率值,一个点的概率值不是都趋近于0么,难道要把连续变量离散化等等?希望有大神能点拨一下,感谢。)

          接下来,我们从Bayes的角度对曲线拟合的问题更进一步。先说先验概率,我们假设w服从期望为0,方差为alpha的正态分布,即有

          

          (那个I是什么......),我们之前已经得出了后验概率与先验概率和似然函数的积成正比,即:

                       

          通过对似然函数和先验概率的乘积对数化,再去掉一些常数项,我们得到了熟悉的加入了正则化后的cost function: 

                        

           这个式子除以beta,令lambda=alpha/beta,我们即得到了与之前完全相同的cost function。这种方法被称为maximum posterior,简写为MAP。但是这个式子似乎是没有办法使用的,alpha和beta的值我们都未知,所以我们才引出lambda,在实际应用时不断调整lambda的值,使我们的参数w的值取得最优。

           

           1.2.6 Bayesian curve fitting

           

           可能也是因为上述alpha和beta的原因,作者也说上述的方法还不是完全的Bayes方法,作者假设了alpha和beta是固定的,且提前知道的(据说后面的章节会讨论),作者列出了几个式子想消除后验概率对于alpha和beta的依赖,这一部分我有一点没看懂,书上把后验概率服从的正态分布的期望和方差都写成了x的函数,而后在计算这两个x的函数的时候又用到了alpha和beta,不是不依赖alpha和beta了吗?最后作者又说方差函数中的第一项源于目标变量的噪声,而第二项源于Bayes方法。图1.17也没有看太懂。有没有大大具体解释一下这一部分,万分感谢。

           

        

       


           后面的章节会放在之后的博客,希望大大们对我题出的问题和我没注意到的问题提出建议和指导,也希望能和同学们一起进步。

           参考资料:《Pattern recognition and machine learning》

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