购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 机器学习预测结果推广性理论

对于机器学习问题,我们最关心的是算法的预测效果。但是算法训练结果都来自训练数据,因此核心问题转化为算法的推广性,或者如何减少推广误差(Generalization Error)。对此,机器学习有其理论框架,能够从根本上保证机器学习的推广性。机器学习有两种常用的理论框架,如表2.1所示。

表2.1 机器学习理论框架说明

以相对简单的PAC框架为例来进一步讨论,PAC框架可以把以下几个相关问题综合起来。

(1)训练数据样本的大小为m。

(2)满足数据的所有可能的假设或概念空间H。

(3)得到的假设与真正目标概念之间的误差ε。

(4)机器学习成功的概率δ。

在PAC框架下,可以保证机器学习可以学到一个假设(或模型)h,随着数据的增加,其误差接近于0,而得到误差接近于0的概率接近于1,表达如下:

上式看似比较绕弯,其实表达的意思就是,随着数据量的增加,机器学习找到一个误差和真实结果接近于0的模型的统计概率是非常大的。这便从理论上保证了训练数据得出的机器学习结论可以推广到更大的数据空间中。

对于一个具体的机器学习问题,可以进一步计算期望的推广性误差。假如机器学习想要学到的、真实的目标方程为

式中,x为自变量或特征变量,y为目标变量或标签变量。自变量取值为x 1 ,x 2 ,…,x n ,分别对应每一个y的观察值。y的测量值和真实值往往存在一定的差距,并且通常满足这一关系:

式中,ε为固有的测量误差,其分布满足高斯分布,平均值为0,标准差为σ。通过机器学习,找到一个近似方程来尽可能逼近真实的方程f (x)。而判断机器学习给出的方程或模型效果好坏的方法,就是计算如下所示的均方差大小:

式中,

上式的证明过程在这里不进行详细推导,其结论的重要意义在于,机器学习总的误差可以被分解为偏差和方差两个部分。这就说明,如果想减少机器学习算法的误差,就要尽可能地减少两个误差来源。如果只关注一个误差来源,另一个误差来源通常会增加,从而导致总的误差并不能减少。

图2.1 机器学习模型偏差和方差说明举例

为了直观理解偏差和方差的区别,下面以打靶为例,形象地说明该问题。假设4个射手连续射击100次,每个射手的靶子上的弹孔分布如图2.1所示。

低偏差的情况是所有弹孔离靶心的平均距离较小,图2.1中上面两个靶子属于这种情况。而低方差的情况则是所有弹孔位置的分布范围较小,图2.1中左边两个靶子属于这种情况。当然,在图2.1的4种情况中,低偏差和低方差的情况最理想。

在打靶的例子中,偏差和方差的情况取决于射手自身的素质。而在机器学习算法训练中,偏差和方差则跟模型的复杂度有直接关系。图2.2所示为机器学习模型偏差和方差随模型复杂度变化的曲线关系。

图2.2 机器学习模型偏差和方差随模型复杂度变化趋势

图2.2中,随着模型复杂度升高,模型的偏差会逐渐降低,但是方差却会逐渐升高。因此,总误差先逐渐减小,然后又逐渐增大。根据上面得到的模型误差分解公式可以看出,当总误差最小时,最佳模型误差所对应的模型复杂度不能太小也不能太大。

例如,在线性回归模型中,模型的参数越多,模型的复杂度越高。如果用100个维度的线性回归模型去拟合100个训练数据点,就会得到完美的预测结果。但是很显然,这种模型并不适合推广。另外,如果用有限的维度(模型复杂度低),如用一元线性回归模型去拟合一条变化趋势比较复杂的曲线,其效果同样不会太好。 M07N7WYYRK8jyT8W4xcdV8EdtXvVLURSeiFxIVC0/8B82t4KGAKU3flSo+S/3wx9

点击中间区域
呼出菜单
上一章
目录
下一章
×