机器学习 day31(baseline、学习曲线)

文章探讨了在语音识别中,如何利用Jtrain、Jcv和人工误差来评估模型性能。通过比较Jtrain和Jcv以及与baseline的差异,可以识别模型是否存在高偏差或高方差问题。学习曲线用于展示模型在不同训练集大小下的表现,高偏差表现为Jtrain接近Jcv且两者均高,而高方差则表现为Jcv远大于Jtrain。改善模型的方法包括调整训练集大小、特征选择和正则化参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 语音识别的Jtrain、Jcv和人工误差
    在这里插入图片描述
  • 对于逻辑回归问题,Jtrain和Jcv可以用分类错误的比例,这一方式来代替
  • 单单只看Jtrain,不好区分是否高偏差。可以再计算人类识别误差,即人工误差,作为基准线来进行比较
  • Jtrain与baseline对比只高了0.2%,所以不算高偏差,但Jcv与Jtrain对比高了4.0%,这算高方差
  1. baseline的选取
    在这里插入图片描述
  • 基准线baseline,即期望学习算法最终达到的合理误差水平
  • 当期望误差baseline不为0时,我们可以选用人工性能、其他算法性能或相关以往经验作为baseline,并进行相对的比较
  1. 如何通过baseline、Jtrain和Jcv区分高偏差和高方差
    在这里插入图片描述
  • 通过比较baseline和Jtrain来判断是否为高偏差,若认为此处的0.2%很大,则为高偏差
  • 通过比较Jtrain和Jcv来判断是否为高方差,若认为此处的4%很大,则为高方差
  • 一般通过比较baseline和Jtrain、Jtrain和Jcv之间的差值,相对的来判断是否为高偏差和高方差
  1. 学习曲线
    在这里插入图片描述
  • 二阶多项式/二次函数的学习曲线如图,x轴为训练集大小,y轴为误差,即Jtrain或Jcv
  • 当训练集很小只有一两个实例时,只需一条直线即可拟合训练集,但此时为过拟合,若出现一个新实例则极大可能拟合失败。所以训练集很小时,Jtrain很低,但Jcv很高
  • 当训练集再大一些时,用二次函数可能很难拟合全部数据,但若出现一个新实例则大概率拟合成功。所以训练集越来越大时,Jtrain逐渐增大,Jcv逐渐降低
  • 通常,Jcv会高于Jtrain,因为我们是对训练集拟合的模型,所以会更适合训练集,而不是验证集
  • 综上:训练集越大越难训练/拟合,但也越容易推广/泛化。
  1. 高偏差的学习曲线图
    在这里插入图片描述
  • 一阶多项式/一次函数的高偏差的学习曲线如图,高偏差表示Jtrain很高,且Jtrain近似于Jcv。
  • 当训练集很小时,模型能拟合全部数据,但对新数据的泛化能力很差,所以一开始Jtrain很小,同时Jcv很大。
  • 当训练集开始增大时,模型开始出现对训练集拟合错误,同时也会更适应验证集,所以Jtrain增大而Jcv减小,但由于此时为欠拟合,所以Jtrain和Jcv均高于baseline
  • 但由于一阶多项式模型太简单且能拟合的数据太少,所以即便训练集越来越大,模型依旧无法做出太大的改变,仍然只能拟合一小部分数据。而Jtrain和Jcv都是计算的平均误差,既然模型基本不改变,那么就算实例越密集(即训练集越来越大),平均误差也基本基本不变。所以Jtrain和Jcv最终逐渐靠近并趋于平坦,但始终保持Jcv高于Jtrain,且均高于baseline
  • 综上:如果一个算法有高偏差,那么增加训练集大小并不能显著降低Jcv误差
  1. 高方差的学习曲线图
    在这里插入图片描述
  • 一个四阶多项式,且λ取较小值的高方差的学习曲线如图,高方差表示Jcv远大于Jtrain,且Jtrain很小,随着训练集越来越来大,Jtrain和Jcv逐渐靠近baseline

  • 当训练集较小时,模型能拟合全部数据,Jtrain比期望的baseline要小很多,但对新数据的泛化能力很差,所以一开始,Jtrain远小于baseline,而Jcv远大于baseline

  • 当训练集开始增大时,模型开始出现对训练集拟合错误,但由于此时为过拟合,所以Jtrain仍比baseline要低,而Jcv远大于Jtrain,所以Jcv要比baseline高

  • 由于四阶多项式比较复杂且能拟合较多数据,随着训练集越来越来大,模型会稍稍增大Jtrain的值,以便Jcv迅速下降,最终达到Jtrain和Jcv都逐渐逼近baseline的效果

  • 综上:如果一个算法有高方差,那么增加训练集大小可以显著降低Jcv误差

  • 但通过画学习曲线这种可视化方式,来观察Jcv和Jtrain,并判断模型是否有高方差和高偏差。这种方式需要非常高的计算成本,我们需要对不同大小的训练集适配不同的模型,所以一般只需要有这种想法即可,不需要实际运算。

  1. 通过高方差、高偏差来改善模型算法
    在这里插入图片描述
  • 上图为带正则化线性回归的预测房价的模型,首先通过Jcv、Jtrain来判断模型是否具有高方差和高偏差,之后通过上图的六种方法来解决高方差、高偏差的问题
  • 如,对于高方差可以采取:增大训练集、缩小特征种类、增大正则化参数λ。对于高偏差可以采取:增加额外的特征种类、增加多项式特征种类、减小正则化参数λ
  • 不要随便通过缩小训练集,来解决高偏差的问题。因为这会增大Jcv,并恶化模型的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丿罗小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值