在机器学习领域,衡量模型性能的一个重要指标是预测误差,它由噪声、偏差和方差三个部分组成。本文的目标是测量给定模型的偏差和方差,并观察这些指标在不同模型(如线性回归、决策树、Bagging和随机森林)下的行为,以及它们如何随着样本大小的变化而变化。
要深入理解本文内容,需要掌握以下概念和算法:
偏差:指的是真实模型预测与平均模型预测之间的差异。真实模型是基于总体数据构建的模型,而平均模型则是基于从总体中抽取的多个样本构建的模型预测结果的平均值。
方差:指的是基于样本构建的所有模型预测与平均模型预测之间的差异。噪声是模型无法预测的不可约误差。
不同算法在偏差和方差方面的表现预期如下:
在实际操作中,获取总体数据是非常困难且昂贵的。没有总体数据,无法计算给定模型的确切偏差和方差。尽管如此,可以通过观察模型在训练和测试误差上的行为来推断偏差和方差的变化。
为了进行这个实验,将一个大的数据集视为总体。基于这个假设,将在这个数据集上计算不同模型的偏差和方差。
本文以一个随机数据集为例,该数据集并非基于任何特定标准选择。数据集包含蛋白质三级结构的物理化学属性,来自CASP 5-9,共有45730个模型,大小从0到21 Armstrong不等。
属性包括:RMSD-残基大小、总表面积、非极性暴露面积、暴露非极性残基的分数面积、暴露非极性残基部分的分数面积、分子质量加权暴露面积、残基标准暴露面积的平均偏差、欧几里得距离、二级结构惩罚和空间分布约束(N, K值)。
总体数据:包含所有数据的超集(实际上不可能,但为了实验,考虑一个大数据集作为总体)。在这个实验中,考虑一个包含45730条记录的数据集作为总体。
测试数据:从总体数据中提取1500条记录作为测试数据。剩余的数据被视为训练数据。
总体模型:基于总体数据构建的模型。
平均模型:从训练数据中提取‘n’个样本,每个样本上构建模型。对于给定的x值,这些模型的平均预测被认为是平均模型对该x值的预测。
模型偏差:测试数据中每个x值的偏差 = (总体模型的预测 - 平均模型的预测)。模型的偏差 = (总体模型的预测 - 平均模型的预测)的绝对值的平均值。
模型方差:模型的方差 = (平均模型的预测,样本模型的预测)的方差。即不同样本获得的每个模型的预测与平均模型的预测值之间的差异,平方后取平均值,告诉样本模型与平均模型的变异程度。
1) 考虑一个包含45730条记录的数据集作为总体数据
2) 从总体数据中提取1500条记录作为测试数据。因此,剩余的数据被视为训练数据
3) 构建总体模型。使用测试数据收集总体模型的预测
4) 构建平均模型。从训练数据中提取30个随机样本。在每个样本上构建模型,并收集这些模型使用测试数据的平均预测
5) 计算模型偏差
模型的偏差 = (总体模型的预测 - 平均模型的预测)的绝对值的平均值
6) 计算模型方差:
模型方差 = (平均模型的预测,样本模型的预测)的方差
对于样本大小为8000的情况,观察到线性回归的偏差最小,这出乎意料,暗示数据更适合线性回归。方差方面,线性回归 < 随机森林 < Bagging <决策树,符合预期。偏差方面,随机森林 < Bagging < 决策树,也符合预期。