机器学习中学习曲线的 bias vs variance 以及 数据量m

机器学习中学习曲线的 bias vs variance 以及 数据量m

关于偏差、方差以及学习曲线为代表的诊断法:
在评估假设函数时,我们习惯将整个样本按照6:2:2的比例分割:60%训练集training set、20%交叉验证集cross validation set、20%测试集test set,分别用于拟合假设函数、模型选择和预测。

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

 

当你运行一个学习算法时,如果这个算法的表现不理想,那么多半是出现两种情况:要
么是偏差比较大,要么是方差比较大。换句话说,出现的情况要么是欠拟合,要么是过拟合
问题。那么这两种情况,哪个和偏差有关,哪个和方差有关,或者是不是和两个都有关?搞
清楚这一点非常重要,因为能判断出现的情况是这两种情况中的哪一种。其实是一个很有效
的指示器,指引着可以改进算法的最有效的方法和途径。

 

(二)偏差、方差、学习曲线Bias、Variance、Learning curve
1.特征量的度d
还是之前的例子,用二次曲线拟合,训练集和交叉验证集的误差可能都很小;但是你用一条直线去拟合,不管使用多高级的算法去减小代价函数,偏差仍然是很大的,这时候我们就说:多项式次数d过小,导致高偏差、欠拟合;类似的当用10次曲线去拟合,样本点都能经过,对应的代价函数(误差)为0,但是带入交叉验证集你会发现拟合很差,这时候我们说:多项式次数d过大,导致高方差、过拟合。所以,多项式次数d与训练集、交叉验证集误差的关系如下图。
我们通常会通过将训练集和交叉验证集的代价函数误差与多项式的次数绘制在同一张图表上来帮助分析:

以下图为例,你的模型选取其实直接关系到最终的拟合结果:

欠拟合Underfit || 高偏差High bias
正常拟合Just right || 偏差和方差均较小
过拟合Overfit || 高方差High variance

2.正则化参数λ
正则化参数λ越大,对θ惩罚的越厉害,θ->0,假设函数是一条水平线,欠拟合、高偏差;正则化参数越小,相当于正则化的作用越弱,过拟合、高方差。在我们在训练模型的过程中,一般会使用一些归一化方法来防止过拟合。但是我们可能会归一化的程度太高或太小了,即我们在选择 λ 的值时也需要思考与刚才选择多项式模型次数类似的问题。
我们选择一系列的想要测试的 λ 值,通常是 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 中选出模型对测试集计算得出推广误差, 我们也可以同时将训练集和交叉验证集模型的代价函数误差与 λ 的值绘制在一张图表上:

 

3.样本量m与学习曲线Learning curve
学习曲线是样本量与训练集、交叉验证集误差之间的关系,分为高偏差和高方差两种情况(欠拟合和过拟合)。
①高偏差(欠拟合):
根据下图右部分分析有,通过增加样本量两者误差都很大,即m的增加对于算法的改进无益。

也就是说在高偏差/欠拟合的情况下,增加数据到训练集不一定能有帮助。

如何利用学习曲线识别高方差/过拟合: 假设我们使用一个非常高次的多项式模型,并且归一化非常小,可以看出,当交叉验证集误差远大于训练集误差时,往训练集增加更多数据可以提高模型的效果。

 

也就是说在高方差/过拟合的情况下,增加更多数据到训练集可能可以提高算法效果。

最后,总结下:

提出的六种可选的下一步,让我们来看一看我们在什么情况下应该怎样选择:
1. 获得更多的训练实例——解决高方差
2. 尝试减少特征的数量——解决高方差
3. 尝试获得更多的特征——解决高偏差
4. 尝试增加多项式特征——解决高偏差
5. 尝试减少归一化程度 λ——解决高偏差
6. 尝试增加归一化程度 λ——解决高方差

出处:https://blog.csdn.net/zww275250/article/details/78628288

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119585.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Eureka工作原理

    Eureka工作原理上节内容为大家介绍了,注册中心Eureka产品的使用,以及如何利用Eureka搭建单台和集群的注册中心。这节课我们来继续学习Eureka,了解它的相关概念、工作流程机制等。Eureka作为SpringCloud体系中最核心、默认的注册中心组件,研究它的运行机制,有助于我们在工作中更好地使用它。Eureka核心概念回到上节的服务注册调用示意图,服务提…

  • java文本框获得输入焦点_文本框获得焦点和失去焦点的判断代码

    java文本框获得输入焦点_文本框获得焦点和失去焦点的判断代码文本框失去焦点事件、获得焦点事件onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件onpropertychange当属性改变发生该事件无论粘贴keyuponchange等,最为敏感先来看javascript的直接写在了input上jquery实现方法对于元素的焦点事件,我们…

  • Shiro 框架简单介绍

    Shiro 框架简单介绍Shiro 框架简单介绍

  • centos nmtui(centos7 nmtui配置)

    一般步骤:先编辑后激活,一步都不能少使用nmtui可以为新网卡添加连接,然后进行ip配置,也可以对已经存在且使用的网卡进行ip的直接设置…

  • Java集合框架关系图谱

    Java集合框架关系图谱Java集合是用于存储数量不等的对象的容器,还可以保存具有映射关系的关联数组,Collection是集合接口,它提供了对集合对象进行基本操作的通用接口方法。Java集合大致分为下面四种类型:List,Set,Queue,Map。List代表有序,可重复集合,Set代表无序,不可重复集合,Queue代表队列集合,Map代表具有映射关系的集合。Java集合主要有Collection和Map接口派生,…

  • spring boot 测试的几种写法

    spring boot 测试的几种写法

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号