您的位置:首页 > 其它

模式识别与机器学习(第一章)学习笔记

2017-12-15 16:30 260 查看
1.绪论

模式识别领域关注的是利用计算机算法自动发现数据中规律,以及使用这些规律将数据分类。利用机器学习进行模式识别更精确,具体步骤为:选定训练集,包括输入的向量X(可能是对原始向量进行过预处理的,比如特征抽取)和输出的目标向量t,用于调节模型参数,最终模型输出向量为y(x),机器学习的目标是利用某种标准度量使得y(x)的值越在该标准度量(度量一般都与t有关)下达到最优,如最小化y(x)与t的均方误差。若y(x)在测试样本中的表现也很好,则说明模型泛化能力强,泛化能力弱参数多的模型一般是过拟合的,不可取。

当训练数据样本包含输入向量和目标向量时,属于有监督学习。比如分类问题(y(x)取值是离散的),回归问题(y(x)是连续的)。当没有目标向量时,就被称为无监督学习,如聚类,密度估计等。还有一种类型是反馈学习,即在给定的条件下,找到合适的动作,使得奖励达到最好,其并没有给定最优输出,通常是有一个状态和动作的序列,其中学习算法与环境交互,如玩游戏:让神经网络自己和自己玩一亿局围棋,阿尔法狗打赢柯洁很简单。反馈学习的特征是探索和利用,即探索新的动作和利用已知能产生较高奖励的动作。

1.1例子:多项式拟合

输入值是x,目标向量是t(t由sin(2pi*x)+高斯白噪声生成,加入白噪声说明目标向量不是x的一个确定性函数,这与实际金融数据相符)数据量为10。我们的目标是利用训练集预测对于新的观测值,生成目标值的预测。由于多项式可以逼近任何n阶可导的函数,这里我们考虑用多项式预测。

                     (1)      

 其中,我们的拟合标准为最小化残差平方和:

                                                            (2)

因为目标函数是w的二次函数,求导后将变为w的一次函数,因此上式关于w有唯一解。其中,当M不同时的拟合效果如下:

          

由上图可以看出,当M=3时,模型拟合效果最好,当M=0或1时,拟合不足,当M=9时,就表达sin(2pi*x)而言模型表现很差,其本质是其过多的拟合了白噪声。由于模型的泛化能力才是检验模型好坏的标准,我们会发现,当M=9时,该模型的泛化能力是很差的。

考察当模型给定时,数据规模对模型的准确性影响也是有意义的。若生成过程sin(2pi*x)+白噪声不变,则当数据量越来越多时,我们会发现M=9时模型过拟合的问题越来越小。如下图

我们会发现,当数据较多时,可选用较多参数,当数据较少时,可选用较少参数。但更合理的情况应该是根据问题的复杂情况选择参数。这也就是为何贝叶斯方法最近流行起来,就是因为其模型参数超过数据点数量的情形也是可处理的,而最大似然常会出现过拟合(不展开讨论,后话)

我们依旧在原框架下讨论问题,我们知道,若以(2)式为标准,则M=9时模型应该是最好的。说明我们选定的标准不够合理,故为防止过拟合,我们在原有的标准下加入一个惩罚项,被称为正则化。如下:

                                                          (3)

注意,W0通常会省去,因为其代表的是目标变量原点的选择。其中表示重要程度。但当其选值不同时,结果变化也较大,如下图:

我们会发现第一张图拟合不错,第二张效果较差,说明h参数对最后的结果影响也大。上式2给出了如何确定M、h的一般方法,但是将浪费一部分数据。因此我们需要寻找更高级方法

2.概率论

模式识别的一个关键概念是不确定性的问题,它可能由观测误差或者有限的数据量所导致。概率论给我们提供了一个框架,成了模式识别的中心基础,当将其与决策论相结合时,概率论能使我们基于有限信息得出最优预测。

其中,加和规则和乘积规则为:

贝叶斯概率:

         

 其中,P(D|W)可由观测数据集D来估计,被称为似然函数。机器学习中,似然函数的负对数被称为误差函数,故最大化似然函数等价于最小化误差函数。

abe9
           

贝叶斯优势之一:以高斯分布为例,若利用极大似然估计参数,则方差为是有偏的,有一定的偏移,虽然当数据量大时偏移很小。但是若当模型参数较多时,极大似然估计对参数估计的偏移就是一个较为严重的问题了。

1.2.5从概率和贝叶斯角度重新考虑多项式拟合问题

1.2.6 贝叶斯曲线拟合

1.3 模型选择

在使用最小平方拟合多项式曲线时,我们看到存在一个最优的多项式阶数,能够给出更好的结果。通过正则化最小平方,引入正则化系数h,使得我们能够通过该目标式得到最优多项式预测。在其他复杂模型中,可能存在多个控制模型复杂度与h类似的参数。我们的目标是:

(1)找到合适的复杂度参数的值

(2)找到可选的模型范围

       模型选择在数据量大时很简单,使用一部分可得的数据,可以训练出一系列的模型,也可以得到给定模型一系列复杂度的参数值。之后在验证集数据上验证模型好坏,最后选择最好的模型即可。如果模型的设计使用有限规模数据迭代很多次,那么在验证集上也可能出现过拟合现象,因此最终留一个第三方的测试集也是有必要的。

     可惜的是,数据集往往是有限的(或者即使数据量大,却有可能出现时间跨期过长分布不一致的情况)。一种方法是交叉验证,把数据分成S份,用其中任意的S-1份作为训练集,另一部分作为测试集评估表现。当数据很少时,S=N,这叫“留一法”。交叉验证的主要缺点是训练次数随着S而增加,且对于单个模型,可能由多个复杂度参数。在最坏情况下,探索这些参数的组合所需的训练次数是参数个数的指数函数。

      因此,我们要找到一个合适的模型表现度量,使其只依赖于训练数据,且不会产生过拟合的问题。此时AIC(赤池信息准则)和BIC(贝叶斯信息准则)被提了出来,但是都没有考虑模型参数的不确定性。赤池信息准则最大化下式:

                 

但是,在上述两个准则下,倾向于选择过于简单的模型。然而后面我们会看到,在贝叶斯准则下,合理的复杂度的惩罚是如何自然得出的。

1.4维度灾难

在多项式拟合中,我们只有一个输入向量。但是对于模式识别的实际输入而言,常常会有D个输入向量。此时多项式的形式如下:

    

因此代估计参数的个数与D^M次方正正比,虽不是指数增长,但是良也将非常大。

1.5决策论

在前面的论述中,我们知道概率论如何提供给我们一个自始至终的框架量化和计算不确定性。这里介绍决策轮,当其与概率论结合时,我们能够在涉及不确定性的情况下做出最优决策,这在模式识别中经常遇到。

输入x,目标输出t,对于回归问题,t由连续变量组成,对于离散问题,t由类别标签表示。联合概率分布p(x,t)完整的总结了与这些变量相关的不确定性。从训练数据中推断p(x,t)是推断问题的一个例子,且非常难,是本书主题。但在实际应用中,我们必须经常对t值做出预测,或者更一般的,根据t的预测做出某种决策,这便是决策论的主题。我们将发现,一旦解决了推断问题,决策问题也会变的简单。

考虑x光片的例子。C1表示患癌,C2表示不患癌,x表示光片的具体数量信息:

上面的贝叶斯公式都可以有p(x,Ck)得来。

如果我们的目标是最小化错误分类率(最大化正确分类率),那么所属类别应该是最大化后验概率的那类。

有时我们的目标是最小化期望损失,如上当我们觉得某个人20%概率患癌时,最优的结果应该是让他继续检查,而不是把他归为健康的那类,因为判错损失很大。其中Lkj表示对应的损失



拒绝选项:

很多时候,可能会出现p(C1|x)与P(C2|x)大小差不多的情况,此时为了降低错误率,最好的选择可能是对一部分输入x不做判断。因此实际中我们常可能设置一个阈值,当其中任一个P(Ci|x)的值大于该阈值时,进行判断即可。

1.5推断和决策

分类问题可以分为两个阶段:推断和决策,事实上,可以用三种不同方法解决决策问题:

对于方法(a),待估计的东西最多,且当P(X|Ck)中的X是多维时,需要得出该概率估计要很多样本值,其优点是能够计算P(x),这对于模型中具有低概率的点很有用。

对于方法b,直接对P(Ck|x)后验概率进行建模,但是为了求出它,也需要大量数据求解联合概率(此处不是很理解)

对于方法C,我们将每个x直接映射为判别函数,但是只能得到归类值,无法得出P(CK|X)的值,而该值在现实中可能很重要。

1.5.5回归问题的损失函数

观察上式可知,即为条件均值

平方损失函数不是唯一选择,也有如下值:

     

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: