机器学习算法的测试——ML Note 60

Posted 讲编程的高老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习算法的测试——ML Note 60相关的知识,希望对你有一定的参考价值。

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

“Advice for applying machine learning:——Evaluating a hypothesis”




01

笔记


一个问题可能有很多算法可以解决,一个算法也可以用来解决很多问题。具体到你碰到的某个任务上时,你如何选择合适的算法呢?换个思路,你如何知道某个算法(包括这个算法得到的模型)是否适用于你碰到的这个问题呢?

过拟合问题

前面我们也大致接触过过拟合、欠拟合这俩词,咋回事呢?如下图。这样一组训练样本,需要有一条曲线来拟合它们的走势,怎么弄?

机器学习算法的测试——ML Note 60

如果训练误差足够小,那么肯定是一条完美地穿过每个点的曲线最好了。如下图。

机器学习算法的测试——ML Note 60

但是,这样有个麻烦事。就是这条曲线对于当前这几个训练样本是很完美的、误差很小的,但是一旦碰到实际场合就麻烦了。就像武术表扬,架子挺漂亮但实战的时候打不赢散打那种简单实用的技击技巧。这就是所谓的过拟合了。

怎样判断是否过拟合了呢?

上面那种简单的二维平面的例子,可以直接画画假设函数h(x)的曲线就能直观的看出是否过拟合。但是如果研究对象的自变量(特征)过多,怎么办呢?一个比较简单的办法,将训练集进行拆分,拆分成训练集和测试集。

一个例子,房价和面积的关系。训练集和测试集的样本数的比例一般是7:3.  当然,对于一些样本,我们需要按比例随机抽取训练集和测试集。

机器学习算法的测试——ML Note 60

以线性回归为例

针对回归问题的测试集。

第一步:通过训练集得出线性回归模型的参数;

第二步:计算上一步的模型对测试集的预测误差。

机器学习算法的测试——ML Note 60

逻辑回归的测试

即是对于分类问题,测试集的使用。

步骤和回归问题的一样,只是计算测试集上的预测误差的方程式不同。

机器学习算法的测试——ML Note 60

其本质就是通过一个计算值反映训练集上得到的模型对测试集的点分类正确率。

这一点,回归模型和分类模型的测试是一样的。



02

视频

机器学习算法的测试——ML Note 60




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


以上是关于机器学习算法的测试——ML Note 60的主要内容,如果未能解决你的问题,请参考以下文章

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

PHP机器学习库php-ml的简单测试和使用

PHP机器学习库php-ml的简单测试和使用

机器学习面试--一句话概括传统ML算法

怎样理解神经网络的反向传播算法-ML Note 53

机器学习总结(参考源码ml.hpp)