文章目录

  • 1.机器学习诊断法
  • 2.评估假设
  • 3.模型选择和训练、验证、测试集
  • 4.诊断方差和偏差
  • 5.正则化和偏差、方差
  • 6.学习曲线
  • 7.小结

1.机器学习诊断法

  这是一种测试法,通过这种测试能够了解算法在哪里出了问题,也能告知要想改进一种算法的效果什么样的尝试才是有意义的。这些诊断法的执行和实现是需要花些时间来理解和实现,但这样做的确是把时间用在了刀刃上,因为它能节省时间提早发现某些方式是无效的。

2.评估假设

如下给出了一种评价假设的标准方法
展示了一种典型的方法来训练和测试你的学习算法,如线性回归算法。
1.对训练集进行学习得到参数θ,即最小化训练误差J(θ),这里的J(θ)是使用70%数据来定义得到的(训练数据)
2.计算出测试误差

  如果是考虑分类问题,比如说使用逻辑回归的时候,训练和测试逻辑回归的步骤与之前所说的非常类似:
1.要从训练数据中(即70%的数据中)学习得到参数θ
2.使用如下方法计算测试误差

3.模型选择和训练、验证、测试集

  为了解决模型选择出现的问题,我们采用如下方法来评估一个假设:给定一个数据集,将它分为三个部分,训练集、交叉验证(验证集)、测试集。

  我们已经定义了训练集、交叉验证集(又称验证集)、测试集,同样我们可以定义训练误差、交叉验证误差和测试误差

  当面对模型选择问题时,我们要用交叉验证集来选择模型,而不是用测试集。

  我们首先要选取第一种模型然后最小化代价函数,得到对应的参数向量θ,记第i个模型求得的参数向量为θ(i),接下来使用交叉验证集来测试,然后计算出Jcv(i))来观察这些假设模型在交叉验证集上的效果如何。之后将选择交叉验证误差最小的那个假设作为我们的模型。这个假设是d次多项式,这意味着我们的参数d不再用测试集来拟合了,可以用Jtest(d))来衡量算法选出的模型的泛化误差了

4.诊断方差和偏差

  用d表示假设函数的多项式次数,已知训练误差与验证误差的定义如下:

  随着多项式次数的增大,我们对数据拟合得越来越好,对应的训练误差和验证误差也会随之改变。


对于高偏差(欠拟合)的情况:
训练误差Jtest(θ)会很大,验证误差Jcv(θ) ≈ 训练误差Jtest(θ)

对于高方差(过拟合)的情况:
验证误差Jcv(θ)会很小,验证误差Jcv(θ) >> 训练误差Jtest(θ)

5.正则化和偏差、方差

有正则化项的线性回归

选择正则参数λ
  已知我们对于Jtrain(θ)、Jcv(θ)、Jtest(θ)的定义都是平均的误差平方和,即不适用正则化项的训练集、验证集和测试集的平均的误差平方和的一半。

模型选择在选择正则化参数λ时的应用:

  再次申明一下:我们用交叉验证集来拟合参数θ,选出最小的θ对应的模型,然后再用它的测试集来更准确的估计出参数θ对于新样本的泛化能力。

  当改变正则化参数λ时,交叉验证误差和训练误差怎么变化:

6.学习曲线

  学习曲线是一个很好的工具来判断某一个学习算法是否处于偏差、方差问题。

  如果学习算法正处于高偏差的情形,那么选用更多的训练集数据对于改善算法表现无益。

  当学习算法出现高方差时,使用更多的训练集数据对改进算法是有帮助的,同时能够知道你的学习算法是否处在高方差的问题。

7.小结

  我们试图用正则化的线性回归拟合模型,发现并没有达到我们预期的效果,我们提出如下的选择,判断哪些方法对解决什么问题有效?

  1. 收集更多的训练集数据–>解决高方差问题;
  2. 减少特征–>解决高方差问题;
  3. 选用更多的方差–>解决高偏差问题;
  4. 增加多项式特征(x12,x22,x1x2,etc)–>解决高偏差问题;
  5. 减小正则化参数λ–>解决高偏差;
  6. 增大正则化参数λ–>解决高方差;

神经网络与欠拟合、过拟合

吴恩达机器学习(二十一)神经网络(小结)相关推荐

  1. 吴恩达机器学习笔记week8——神经网络 Neutral network

    吴恩达机器学习笔记week8--神经网络 Neutral network 8-1.非线性假设 Non-linear hypotheses 8-2.神经元与大脑 Neurons and the brai ...

  2. 吴恩达机器学习(十一)—— 应用机器学习的建议

    吴恩达机器学习系列内容的学习目录 → \rightarrow →吴恩达机器学习系列内容汇总. 1. 决定下一步做什么 2. 评估假设函数 3. 模型选择和训练.验证.测试集 4. 诊断偏差和方差 5. ...

  3. 吴恩达机器学习(十一)K-means(无监督学习、聚类算法)

    目录 0. 前言 1. K-means的算法流程 2. 代价函数(优化目标函数) 3. K 的选择 学习完吴恩达老师机器学习课程的无监督学习,简单的做个笔记.文中部分描述属于个人消化后的理解,仅供参考 ...

  4. 吴恩达机器学习笔记 —— 10 神经网络参数的反向传播算法

    http://www.cnblogs.com/xing901022/p/9350271.html 本篇讲述了神经网络的误差反向传播以及训练一个神经网络模型的流程 更多内容参考 机器学习&深度学 ...

  5. 吴恩达机器学习笔记 —— 9 神经网络学习

    http://www.cnblogs.com/xing901022/p/9344621.html 本章讲述了神经网络的起源与神经元模型,并且描述了前馈型神经网络的构造. 更多内容参考 机器学习& ...

  6. 西瓜书+实战+吴恩达机器学习(十一)监督学习之集成学习

    文章目录 0. 前言 1. 集成方法 2. 结合策略 2.1. 平均法 2.2. 投票法 2.3. 学习法 3. 多样性度量 4. 多样性增强 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔, ...

  7. 吴恩达机器学习中BP神经网络算法公式的详细推导

      Andrew Ng在他的机器学习课程中讲述bp神经网络时,并没有深究这算法背后的推导过程,只是给了我们一个大体的执行步骤,实现了这个算法但却不知道这个算法背后的原理是件很痛苦的事.在看了知乎.cs ...

  8. 吴恩达机器学习(十一)正规方程

      对于某些线性回归问题,正规方程会给我们更好的方法来求参数θ的最优值.到目前为止,我们一直在使用线性回归的算法是梯度下降法,经过梯度下降的多次迭代来使θ收敛到全局最小值.   正规方程提供了一种求θ ...

  9. 3. 吴恩达机器学习课程-作业3-多分类和神经网络

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 3. ...

  10. 吴恩达机器学习(九)—— 神经网络:Learning

    吴恩达机器学习系列内容的学习目录→\rightarrow→吴恩达机器学习系列内容汇总. 1. 代价函数 2. 反向传播算法 3. 反向传播算法的直观理解 4. 实现注意:展开参数 5. 梯度下降 6. ...

最新文章

  1. 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析
  2. 读源码Apache-commons-lang3-3.1(三)
  3. Retrofit 2.0:有史以来最大的改进
  4. 【Java线程】线程协作
  5. 计算机基础--认识CPU
  6. CentOS用户和用户组的操作
  7. MSSQL DBA权限获取WEBSHELL的过程
  8. Mysql数据库多实例配置
  9. mac mongodb 安装
  10. (Java) 线程池
  11. 别吹了!Python程序员正在消失! 资深CTO:你才发现?
  12. A damn at han’s Windows phone book 笔记(3:ICE——In Case of Emergency)
  13. java小程序商城源码
  14. WinISO镜像文件使用简介
  15. 91卫图助手下载器永久免费啦
  16. 关于ESP8266WIFI模块的介绍
  17. 8.5 向量应用(三)——知识补充和梳理(夹角、距离和平面束)
  18. English——让步状语从句(一般现在时表将来)(三)
  19. error LINK2005: XXXX已经在 .obj 中定义
  20. at指令 meid_常用AT指令集 (转)

热门文章

  1. 末日觉醒服务器端文件,CryoFall末日觉醒GM指令大全 服务器管理员指令汇总
  2. python递归和循环的区别_Python递归与迭代
  3. python期末编程题_Python 语言程序设计二级教程第七章编程题
  4. php名片自动生成,利用PHP自动生成印有用户信息的名片
  5. kubelet 认证
  6. 慢学英文版UNIX/Linux系统管理员手册14
  7. ANSYS 17.0和proe 5.0如何关联?顺便把ANSYS与Inventor也关联上~
  8. 10年IT老兵给职场新人的一些建议
  9. 法务服务行业拓客的10个经典方法
  10. elasticsearch中文分词和拼音混合搜索