《scikit-learn机器学习常用算法原理及编程实战》—3 机器学习理论基础

举报
华章计算机 发表于 2019/05/31 16:47:57 2019/05/31
【摘要】 本书摘自《scikit-learn机器学习常用算法原理及编程实战》一书中的第3章,第3.1节,编著是黄永昌 .

第3章  机器学习理论基础

  本章介绍了机器学习的理论基础,包括算法模型性能评估的指标和评估方法。本章是整本书最关键的理论基础知识,对理解本书其他章节内容有非常重要的作用。本章涵盖的主要内容如下:

* 模型过拟合和欠拟合;

* 模型的成本及成本函数的含义;

* 评价一个模型好坏的标准;

* 学习曲线,以及用学习曲线来对模型进行诊断;

* 通用的模型优化方法;

* 其他模型评价标准。

3.1  过拟合和欠拟合

  过拟合是指模型能很好地拟合训练样本,但对新数据的预测准确性很差。欠拟合是指模型不能很好地拟合训练样本,且对新数据的预测准确性也不好。

  我们来看一个简单的例子。首先,生成一个20个点的训练样本:

  

  import numpy as np

  n_dots = 20

  x = np.linspace(0, 1, n_dots)                   # [0, 1] 之间创建 20 个点

  y = np.sqrt(x) + 0.2*np.random.rand(n_dots) - 0.1;

  

  训练样本是,其中r是[-0.1, 0.1]之间的一个随机数。

  然后分别用一阶多项式、三阶多项式和十阶多项式3个模型来拟合这个数据集,得到的结果如图3-1所示。

?说明:图中的点是我们生成的20个训练样本;虚线中实际的模型;实线是用训练样本拟合出来的模型。

  在图3-1中,左边是欠拟合(underfitting),也称为高偏差(high bias),因为我们试图用一条直线来拟合样本数据。右边是过拟合(overfitting),也称为高方差(high variance),用了十阶多项式来拟合数据,虽然模型对现有的数据集拟合得很好,但对新数据预测误差却很大。只有中间的模型较好地拟合了数据集,可以看到虚线和实线基本重合。

image.png

图3-1  过拟合与欠拟合

  通过图3-1,读者对过拟合(高方差)和欠拟合(高偏差)有了直观的了解。本节的示例程序请参阅随书代码ch03.01.ipynb。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。