过拟合:对训练数据拟合精准,但是对未知的数据预测能力差
如何应对?
2、丢弃一些不能帮助正确预测的特征。
2.1、手工选择丢弃特征
2.2、使用模型选择方法(如PCA)
3、正则化。保留所有的特征,减少参数的大小

预防过拟合的方法步骤:
1、打乱数据集;2、划分数据:70%训练集 + 30%测试集

帮助模型选择的方法:
交叉验证:1、打乱数据集;2、划分数据:60%训练集 + 20%交叉验证集 + 20%测试集

如何选择模型?
1、预先训练10个模型
2、计算10个模型的交叉训练集的预测误差
3、选取代价函数最小的模型
4、用步骤3选出的模型对测试集计算得出推广误差

诊断偏差和方差
高偏差和高方差的问题基本上是欠拟合和过拟合的问题
1、Jtraing(训练集误差)和Jcv(交叉验证集误差)都很大:偏差/欠拟合
2、Jtraing小,Jcv远远大于Jtraing:方差/过拟合

正则化和偏差方差
正则化因子lambda的选择方法:
1、使用训练集训练12个不同程度正则化的模型
2、计算12个模型的交叉训练集的预测误差
3、选取代价函数最小的模型
4、用步骤3选出的模型对测试集计算得出推广误差

lambda较小时:
Jtraing很小,而Jcv较大:方差/过拟合
随着lambda的增大:
Jtraing不断增大(欠拟合),Jcv先减小后增大
因此,应该选择适中的lambda,不能过大或过小

学习曲线:即训练样本数目m和Jtraing、Jcv的关系图
在高偏差/欠拟合的情况下,增加训练集样本数不一定能够提升模型能力,应该考虑切换模型
在高方差/过拟合的情况下,增加训练集样本数可以一定程度的提升模型能力

总结一下:

欠拟合/偏差大:
现象:Jtrain较大,同时Jcv/Jtest较大
原因:模型复杂度不够,对训练数据集拟合程度较低;特征数量n相比训练样本数量m较少;正则化因子lambda较大
解决办法:
1、使用数次较高的多项式特征,增加模型复杂度
2、增加特征数量n
3、减小正则化因子lambda的值

过拟合/方差大:
现象:Jtrain较小,同时Jcv/Jtest较大
原因:模型复杂度过高,对训练数据集拟合非常好,但是对测试数据集效果差;样本数量m相比特征数量n较少;正则化因子lambda较小
解决办法:
1、降低模型模型复杂度,降低多项式特征次数
2、减少影响较小的特征数量/增加样本数量
3、增大正则化因子lambda

针对神经网络:
模型效果:大神经网络+正则化 > 小神经网络
选择隐藏层数目时,从1层开始逐层增加,选择交叉验证集代价函数最小的网络。

机器学习系统设计和诊断方法学习总结相关推荐

  1. MIT18.065 数据分析、信号处理和机器学习中的矩阵方法-学习笔记

    文章目录 MIT18.065 数据分析.信号处理和机器学习中的矩阵方法 Lecture 1 The Column Space of A Contains All Vectors Ax A=CR A=C ...

  2. 每天五分钟机器学习:模型效果不好怎么办?使用诊断方法解决问题

    本文重点 当我们在设计机器学习的系统时,什么时候才能保证我们设计的过程是正确的,也就是说当模型出现问题,我们应该如何解决呢? 模型效果不好 通过对数据的学习得到了学习参数θ,所以我们的模型也就是假设函 ...

  3. 基于深度学习模型的电力变压器故障声音诊断方法研究-论文阅读笔记

    基于深度学习模型的电力变压器故障声音诊断方法研究 论文来源 DOI:10.16311/j.audioe.2020.01.020 论文目的 在变压器不停止工作的情况下,基于变压器的三种状态:正常.老化和 ...

  4. 机器学习08机器学习系统设计

    首先要做什么 一个垃圾邮件分类器算法为例: 为了解决这样一个问题,首先要做的决定是如何选择并表达特征向量 x. 可以选择一个由 100 个最常出现在垃圾邮件中的词所构成的列表,根据这些词是否有在邮件中 ...

  5. 机器学习(十一)机器学习系统设计

    文章目录 Log 一.确定执行的优先级(Prioritizing what to work on: Spam classification example) 1. 垃圾邮件分类器的建立 2. 可能会遇 ...

  6. 关于机器学习系统设计的一些思路

    Machine Learning System Design[机器学习系统设计] 主要涉及在设计复杂的机器学习系统时,可能遇到的主要问题.同时,我们也会试着给出一些关于如何巧妙构建一个复杂的机器学习系 ...

  7. 机器学习系列16:机器学习系统设计

    https://www.toutiao.com/a6700782123118232068/ 机器学习系列16:机器学习系统设计 偏斜分类的误差评估 举个例子,我们想训练一个模型去诊断患者是否患有癌症. ...

  8. Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”

    Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...

  9. Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning

    原文见http://blog.csdn.net/abcjennifer/article/details/7758797,加入了一些自己的理解 本栏目(Machine learning)包含单參数的线性 ...

最新文章

  1. 工业级别sd卡存贮slc mlc tlc
  2. vue项目通过命令行传参实现多环境配置(基于@vue/cli)
  3. python语言中strike_Python学习笔记
  4. findbugs插件_Intellij静态代码扫描插件SpotBugs
  5. 华为harmonyos公测,华为开启HarmonyOS2.0开发者Beta公测招募第二期
  6. de4dot 反编译
  7. PacBio English 经典语句
  8. DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题
  9. 华东理工大计算机专业,华东理工大学计算机专业怎么样(计算机专业大学排名50)...
  10. JRE和JDK的区别(笔记)
  11. 支付宝-相互保,创新。
  12. R语言时间序列分析-根据aic值选择arima模型
  13. 文档流及其特性 块级元素与行内元素的区别 浮动的清除方法(解决浮动塌陷)
  14. 小程序-报错 xxx is not defined (已解决)
  15. Matlab画散点图并拟合(使用cftool函数拟合)
  16. FFmpeg命令行工具系列二---转码流程及过滤器
  17. 失业了也别怕,你还有这些钱可以拿!
  18. SpringCloud系列之服务注册中心(Eureka)
  19. CUDA安装失败怎么办?
  20. DockerFile---构建docker镜像的文件

热门文章

  1. 关于微信小程序正式上线的那些事儿
  2. 边缘计算系统逻辑架构:云、边、端协同,定义及关系
  3. kali hydra工具介绍
  4. 关于1^∞型极限的一些想法
  5. 「完结撒花」使用intel realsense D435i深度相机获取信息,DOBOT MG400机械手实现动态实时抓取,并做了个GUI界面(python实现)
  6. Error:(3, 41) java: 程序包org.apache.kafka.clients.producer不存在 错误提示解决办法
  7. php面试理论之精选
  8. 华为天才少年造出自动驾驶单车!图纸已开源,硬件成本一万!
  9. 关于skeaz128.h芯片包总头文件V1.3版本与V1.2版本的变更说明
  10. Linux桌面录屏分享