机器学习—再次决定下一步做什么

news/2024/11/21 19:55:07/

通过看Jtrain和Jcv,即训练错误和交叉验证错误,或者甚至绘制学习曲线,你可以试着去感受一下,你的学习算法是高偏差还是高方差,一种学习算法,会经常看训练错误和交叉验证错误,尝试判断算法是高偏差还是高方差,事实证明,这将帮助你更好地决定下一步要尝试什么。

如果你对预测房价实施了正则化线性回归,但你的算法在预测中犯了不可接受的大错误,下一步要尝试什么,这是六个想法,获取更多的训练示例,尝试一组小功能,附加功能等等。事实证明,这六项中的每一项要么有助于修复高方差要么是高偏见问题,尤其是如果你的学习算法有很高的偏差,其中三种技术将是有用的,如果你的学习算法有很高的方差,那么这三种不同的技术将是有用的,1.获取更多的训练示例,如果你的算法有很高的偏差,唯一能做的就是自己获取更多的训练数据,可能用处不大,但相比之下,如果你的算法有很高的方差,说它太适合一个非常小的训练集,那么得到更大的训练例子会有很大的帮助,因此,获得更多训练示例的第一个选择有助于解决高方差问题;2.有时如果你的学习算法有太多的特征,然后它给了算法太多的灵活性来拟合非常复杂的模型,如果你把X X² X³,一直到四次方,如果你能消除其中的一些,那么模型就不会那么复杂了,它不会有这么大的方差,如果你怀疑你的算法有许多实际上不相关的特性或有助于预测房价或者如果你怀疑有一些多余的功能,然后消除或减少特征的数量,将有助于降低算法过度拟合数据的灵活性,所以这也可以帮助修复高方差;3.反过来说,获取附加功能,那只是增加了额外的功能,与去一个较小的功能集相反,这将帮助修复一个高偏差问题作为一个具体的例子,如果你试图根据房子的大小来预测房子的价格,但是,事实证明,房子的价格取决于卧室的数量,在楼层数和房龄上,除非添加这些额外的特性,否则算法永远不会做的那么好,所以这是一个高偏差问题,因为你在训练场上做不到,当你只知道大小,只有当你告诉算法有多少间卧室时,有几层,这房子有几年历史了,有了足够的信息,甚至在训练集上做得更好,因此,添加额外的特性是解决高偏差问题的一种方法;4.添加多项式特性有点像添加附加特性,所以如果你是线性函数直线,不能很好地适应训练集,然后添加额外的多项式特性可以帮助你在训练集上做的更好,是解决高偏差问题的一种方法,5.然后递减lambda,对正则化参数使用较低值的方法,这意味着我们将减少对这一术语的关注,帮助解决高偏差问题;6.最后很好的增加lambda,说明过度拟合了数据,因此,增加lambda是有意义的,如果它过度适应训练集,只是把太多注意力放在训练上,但以推广新例子为代价,因此,增加lambda将迫使算法拟合更平滑的函数,也许是一个不那么摇摆不定的功能,用它来解决一个高方差问题

如果你发现你的算法有很高的方差,两个主要的修复方法是获得更多的训练数据或者简化模型(获得较小的特征集,增加正则化参数lambda),所以你的算法不太灵活,无法适应非常复杂的情况,非常摆动的曲线;如果你的算法有很高的偏差,那就意味着即使在训练场它也做的不好,主要的修复是使模型更加强大,使其具有更大的灵活性,以适应更复杂或更灵活的功能,因此一些方法是给它额外的功能,或者增加多项式特征,或者减少正则化参数lambda

如果你应该通过减少训练集大小来修复高偏差,那实际上没有帮助,如果减少训练集大小,会更适合训练集,但这会使交叉验证错误恶化以及你的学习算法的性能,所以不要随意扔掉训练例子,只是为了解决一个高偏差问题。


http://www.ppmy.cn/news/1548841.html

相关文章

AJAX学习(24.11.1-24.11.14)(包含HTTP协议)

AJAX学习(24.11.1-11.14) 来源: 传智 | 高校学习平台-首页 传智播课:黑马程序员 1.服务器和客户端 1.服务器:存放和对外提供资源的电脑。 2.客户端(用户):获取和消费资源的电脑。&#xff0…

2025年软考报名时是什么时候?开考科目如何安排?

2024下半年软考已经结束啦!很多想要报考2025上半年的考生已经进入准备状态了,也有部分考生想问2025上半年软考会考什么科目呢?大概什么时候报名考试,在此整理了部分信息,供各位考生参考! 2025年考试报名时…

6 C++ 标准库类型 string

标准库类型string表示可变长的字符序列&#xff0c;使用string类型必须首先包含头文件#include <string>。作为标准库的一部分&#xff0c;string定义在命名空间std中。 1 定义和初始化string对象 下表列出了初始化string对象的方式。 表 1&#xff1a;初始化string语句…

前端之BFC:什么是BFC、开启了BFC能解决什么问题、如何开启BFC

1.什么是BFC 通俗点讲 2.开启了BFC能解决什么问题 3.如何开启BFC 即如下代码&#xff1a;

【PPTist】开源PPT编辑器初体验

前言&#xff1a;PPTist 是一款基于 Vue3.x TypeScript 构建的开源的PPT在线编辑器&#xff0c;功能很齐全&#xff0c;体验感很好&#xff0c;下载运行也很方便&#xff0c;没有奇奇怪怪的报错&#xff0c;分享给大家&#xff0c;以后可能会出系列&#xff01; 下载运行就不…

ubuntu 16.04 中 VS2019 跨平台开发环境配置

su 是 “switch user” 的缩写&#xff0c;表示从当前用户切换到另一个用户。 sudo 是 “superuser do” 的缩写&#xff0c;意为“以超级用户身份执行”。 apt 是 “Advanced Package Tool” 的缩写&#xff0c;Ubuntu中用于软件包管理的命令行工具。 1、为 root 用户设置密码…

项目进度计划表:详细的甘特图的制作步骤

甘特图&#xff08;Gantt chart&#xff09;&#xff0c;又称为横道图、条状图&#xff08;Bar chart&#xff09;&#xff0c;是一种用于管理时间和任务活动的工具。 甘特图由亨利劳伦斯甘特&#xff08;Henry Laurence Gantt&#xff09;发明&#xff0c;是一种通过条状图来…

spring-logback引用外部文件

背景 在spring微服务开发和云部署中&#xff0c;都涉及到日志的收集&#xff0c;很多时候为例方便管理和开发&#xff0c;很多公司都会开发一些基础配置代码。其中日志就是很重要的部分&#xff0c; 为了方便部署、收集、查看&#xff0c;所以日志文件需要存储在同一个…