Learning Curves

学习曲线

在极少数数据点(例如1、2或3)上进行算法训练很容易会发生0错误的现象,因为我们总能找到一条恰好触及这些点数的二次曲线。 因此:

  • 当数据集增大的时候,二次函数的错误也会增多
  • 误差值将在达到一个确定的值m或者一定的训练集大小后趋于平稳。

出现高偏差的情况

小训练集:会导致$J_{train}(\Theta)$过小或是$J_{CV}(\Theta)$过大

大训练集:会导致$J_{train}(\Theta)$和$J_{CV}(\Theta)$都很大,并且$J_{train}(\Theta)\approx J_{CV}(\Theta)$

如果一个学习算法有一个较大的偏差,那么即便有更多的训练数据也是无济于事

DDLwMd.png

出现高方差的情况

小训练集:$J_{train}(\Theta)$将会较低,$J_{CV}(\Theta)$将会比较高

大训练集:$J_{train}(\Theta)$会随着训练集的增加而增加,而$J_{CV}(\Theta)$将会不稳定地下降。此外,不仅$J_{train}(\Theta)<J_{CV}(\Theta)$,并且两者之间仍然会有很大的差距

如果学习算法有很大的方差,那么获取更多训练数据可能会对算法有所帮助。

DDX9ns.png

决定下一步该怎么做

我们的决策过程可以细分如下:

  • 得到更多的训练样本:修复高方差
  • 尝试较小的特征集:修复高方差
  • 增加特征:修复高偏差
  • 添加多项式特征:修复高偏差
  • 减小$\lambda$:修复高偏差
  • 增加$\lambda$:修复高方差

诊断神经网络

  • 参数较少的神经网络容易拟合不足。 它在计算上代价也更小。
  • 具有更多参数的大型神经网络很容易过拟合。 它在计算上代价更大。 在这种情况下,可以使用正则化(增大$\lambda$)来解决过拟合问题。

一般是是默认使用单个隐藏层。 也可以使用交叉验证集训练具有多个隐藏层的神经网络。 然后,根据情况选择效果最好的一种。

模型复杂度影响

  • 低阶多项式(低模型复杂度)具有高偏差和低方差。 在这种情况下,模型的拟合性很差。
  • 高阶多项式(高模型复杂度)非常适合训练数据,但是却非常不适合测试数据。 这些对训练数据的偏见很小,但差异很大。
  • 实际上,我们希望在两者之间选择一个可以很好地概括数据但也可以很好地拟合数据的模型
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇