机器学习中如何选择合适的模型?-ML Note 61

Posted 讲编程的高老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习中如何选择合适的模型?-ML Note 61相关的知识,希望对你有一定的参考价值。

本文是吴恩达《机器学习》视频笔记第61篇,对应第6周第3个视频。

“Advice for applying machine learning:——Model selection and training/validation/test sets”



01

笔记


本视频主要讲解两个问题:(1)模型选择问题;(2)样本数据集的处理,在上节视频的基础上将样本集更细分为训练集、验证集、测试集三类。


本节实质上还是讲如何通过样本数据找到一个适合于解决对应问题的算法模型。

还是说过拟合

如果用多项式拟合,对训练集的拟合效果很好,但往往意味着很差的泛化能力。就是越是好看的花架子,实战可能越差。

机器学习中如何选择合适的模型?-ML Note 61

那到了实际问题时,如果采用多项式拟合,最高要选择多少次方?如下图的1到10次方。

机器学习中如何选择合适的模型?-ML Note 61

代表模型选择的参数

那,如果想用一个算法来选择这个多项式的最高次幂,我们可以把这个最高次幂也设计为一个待求解的参数d,那么对应的每个d的取值都会有一组多项式的系数参数 heta,对应的每个模型也会有一个测试误差函数。如下图:

机器学习中如何选择合适的模型?-ML Note 61

那求解最好模型的问题,也就变成了求解上图中最小测试误差的问题。比如最后可能d=5最好,那对应的五次多项式的拟合结果即是所求。

机器学习中如何选择合适的模型?-ML Note 61

上面所说的就是模型选择的基本思路。

一个例子

还是卖房子的例子(面积_平方英尺和价格),样本集分成训练集、验证集、测试集(6:2:2的比例进行切分)

机器学习中如何选择合适的模型?-ML Note 61

对应的误差函数如下图:

机器学习中如何选择合适的模型?-ML Note 61

上图中的三个函数实际上是一回事,只是参与运算的样本不一样而已。


面对模型选择问题时,我们将可能的模型的最小误差函数都给求出来,先是用训练集训练各个模型的参数,然后用验证集找出最好的那个模型,最后再用测试集来进行测试。有些情景是验证集和测试集用的同一个子集,但是不建议这样做。




02

视频

机器学习中如何选择合适的模型?-ML Note 61




关注公众号:
加作者好友,进入学习群:


以上是关于机器学习中如何选择合适的模型?-ML Note 61的主要内容,如果未能解决你的问题,请参考以下文章

怎样快速判断不好的机器学习算法是高偏差还是高方差?-ML Note 6

神经网络的模型表示之1—ML Note46

「ML 实践篇」机器学习项目落地

神经网络的反向传播算法—ML Note 52

机器学习没有合适项目?送你840个ML Python库!

ML学习七——正则化