Machine Learning & Recommendation & NLP & DL机器学习与数据挖掘

机器学习基础(三): 模型评估与选择 - 方差与偏差

2019-09-26  本文已影响0人  阿瑟_TJRS

前言

符号定义

x:测试样本
D:训练集
f(x;D):基于训练集得到的模型对测试集的预测结果
y:样本x的真实标记
y_D:样本x在数据集上的标记

方差-偏差

泛化能力关注模型在不同数据集上的表现,因此使用数量相同的不同训练集进行模型学习训练,(回归任务)最后预测结果的期望是:

\bar{f}(x)=\mathbb{E}_D(f(x;D))
即不同训练结果的平均值

不同数据训练所产生的方差为:
var(x)=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]

噪声:\varepsilon=\mathbb{E}[(y-y_D)^2]
反映由于数据标记的错误引起的噪声

偏差:反映真实标记与实际预测的差别
bias^2(x)=(y-f(x))^2

分解

考察算法所期望的泛化误差:
\mathbb{E}(f;D)=\mathbb{E}_D[(f(x;D)-y_D)^2]
=\mathbb{E}_D[(f(x;D)-\bar{f}(x)+\bar{f}(x)-y_D)^2]
=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]+\mathbb{E}_D[(\bar{f}(x)-y_D)^2]+\mathbb{E}_D[2(\bar{f}(x)-y_D)(f(x;D)-\bar{f}(x))]

\color{red}{\bar{f}(x)=\mathbb{E}_D(f(x;D))}所以最后一项=0

=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]+\mathbb{E}_D[(\bar{f}(x)-y_D)^2]
=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]+\mathbb{E}_D[(\bar{f}(x)-y+y-y_D)^2]

//拆分操作

=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]+ \mathbb{E}_D[(\bar{f}(x)-y)^2]+\mathbb{E}_D[(y-y_D)^2]

+\mathbb{E}_D[2(y-y_D)(\bar{f}(x)-y)]
// 假设噪声期望为0 ,最后一项为0
=\mathbb{E}_D[(f(x;D)-\bar{f}(x))^2]+ \mathbb{E}_D[(\bar{f}(x)-y)^2]+\mathbb{E}_D[(y-y_D)^2]

\color{red}{=var(x)+\varepsilon+bias^2(x)}

即泛化误差可以分解为\color{red}{偏差、方差、与噪音之和}

偏差-方差的关系及示例

从上述分析可以看出,偏差和方差是一对相互冲突的量,存在"偏差-方差窘境"

为了模型效果更好,往往会多次训练,使得偏差更小;然而却容易过拟合,使得抗数据扰动能力不足,方差偏大
而训练次数比较小时,模型拟合能力不足,数据的扰动不足以让模型引起变化,从而方差偏小,偏差偏大

关系图
举例说明:
随机森林RF与xgboost:

总结

偏差-方差工具是非常有效的模型泛化能力解释工具,在今后的学习可以多使用该基础原理进行分析

参考资料

周志华.《机器学习》

上一篇 下一篇

猜你喜欢

热点阅读