偏差方差的权衡,是机器学习领域目前面临的一个重要问题,业内称之为bias-variance dilemma。什么叫做一个统计模型的偏差?什么叫做方差?该如何去权衡二者的关系?且听小编韶韶~
为评价统计学习方法对某个数据集的拟合效果,需要一些方法评测模型的预测结果与实际观测数据在结果上的一致性。在回归中,定量测量预测的响应值与真实响应值之间的接近程度,最常用的评价准则是均方误差(mean squared error, MSE),其表达式如下所示:
一般而言,我们并不关心所构建的模型在训练集(training)中的表现如何,而真正感兴趣的是将模型应用于测试集(test)会获得怎样的预测精度,也即我们想要找到一个模型使其测试均方误差最小。
经证明(省略),期望测试均方误差(又称平均测试均方误差)能分解成三个基本量的和,分别为f(x)_hat的方差、f(x)_hat偏差的平方和误差项ε的方差,具体如下:
误差项ε的方差属于不可约误差(ε不能用X去预测,即使得到f(x)的一个精确估计,这部分误差仍然存在),因而要使得期望测试均方误差最小,即使得方差和偏差之和最小。
--------------------------------------划重点!!-------------------------------------
方差代表的是用一个不同的训练数据集估计f(x)时,估计函数f(x)_hat的改变量。理想情况下,不同训练集所得到的f(x)_hat变化不大,也即方差不大;如果一个模型的方差较大,那么说明训练集微小的变化则会导致f(x)_hat较大的改变。一般来说,光滑度越高的模型有更高的方差;如下图所示,右图中改变其中任何一个数据点将会使得f(x)_hat有相当大的改变。
偏差代表的是为了选择一个简单的模型逼近真实函数而被带入的误差,其构成可能非常复杂。例如,线性回归假设Y和X1,X2,…,Xp之间存在线性关系,然而任何一个真实的函数不可能有如此简单的线性关系,因此在估计f(x)时作线性回归无疑会有一些偏差;如果真实函数实际上是非线性的,那么作线性回归会引起较大的偏差。一般来说,光滑度越高的模型所产生的偏差越小。
综上,模型光滑度越高(复杂度越高)所得模型方差增加,偏差减小,则这两个量比值的相对变化率会导致测试均方误差整体的增加或减小。如下图所示,总的测试均方误差会有一个先下降后上升的趋势,如果一个统计学习模型被称为测试性能好,那么要求该模型有较小的方差和较小的偏差,这就涉及到权衡的问题。
直觉上,我们可能会选择有极小偏差但有很大方差的方法(一条通过所有训练观测值的曲线)或者追求小方差却大偏差的方法(对数据简单地拟合一条水平线),如何找到一个方法使得方差和偏差同时很小是一个挑战。本号之前的一篇文章“
手把手教你做交叉验证
”提到的交叉验证法,可以通过有限的数据来估计测试均方误差,进而选出测试MSE最小时的模型。
结语:既然可以找到MSE对应最小时的模型,为什么还说是机器学习中的dilemma?因为一些机器学习算法模型容易过拟合,且在真实模型未知情况下并不能精确计算出MSE,选用AIC、BIC、MDL等其它度量指标会有利于解决这种dilemma么?这是一个值得思考的问题。
请读者朋友批评指正!
参考文献:
【1】加雷斯·詹姆斯.统计学习导论[M].机械工业出版社, 2015.
【2】Cruz-Ramírez N, Acosta-Mesa H G, Mezura-Montes E,et al. How good is crude MDL for solving the bias-variance dilemma? An empirical investigation based on Bayesian networks[J]. Plos One, 2013,9(3):e92866.
关注本号,每周三给你好看!
领取专属 10元无门槛券
私享最新 技术干货