如何判断欠拟合是因为模型选择错误还是超参数选择错误?

来源:8-6 验证数据集与交叉验证

神经旷野舞者

2018-03-06

是不是根据训练数据集的train_score很大,然后调了几次参数还是很大来判断?

写回答

2回答

liuyubobobo

2018-03-07

通常,我们只能看出我们的模型到底是欠拟合,还是过拟合。如果是在欠拟合的情况下,到底为什么欠拟合,这个背后的原因需要具体问题具体分析,不能一概而论,很难使用一个固定指标就看出来。学习机器学习算法,其实主要训练的就是这个具体情况具体分析的能力。


另外,在机器学习领域,很难讲模型选择的是正确还是错误。只有合适不合适。而且,合适不合适的界限也是模糊的。不过整体而言,在你的数据“没有问题”的情况下,欠拟合是相对好解决的。不管是什么模型,只要增加模型的复杂度,都一定会表现出“没有欠拟合,而开始过拟合“的“症状”。所以我在课程中说,解决“过拟合”才是机器学习的核心。至于如何解决过拟合,可以参考这里:https://coding.imooc.com/learn/questiondetail/39781.html


另外,一个需要考虑的非常重要的因素是:数据。很多时候,机器学习的结果不够好,可能你的模型选择也没有问题;你的超参数选择也没有问题;但是你的数据有问题。或者数据不够;或者数据不能涵盖所有情况;甚至数据和你要学习的内容根本不相关。在这些情况下,算法是无法补救的。

2
9
神经旷野舞者
回复
liuyubobobo
那应该是看具体问题要求的精度吧
2018-03-08
共9条回复

神经旷野舞者

提问者

2018-03-07

老师,课程里提到knn的k,和多项式回归的degree,它们从小变大,偏差方差都是此消彼长,我以为模型的偏差方差都是这么变化的。
提到的那些高偏差高方差的模型是怎么回事?
是不是模型选的也不对,然后数据也不好?

0
4
liuyubobobo
回复
神经旷野舞者
因为我们这个课程中用的例子,数据质量都很好。所谓随机生成的数据,只是在具有固定趋势的数据上加随机噪音而已。找一组学生的健康数据,然后预测他们的成绩,基本就是高偏差高方差。
2018-03-07
共4条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程