算法性能评估以及诊断法

问题介绍

我们大致可以将训练出的参数分为三类:欠拟合、正常、过拟合。

以方程次数为例,对于一个简单的单特征值问题,我们可能拟出如下模型:

在这里插入图片描述
而方程次数过低容易导致欠拟合,方程次数过高可能导致过拟合:

在这里插入图片描述

方程次数选

首先来讲一个比较简单的方法,我们把数据集分成训练集(70%)和测试集(30%),用每一种方程训练集得出对应的最优参数 θ \theta θ

然后每个方程用对应的参数 θ \theta θ去测试集上跑,得出在测试集上的误差 J t e s t ( θ ) J_{test}(\theta) Jtest(θ),然后选择一个较小的作为最后的结果(方程次数和对应参数)。

然而这样并不公平,因为方程的次数 d d d也是一个参数,而这个 d d d相当于在测试集中拟合而出,可能不具备可推广性。

做法:

所以我们将数据分成三部分:训练集(60%)、交叉验证集(20%)、测试集(20%)。

再验证集中拟合出参数 d d d(选择 J c v ( θ ) J_{cv}(\theta) Jcv(θ)最小的那个),再到测试集中跑出实际的测试误差 J t e s t ( θ ) J_{test}(\theta) Jtest(θ)

偏差与方差的判断

我们画出 d d d与训练集误差和验证集误差的关系:
在这里插入图片描述

可以得出结论:

  • 高偏差(欠拟合): J t e s t ( θ ) J_{test}(\theta) Jtest(θ) J c v ( θ ) J_{cv}(\theta) Jcv(θ)都很大,且较为接近
  • 高方差(过拟合): J t e s t ( θ ) J_{test}(\theta) Jtest(θ)远小于 J c v ( θ ) J_{cv}(\theta) Jcv(θ)

λ \lambda λ的选择

正则化中的惩罚力度 λ \lambda λ的地位类似上述的 d d d

λ过大时不能拟合,过小时又不能正则化导致过拟合。
在这里插入图片描述
我们可以用选择 d d d的方式让自动选择λ:
在这里插入图片描述
我们画出 λ \lambda λ与训练集误差和验证集误差的关系:
在这里插入图片描述
得出相同的结论:

  • 高偏差(欠拟合): J t e s t ( θ ) J_{test}(\theta) Jtest(θ) J c v ( θ ) J_{cv}(\theta) Jcv(θ)都很大,且较为接近
  • 高方差(过拟合): J t e s t ( θ ) J_{test}(\theta) Jtest(θ)远小于 J c v ( θ ) J_{cv}(\theta) Jcv(θ)

学习曲线

我们画出 J t e s t ( θ ) 、 J c v ( θ ) J_{test}(\theta)、J_{cv}(\theta) Jtest(θ)Jcv(θ)与测试样本数量的关系图:

  • 正常情况下,两个在一定数据后都较小,且随着数据量的增加趋向于相同
    在这里插入图片描述

  • 高偏差时,两个都很高,且趋于相同,趋于水平(增加数据量无效):
    在这里插入图片描述

  • 高方差时, J t e s t ( θ ) J_{test}(\theta) Jtest(θ)较小,而 J c v ( θ ) J_{cv}(\theta) Jcv(θ)较大。随着数据量的增加,过拟合的现象会有所改善,所以两条线会慢慢接近(需要增加数据量)
    在这里插入图片描述

解决方法

在确定是高方差(过拟合)时,我们可以尝试:

  • 增加数据量
  • 减少特征
  • 增加 λ \lambda λ

高偏差(欠拟合)时,我们可以尝试:

  • 增加特征
  • 增加多项式
  • 减少 λ \lambda λ

神经网络

小型神经网络容易欠拟合,大型的容易过拟合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值