机器学习中学习曲线的 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. 尝试增加归一化程度 λ——解决高方差
---------------------
作者:深度瞎学汪
来源:CSDN
原文:https://blog.csdn.net/zww275250/article/details/78628288
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/jingsupo/p/9865374.html

时间: 2024-07-30 01:47:52

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

asp.net中绘制大数据量的可交互的图表

在一个asp.net项目中要用到能绘制大数据量信息的图表,并且是可交互的(放大.缩小.导出.打印.实时数据),能够绘制多种图形. 为此进行了多方调查预研工作,预研过微软的MsChart图表组件.基于jquery的FlortChart图表.Silverlight的Visifire图表组件.基于js和flash的FusionCharts图表.Ext4.0框架中的图表.纯js的Highstock和纯js的Highcharts. 下面给出各个图表的预研结果,以供参考. MsChart MsChart是一

机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?

原文:http://www.zhihu.com/question/27068705 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?修改 最近在学习机器学习,在学到交叉验证的时候,有一块内容特别的让我困惑,Error可以理解为在测试数据上跑出来的不准确率 ,即为 (1-准确率). 在训练数据上面,我们可以进行交叉验证(Cross-Validation).一种方法叫做K-fold Cross Validation (K折交叉验证), K折交叉验证,初始

bias and variance 理解与折衷

首先我们通过三种途径来认识bias and variance ,三种途径是:直观上的.图形上的.数学定义上的. 直观上的定义: Error due to Bias:真实值与预测值之间的差异. Error due to Variance : 在给定模型数据上预测的变化性,你可以重复整个模型构建过程很多次,variance 就是衡量每一次构建模型预测相同数据的变化性. 图形上的理解: 如图所示,图形中心是模型完美正确预测数据值,当我们远离中心预测越来越差,我们可以重复整个模型构建过程多次,通过每一次

机器学习中防止过拟合的处理方法

原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49429629 防止过拟合的处理方法 过拟合 ??我们都知道,在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据可以对未来的数据进行推测与模拟,因此都是使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型去拟合

机器学习中的数学(2)-线性回归,偏差、方差权衡

机器学习中的数学(2)-线性回归,偏差.方差权衡 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任.如果有问题,请联系作者 [email protected] 前言: 距离上次发文章,也快有半个月的时间了,这半个月的时间里又在学习机器学习的道路上摸索着前进,积累了一点心得,以后会慢慢的写写这些心得.写文章是促进自己对知识认识的一个好方法,看书的时候往往不是非

机器学习中使用「正则化来防止过拟合」到底是一个什么原理?为什么正则化项就可以防止过拟合?

原文:http://www.zhihu.com/question/20700829 27 个回答 46赞同反对,不会显示你的姓名 ALAN Huang,什么都会一点点 欣然.王志.马克 等人赞同 Orangeprince 的回答非常学院派,也非常系统. 过拟合表现在训练数据上的误差非常小,而在测试数据上误差反而增大.其原因一般是模型过于复杂,过分得去拟合数据的噪声和outliers. 正则化则是对模型参数添加先验,使得模型复杂度较小,对于噪声以及outliers的输入扰动相对较小. 以正则化项和

Bias and Variance 偏置和方差

偏置和方差 参考资料:http://scott.fortmann-roe.com/docs/BiasVariance.html http://www.cnblogs.com/kemaswill/ Bias-variance 分解是机器学习中一种重要的分析技术.给定学习目标和训练集规模,它可以把一种学习算法的期望误差分解为三个非负项的和,即本真噪音.bias和 variance. 本真噪音是任何学习算法在该学习目标上的期望误差的下界:( 任何方法都克服不了的误差) bias 度量了某种学习算法的平

(七)应用机器学习中的一些技巧

本文所讲述的是怎么样去在实践中更好的应用机器学习算法,比如如下经验风险最小化问题: 当求解最优的  时,发现他的误差非常之大,接下来如何处理来使得当前的损失函数值尽可能的小呢?这里给出以下几个选项,下面介绍的是如何在一下这些应对策略中选择正确的方法来助力以上问题. 当模型的variance比较大时,可能存在过拟合,这时可以尝试增多样本或者减少特征或者增大正则参数. 当模型的bias比较大时,可能存在欠拟合,这时可以尝试增加更多的特征或者增加多项特征或减小正则参数. 首先,一般的Mechine L

机器学习中的常用操作

机器学习中的常用操作 输入节点到隐藏节点,特征数量n可能会变化,这个取决于我们定义的隐藏层的节点个数,但是样本数量m是不变的,从隐藏层出来还是m 在预测的时候,我们需要不断的迭代输入的特征 提高精度 增加样本数量 增加特征 根据现有的特征生成多项式(从\(x_1\), \(x_2\)扩展到\(x_1 + x_2 + x_1^{2} + x_2^{2} + x_1{x_2}\)) 寻找新的特征 增加正则化参数\(\lambda\) 减小正则化参数\(\lambda\) 对数据的划分 将原来的训练样