第一章 统计机器学习及监督学习概论(二)

1.3 统计学习方法三要素

统计学习方法都是由模型、策略和算法构成,即统计学习方法由三要素构成, 可以简单地表示为:

以下主要讨论监督学习中的统计学习三要素

1.3.1 模型

在监督学习过程中,模型就是所 要学习的条件概率分布或决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合。假设空间中的模型一般有无穷多个。

假设空间用表示。假设空间可以定义为决策函数的集合

假设空间也可以定义为条件概率的集合:

1.3.2 策略

有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型。 统计学习的目标在于从假设空间中选取最优模型。

首先引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

1. 损失函数和风险函数

监督学习问题是在假设空间 中选取模型 作为决策函数,对于给定的输入 ,由 给出相应的输出 , 这个输出的预测值 与真实值 可能一致也可能不 一致,用一个损失函数或代价函数来度量预测错误的 程度。损失函数是 和 的非负实值函数,记作 。

实际情况就是我们不可能完全达到完美的效果,但我们如何判断我们现有的模型离完美还差多少呢,那就需要通过损失函数的值来判断,但不同的训练模型应该选用不同的损失函数,因此训练的时候是否选择合适的损失函数也是一个判断该模型好坏的一个标准

统计学习常用的有以下几种

(1)0-1损失函数

(2)平方损失函数

(3)绝对损失函数

(4)对数损失函数或对数似然损失函数

损失函数值越小,模型就越好。由于模型的输入、输出 是随机变量,遵循
联合分布 , 所以损失函数的期望是

这是理论上模型 关于联合分布 的平均意义下的损失,称为风险函 数或期望损失。我们进行机器学习的目标就是选择期望风险最小的模型。

模型关于训练数据集的平均损失称为经验风险或经验损失,记作:

期望风险是模型关于联合分布的期望损失,经验风险 是模型 关于训练样本集的平均损失。根据大数定律, 当样本容量 N 趋于无穷时,经验风险 趋于期望风险。所以一个很自然的想法是用经验风险估计期望风险。但是,由于现实中训练样本数目有限,甚至很小,所以用经验风险估计期望风险常常井不理想,要对经验风险进行一定的矫正。这就关系到监督学习的两个基本策略: 经验风险最小化和结构风险最小化。

简单来说就是训练样本很多很多的时候,那两个期望就差别很小。但问题就是现实情况下,训练样本没有那么多,那么我们就需要在没有很多的情况下考虑问题

2. 经验风险最小化与结构风险最小化

经验风险最小化(ERM)的策略认为,经验风险最小的模型是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是 求解最优化问题:

但是, 当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生“过拟合”现象。

过拟合的相关知识在下一节说明

结构风险最小化(SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价正则化。结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是:

其中 为模型的复杂度, 是定义在假设空间 上的泛函。模型 越复杂, 复杂度 就越大; 反之, 模型 越简单, 复杂度 就越小。也就是说, 复杂度表示了对 复杂模型的惩罚。 是系数, 用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及末知的测试数据都有较好的预测。

1.3.3 算法

算法是指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略, 从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。

这时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。如果最优化问题有显式的解析解,这个最优化问题就比较简单。但通常解析解不存在,这就需要用数值计算的方法求解。如何保证找到全局最优解,并使求解的过程非常高效,就成为一个重要问题。统计学习可以利用己有的最优化算法,有时也需要开发独自的最优化算法。

1.4 模型评估与模型选择

1.4.1 训练误差与测试误差

统计学习的目的是使学到的模型不仅对己知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差和模型的测试误差就自然成为学习方法评估的标准。注意,统计学习方法具体采用的损失函数未必是评估时使用的损失函数。当然,让两者一致是比较理想的。

训练误差的大小,对判断给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。

训练误差的主要作用是可以帮助我们去判断当前训练的效果如何,从而有效调整或者提前终止训练,可以帮助节约时间。比如我们发现训练误差一直都保持一个水准,那我们就知道就可以减少一定的训练轮次,而不需要一直等待。当然测试误差才是我们真正能确认模型对未知事物的预测能力的一个指标

1.4.2 过拟合与模型选择

我们之前在上一节谈到了说,如果训练样本较少,同时误差函数策略选择经验风险最小化,会导致过拟合情况的产生

当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选
择的问题。我们希望选择或学习一个合适的模型。如果在假设空间 中存在"真"模型,那么所选择的模型应该逼近真模型。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。

如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合 。过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对己知数据预测得很好,但对未知数据预测得很差的现象。 可以说模型选择旨在避免过拟合并提高模型的预测能力。

举之前猫图片的例子,假如现在只有四五张猫的图片,但我们的模型为了保证经验风险最小,所以选择尽可能多的找到属于猫的特征,所以就有可能找了一些对识别不太重要或者不能够表示猫的特征,比如说眼睛的颜色、身体的轮廓。因此,当我们用其他一些猫图片进行测试时,假设这些测试图片中的猫眼睛颜色和训练的不一样,机器就可能觉得这不是猫(因为机器觉得猫眼睛颜色的这个特征应该是训练数据里面的),这样就导致测试结果不好

下面,以多项式函数拟合问题为例,说明过拟合与模型选择。这是一个回归问题

假设给定如图 1. 8 所示的 10 个数据点,用 0 ~ 9 次多项式函数对数据进行拟合。 图中画出了需要用多项式函数曲线拟合的数据 。

设M次多项式为

解决这一问题的方法可以是这样的 。首先确定模型的复杂度 ,即确定多项式的次数;然后在给定的模型复杂度下,按照经验风险最小化的策略,求解参数,即多项式的系数。具体地,求以下经验风险最小化:

此时损失函数为平方损失,系数是为了计算方便。这是一个简单的最优化问题,将模型与训练数据代入有:

图1.8 给出了 M = 0, M = 1, M = 3 及 M=9 时多项式函数拟合的情况。如果M=0, 多项式曲线是一个常数,数据拟合效果很差。如果 M=1多项式曲线是一 条直线,数据拟合效果也很差。相反,如果 M=9,多项式曲线通过每个数据点,训练误差为 0。从对给定训练数据拟合的角度来说,效果是最好的。但是,因为训练数据本身存在噪声,这种拟合曲线对未知数据的预测能力往往并不是最好的,在实际学习中并不可取。这时过拟合现象就会发生。这就是说,模型选择时,不仅要考虑对己知数据的预测能力,而且还要考虑对未知数据的预测能力。当 M=3 时,多项式曲线对训练数据拟合效果足够好,模型也比较简单,是一个较好的选择。

在多项式函数拟合中可以看到,随着多项式次数(模型复杂度)的增加,训练误差会减小,直至趋向于 0,但是测试误差却不如此,它会随着多项式次数(模型复杂度) 的增加先减小而后增大。而最终的目的是使测试误差达到最小。这样,在多项式函数 拟合中,就要选择合适的多项式次数,以达到这一目的。这一结论对一般的模型选择 也是成立的。

你可能感兴趣的:(第一章 统计机器学习及监督学习概论(二))