机器学习系列15:学习曲线

我们在调试一个学习算法时,通常会用学习曲线(Learning Curves)观察机器学习算法是否为欠拟合过拟合

 

随着样本数的不断增大,我们发现在高偏差(欠拟合)时交叉验证集代价函数 J_cv(θ) 测试集代价函数 J_test (θ) 的图像如下,这个图像也叫做学习曲线(Learning Curves)

未命名图片.png

 

在高偏差时,随着样本数目的增加,测试集的偏差与交叉验证集的偏差几乎相等,测试集的偏差在上升到一定程度后就不会继续上升;根据交叉验证集来看,多项式的泛化程度随着数据集的增加减小到一定程度后就不再减小。这代表着,在高偏差(欠拟合)的情况下,增大数据集并不会优化你的算法。所以,在高偏差的情况下,你不需要把时间浪费在收集大量数据上。

 

再来看,在高方差的情况:

未命名图片.png

在高方差下,随着样本数目的增加,交叉验证集的偏差一直与测试集的偏差有很大的差距,测试集的偏差在不断地上升;根据交叉验证集来看,多项式的泛化程度随着数据集的增加而不断地减小。这代表着,在高方差(过拟合)的情况下,增大数据集在一定程度上会优化你的算法

 

因此,你了解当前算法处于高偏差或高方差对于你决定是否把大量的时间花费在寻找数据集很有必要,这会为你节省大量的时间,把时间用在刀刃上吧!

 

 

回到一开始的问题,在机器学习中,我们训练了一个模型,可能会发现这个模型得到的数据与实际数据偏差太大,也就是这个模型表现的不好。这时,我们需要想一些方法来优化我们的算法。

 

下面这些方法,就是在遇到高方差或高偏差时,我们所需要做的事情。

 

  • 得到更多的训练集:适用于高方差

  • 减小特征的数目:适用于高方差

  • 尝试去增加特征:适用于高偏差

  • 增加多项式:适用于高偏差

  • 增大 λ:适用于高方差

  • 减小 λ:适用于高偏差

 

 

ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。如果想要一起学习机器学习,可以关注微信公众号「SuperFeng」,期待与你的相遇。

请关注公众号.PNG

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值