9.2 误差的本质

事实上,很多工作正是通过调整误差函数来达到鲁棒学习目的的。由于其良好的可导性与统计性,最小二乘误差,即 L 2 范数误差,成为在实际问题中常被采用的误差函数。然而,当数据混有异常点或显著噪音时,该误差函数往往导致模型较差的稳健性。解决该问题最简单也是最常见的策略,就是把L 2 范数误差直接替换为 L 1 范数误差[13] 。这种调整往往会显著提升算法的鲁棒性。L 1 范数误差的这一性能可通过图 1 直观解释:显然,L 2 范数误差的二次增长速度更为显著地放大了误差值较大的异常噪音带来的负面作用;而相对来说,L 1 范数误差的线性增长速度使其对大噪音相对不甚敏感,从而对其不良作用形成一种隐式抑制,因此具有相对更加鲁棒的性能。该方面一个典型的例子是对数据均值的求解。当采用 L 2 范数来计算时,极优解为数据均值,当数据中存在显著偏离数据分布的异常点时,计算均值往往也会较大偏离真实均值的位置;而采用 L 1范数时,获得的极优解为数据中值,其结果往往不会被异常点过度干扰,获得的结果能够更加准确反映数据均值的信息。

R2与标准偏差 r2误差_人工智能


如果从贝叶斯的角度来理解,能够获得误差函数更为深刻的内涵。以信号复原问题为例,此时通常假设观测信号是由真实信号及其嵌入其中的噪音共同构成,即

R2与标准偏差 r2误差_机器学习_02


式中,D 为观测信号;f(W) 为模型重建信号,W 代表了对应的模型参数;E 代表混入信号的噪音,一般假设其元素由一个噪音分布以独立同分布的方式产生,即 e~p(e)。这里,e 代表了 E 的每个元素;p(e) 代表噪音分布(密度)的形式。我们的学习目标,是从观察 D 出发,尽可能找到恢复原信号的最优变量 W。在贝叶斯框架下,这一目标可通过最大化以下后验估计模型实现:

R2与标准偏差 r2误差_建模_03


式 中,p(W)、p(W | D) 分 别 代 表 了 观 察 到 数 据D 之前与之后变量 W 的先验和后验分布形式;Likelihood(D | W)为在变量W下产生数据D的概率,亦称为似然函数。由于观测 D 的随机性完全来源于其噪音 E,事实上易推得式中

R2与标准偏差 r2误差_机器学习_04


,e i 为 E 的第 i 个元素。以上最大后验公式左边与右边仅差异一个与 W 无关的常数,因此最大后验 p(W | D) 等价于最大化 Likelihood(D | W)p(W),也即等价于

R2与标准偏差 r2误差_机器学习_05

有趣的是,该最大后验模型与传统机器学习模型 (1) 具有非常紧密的关联。更具体来说,模型 (3)从贝叶斯角度提供了模型 (1) 的一种内涵解释。给定正则项 P(W) 一种具体形式,可理解为假设了模型参数 W 的某种先验分布形式 p(W)。例如,当在模型 (1) 中采用 Ridge 正则与 L 1 范数正则时,分别对应于最大后验模型 (3) 中将先验分布 p(W) 假定为高斯与拉普拉斯分布的形式;同样的,给定误差项L(f(W),D) 的一种形式,本质上也对应于对似然函数Likelihood(D | W) 的一种形式假设。如 L 2 范数与 L 1范数误差,分别对应于对数据噪音变量进行了高斯和拉普拉斯分布的假设。这一原理可以帮助我们对L 1 范数误差对含异常点数据的鲁棒性能进行更为本质的理解:如图 2 所示,L 1 范数误差对应的拉普拉斯分布比 L 1 范数误差对应的高斯分布具有更为显著的“厚尾”形态,从而其更加适合对大幅度噪音的似然描述,从而导致其对大噪音或异常点数据更加稳健的计算效果。

R2与标准偏差 r2误差_人工智能_06


这也就意味着,对误差函数的建模体现了对数据噪音的建模,而误差建模的问题,理应成为机器学习研究的重要问题。从式 (2) 中可理解,数据中蕴含的信息包含确定性与随机性两个部分。传统机器学习方法大多侧重强调学习机 ( 体现学习目标f(W) 内在结构 ) 与正则项 ( 表达模型参数 W 先验性质 ) 的构造,这两个部分均是对从数据中预期获得的确定性信息的建模;而对数据随机性信息 ( 即噪音 ) 4 的建模,就完全体现在误差函数的形式上。为了获得更为准确的学习目标 f(W),一方面应该考虑模型结构与参数先验信息对预期确定性信息进行限制和约束;另一方面,如果能够通过误差建模从而更准确地获得数据随机性信息,对最终结果同样具有间接的帮助(尽管后者的作用在现有研究中有被低估的倾向)。因此,我们有必要对误差建模的问题进行更为深入的探讨。

误差建模也很可能提供了增强机器学习鲁棒性的一条通用策略和可行途径。正如之前分析,固定的误差函数仅对特定噪音分布是最优的假设,而现实问题中的数据噪音往往呈现复杂多样的形态,此时无论是主观假设的高斯或拉普拉斯噪音分布 ( 或无论模型设置为 L 2 范数或 L 1 范数误差 ) 都过于简单,无法实质体现数据噪音的客观复杂性。因此,误差建模首要考虑的问题就是如何通过建模,实现对数据噪音更好的拟合。