前言
- 本笔记是笔者学习西瓜书所做笔记,转载请附本文链接及作者信息。
- 有问题欢迎在交流区探讨学习,QQ:761322725
- 码字不易,好心人随手点个赞
- 机器学习中如何考量算法模型的泛化能力是非常重要的内容,影响着模型在实际环境下的使用。
- 偏差-方差分解工具(bias-variance decomposition)是解释模型泛化能力的重要工具
符号定义
:测试样本
:训练集
:基于训练集得到的模型对测试集的预测结果
:样本的真实标记
:样本在数据集上的标记
方差-偏差
泛化能力关注模型在不同数据集上的表现,因此使用数量相同的不同训练集进行模型学习训练,(回归任务)最后预测结果的期望是:
即不同训练结果的平均值
不同数据训练所产生的方差为:
噪声:
反映由于数据标记的错误引起的噪声
偏差:反映真实标记与实际预测的差别:
分解
考察算法所期望的泛化误差:
所以最后一项=0
//拆分操作
// 假设噪声期望为0 ,最后一项为0
即泛化误差可以分解为
偏差-方差的关系及示例
偏差度量模型本身的拟合能力,刻画期望预测与真实值的偏差
方差度量模型对数据扰动的反映情况,刻画数据扰动对模型的影响
噪音则是学习任务的下限,描述问题任务本身的难度
从上述分析可以看出,偏差和方差是一对相互冲突的量,存在"偏差-方差窘境":
为了模型效果更好,往往会多次训练,使得偏差更小;然而却容易过拟合,使得抗数据扰动能力不足,方差偏大;
而训练次数比较小时,模型拟合能力不足,数据的扰动不足以让模型引起变化,从而方差偏小,偏差偏大
举例说明:
随机森林RF与xgboost:
- RF随机选择划分特征集,构建树,使得模型抗数据扰动能力很强,方差很小;而由于学习使用的数据不全,拟合能力不强,偏差很大;
因此RF需要使用强学习器,设置树的深度很大,以提高拟合能力(偏差大,方差小) - Xgboost则存在方差大、偏差小的情况,对数据拟合能力很强,往往使用弱学习器,树的深度较浅,减少过拟合的可能性
总结
偏差-方差工具是非常有效的模型泛化能力解释工具,在今后的学习可以多使用该基础原理进行分析
参考资料
周志华.《机器学习》