机器学习06-模型选择
有哪些方法可以改善机器学习的性能?
- 获得更多训练数据—适用于高方差问题
- 减少特征来避免过拟合—高方差
- 增加特征—高偏差
- 增加多项式特征(如 )—高偏差
- 增大正则化参数 的值—高方差
- 减小正则化参数 的值—高偏差
训练、验证、测试集
对于一个模型,假设我们在训练集上拟合参数 ,那么拟合后的模型在训练集上的效果是不能预测出假设对新样本的泛化能力的。因为这些参数能够很好的拟合训练集,因此可能在训练集上拟合的很好,但是对其他新样本来说就不一定那么好了。
而如果在测试集上拟合参数 ,假设在测试集上的拟合效果并不能公正的评估这个假设在未见过的新样本的效果
为了解决模型选择出现的问题,我们通常会采用如下方法来评估一个假设。
给定一个数据集,我们不把它分为训练集和测试集两部分,而是把它分为训练集、验证集和测试集三部分(比例通常为6:2:2,但具体还是要看数据集的大小)
划分完数据集后,便可得到训练误差、验证误差和测试误差。
模型选择步骤:
- 对每个假设模型计算出使训练集代价函数 最小的参数
- 根据前一步骤计算出的 ,在验证集上计算代价函数,选出使验证集代价函数最小的模型。
- 根据选出的模型计算测试集代价函数,评估模型的泛化能力。
诊断偏差与方差
下图中,横轴表示多项式的最高次数,纵轴表示误差,从图中可以看出,当 d 较小时,训练集和验证集的代价函数都较大且比较接近,此时模型欠拟合,偏差大。
当 d 较大时, ,此时模型过拟合,方差大。
正则化与偏差、方差的关系
当正则化参数 很大时,对 的惩罚太大, 等于 0 或者接近于 0,此时假设函数近似为 ,模型欠拟合,此时 都很大,模型具有高偏差。
当正则化参数 很小时,模型与没有加入正则化时差不多,可能会使模型过拟合,模型具有高方差
学习曲线
训练样本集大小与误差的关系
当训练样本集数量较少时,训练集很容易拟合所有的数据,但是对新样本泛化能力较差,此时,训练集代价函数很小,而验证集代价函数很大。当训练样本集数量较多时,模型越来越难拟合所有数据,但是泛化能力增强了,因此,训练集代价函数随着训练集的增大而增大,验证集代价函数随着训练集的增大而减小。