首先,区分偏差和方差。事实上,偏差和方差都是误差,是衡量模型预测质量的标准。误差 = 方差 + 偏差。
我们来看一个经典的靶心图:
图中红色靶心是数据的实际值或真实值,蓝色点集是估计值或预测值。值得注意的是,所有蓝点的输入样本都是相同的,那么为什么会得到不同的预测值呢?因为这里表示的是:我们使用不同的训练集(从所有样本中选择不同的训练集)进行训练,得到不同的模型参数,即不同的训练模型,然后将相同的样本输入到这些模型中,得到蓝色点集的预测值。
因此机器学习对偏差和方差的定义:
偏差:描述预测值(估计值)的期望值与真实值之间的差异。偏差越大,离真实数据集越远。
Variance:描述预测值的变化范围和离散度,即与其期望值的距离。方差越大,预测结果数据的分布越分散。
那么为什么高偏差欠拟合和高方差过拟合呢?
如果一个模型是欠拟合的,它在训练集上有很大的损失值,在测试集上有很大的损失值,这意味着蓝色点集偏离了红色靶心,预测值偏离了真实数据集,即高偏差。
如果一个模型过拟合,它在训练集上的损失值很小,但在测试集上的损失值很大,这意味着模型复杂度太高,不同的训练集样本可以训练出差异很大的模型,结果预测值相差很大,导致高方差。
欠拟合(高偏差)解决方案:
- 添加功能
- 增加模型复杂性
- 降低正则化因子
过拟合(高方差)解决方案:
- 添加训练数据
- 降低模型复杂性
- 添加正则化参数
- 采用集成学习
对于一个机器学习系统的完成,吴恩达介绍,要保证一个系统是低偏差的,可以通过增加模型的复杂度来降低偏差,比如增加神经系统的隐藏层.然后增加数据集,可以用合成数据增强数据集以减少方差并提高模型性能。
文章出处登录后可见!
已经登录?立即刷新