【ML】欠拟合和过拟合的一些判别和优化方法(吴恩达机器学习笔记)

吴恩达老师的机器学习教程笔记

减少误差的一些方法

  1. 获得更多的训练实例——解决高方差
  2. 尝试减少特征的数量——解决高方差
  3. 尝试获得更多的特征——解决高偏差
  4. 尝试增加多项式特征——解决高偏差
  5. 尝试减少正则化程度 λ——解决高偏差
  6. 尝试增加正则化程度 λ——解决高方差

什么是欠拟合?什么是过拟合?

欠拟合:在训练集上存在较大误差
过拟合:在训练集上误差较小,在测试集(实际使用)上误差较大

如何计算?
将数据集分为70%训练集,30%测试集。
在训练集上进行训练,在测试集上计算误差。

对于线性回归模型:利用测试集计算误差
对于逻辑回归模型:利用测试集计算误差、还要计算误分类比率(错误分类占总分类的比率)

多模型选择

假设有多个不同次数的二项式模型等待选择:
在这里插入图片描述
将训练集分为训练集60%,交叉验证集20%,测试集20%
模型选择的方法为:

  1. 使用训练集训练出 10 个模型
  2. 用 10 个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
  3. 选取代价函数值最小的模型
  4. 用步骤 3 中选出的模型对测试集计算得出推广误差(代价函数的值)

判断欠拟合和过拟合

在这里插入图片描述

  1. 训练集误差和交叉验证集误差近似时:偏差/欠拟合
  2. 交叉验证集误差远大于训练集误差时:方差/过拟合

正则化方法来防止过拟合

在我们在训练模型的过程中,一般会使用一些正则化方法来防止过拟合。但是我们可能会正则化的程度太高或太小了,即我们在选择 λ 的值时也需要思考与刚才选择多项式模型次数类似的问题。
在这里插入图片描述
我们选择一系列的想要测试的 𝜆 值,通常是 0-10 之间的呈现 2 倍关系的值(如:0,0.01,0.02,0.04,0.08,0.15,0.32,0.64,1.28,2.56,5.12,10共 12 个)。我们同样把数据分为训练集、交叉验证集和测试集。
在这里插入图片描述
选择𝜆的方法为:
1.使用训练集训练出 12 个不同程度正则化的模型
2.用 12 个模型分别对交叉验证集计算的出交叉验证误差
3.选择得出交叉验证误差最小的模型
4.运用步骤 3 中选出模型对测试集计算得出推广误差,我们也可以同时将训练集和交叉验证集模型的代价函数误差与 λ 的值绘制在一张图表上:
在这里插入图片描述
1.当 𝜆 较小时,训练集误差较小(过拟合)而交叉验证集误差较大
2.𝜆 的增加,训练集误差不断增加(欠拟合),而交叉验证集误差则是先减小后增加

学习曲线

欠拟合状态:
在这里插入图片描述
随着训练集加入更多的数据,绘制误差,发现增加数据并不能减少误差。

过拟合状态:
在这里插入图片描述
欠拟合状态,随着测试集的增加,可以减少误差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/178875.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口测试 —— Jmeter 之测试片段的应用

一、什么是测试片段? 控制器上一种特殊的线程组,它与线程组处于一个层级。与线程组不同的就是:测试片段不会执行。它是一个模块控制器或者被控制器应用时才会被执行。通常与Include Controller或模块控制器一起使用。 1.1 那它有啥作用&…

前端跨界面之间的通信解决方案

主要是这两个方案,其他的,还有 SharedWorker 、IndexedDB、WebSocket、Service Worker 如果是,父子嵌套 iframe 还可以使用 window.parent.postMessage(“需要传递的参数”, ‘*’) 1、localStorage 核心点 同源,不能跨域(协议、端…

在docker下安装suiteCRM

安装方法: docker-hub来源:https://hub.docker.com/r/bitnami/suitecrm curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml//然后可以在docker-compose.yml文件里修…

Mysql词法分析实验(二)

表名叫select123能不能创建一个表? 在 MySQL 中,可以创建一个名为 select123 的表,但由于 SELECT 是 MySQL 的一个保留关键字,通常建议避免使用它作为表名的一部分,以防止潜在的解析错误或混淆。如果确实需要使用这样…

缓存穿透、缓存击穿、缓存雪崩

目录 一、缓存的概念 1.为什么需要把用户的权限放入redis缓存 2.为什么减低了数据库的压力呢? 3.那么什么情况下用redis,什么情况下用mysql呢? 4.关于权限存入redis的逻辑? 二、使用缓存出现的三大情况 1.缓存穿透 1.1概念 1.2出现原…

五年制专转本备考中如何进行有效的自我管理

时间管理 0 1 一天中的4个记忆黄金时间 清晨起床后,适合学习难以记忆的内容;8:00—10:00,适宜学习需要周密思考、分析判断的内容,是攻克难题的最佳时间;18:00后的两个小时&#x…

MXNet中图解稀疏矩阵(Sparse Matrix)的压缩与还原

1、概述 对于稀疏矩阵的解释,就是当矩阵里面零元素远远多于非零元素,且非零元素没有规律,这样的矩阵就叫做稀疏矩阵,反过来就是稠密矩阵,其中非零元素的数量与所有元素的比值叫做稠密度,一般稠密度小于0.0…

今年跳槽成功测试工程师原来是掌握了这3个“潜规则”

随着金九银十逐渐进入尾声,还在观望机会的朋友们已经开始焦躁:“为什么我投的简历还没有回音?要不要趁现在裸辞好好找工作?” “金九银十”作为人们常说的传统“升职加薪”的黄金季节,也是许多人跳槽的理想时机。然而…

云原生下GIS服务规划与设计

作者:lisong 目录 背景云原生环境下GIS服务的相关概念GIS服务在云原生环境下的规划调度策略GIS服务在云原生环境下的调度手段GIS服务在云原生环境下的服务规划调度实践 背景 作为云原生GIS系统管理人员,在面对新建的云GIS系统时,通常需要应对…

【Rust】快速教程——从hola,mundo到所有权

前言 学习rust的前提如下: (1)先把Rust环境装好 (2)把VScode中关于Rust的插件装好 \;\\\;\\\; 目录 前言先写一个程序看看Rust的基础mut可变变量let重定义覆盖变量基本数据类型复合类型()和 [ …

Java中的继承

文章目录 前言一、为什么需要继承二、继承的概念三、继承的语法四、父类成员访问4.1子类中访问父类的成员变量1.子类和父类不存在同名成员变量2.子类和父类成员变量同名 4.2子类中访问父类的成员方法1.成员方法名字不同2.成员方法,名字相同 五、super和this关键字六…

很多工程师,最后都是被生活裹挟,没法一直在技术路径走到极致

最近比较少更了,但内容一直在写,只是从长文变成了短文,直接发朋友圈了。 如果喜欢我写的内容,请移步到朋友圈。 我是一个不喜欢讲哲理的人,感觉哲学都是理论,都是鸡血,很难落地,我…