学习笔记—诊断机器学习模型

应用机器学习过程中的建议

本文源自在Coursera平台学习machine learning 过程中的一些记录

在评价一个机器学习模型时,当你发现你的模型在测试集上的预测性能非常差时,通常有一下解决办法:
- 增加训练集样本量;
- 减少输入特征变量数目;
- 增加额外的特征变量;
- 增加多项式特征变量;
- 增大或降低lambda值;

要评价一个模型,一般可以采用70%的数据量做训练集,另外30%的数据量用作测试集,评价模型的泛化性能。

模型选择与样本集设置
怎样进行模型选择呢?
模型选择

首先,针对不同的参数集分别训练获得初步模型,然后分别用这些模型预测测试集样本,测试集误差最小的模型,即判断为最优模型。

一般在评价模型时,需要将样本集划分为训练集验证集测试集的组合,其对应的比例分别为6:2:2
为什么要划分成三组数据集呢?虽然模型训练过程中都未用到过验证集和测试集,但是模型选择过程中,是依赖验证集的。一般来说模型的泛化性能要略低于对验证集的预测性能,所以常用模型对前两步均未用到测试集样本的预测性能作为评价模型泛化性能的指标。

高偏差与高方差

模型的预测性能差,可能是由于出现了高偏差或者高方差(或者两者都出现了),下图形象地描述了高偏差和高方差分别对应的情况。
高偏差与高方差

如何判断你的模型是出现了高方差还是高偏差:
高偏差情况:模型对训练集的预测误差很大,对验证集的预测误差也很大,两者大致相当;
高方差情况:模型对训练集的预测误差很小,而对验证集的预测误差很大。
这里写图片描述

当模型的正则化惩罚过大时,容易出现高偏差情况,也就是欠拟合;当正则化惩罚过小时,容易出现高方差情况,也就是过拟合。因此需要通过比较模型对验证集数据的预测性能选择合适正则化惩罚系数。
这里写图片描述

作学习曲线

画出模型的学习曲线是另一个用于判断模型处于高偏差还是高方差状态的好方法。
作图方法:从小到大依次选择不同数量的样本量作为训练集,训练获得模型,分别计算这些模型对训练集和验证机样本的预测误差,将预测误差及其所对应的训练集样本数量在图上显示。
高偏差
从上图我们可以发现,当模型处于高偏差状态时,增加更多训练样本往往没什么帮助,即模型的预测性能不会变得更好。
高方差
当模型处于高方差状态时,往往增加更多训练样本会有帮助。

因此在诊断一个新的训练模型时,如果该模型对验证集的预测误差很大,
- 增加训练集样本量; 适用高方差
- 减少输入特征变量数目; 适用高方差
- 增加额外的特征变量; 适用高偏差
- 增加多项式特征变量; 适用高偏差
- 增大lambda值; 适用高偏差
- 降低lambda值; 适用高方差

这里写图片描述

注:如无特殊说明,以上所有图片均截选自吴恩达的在Coursera开设的机器学习课程的课件ppt.

(第一次用C博客,写作体验比新浪博客简直要好一万倍!)

发布了32 篇原创文章 · 获赞 7 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览