1. 程式人生 > >學習曲線

學習曲線

ray 隨著 mit margin 幫助 The mar array var

學習曲線

“訓練誤差”和“交叉驗證誤差”如下

\[\begin{array}{l}
{J_{train}}\left( \theta \right) = \frac{1}{{2{m_{train}}}}\sum\limits_{i = 1}^{{m_{train}}} {{{\left( {{h_\theta }\left( {{x^{\left( i \right)}}} \right) - {y^{\left( i \right)}}} \right)}^2}} \\
{J_{CV}}\left( \theta \right) = \frac{1}{{2{m_{CV}}}}\sum\limits_{i = 1}^{{m_{CV}}} {{{\left( {{h_\theta }\left( {x_{CV}^{\left( i \right)}} \right) - y_{CV}^{\left( i \right)}} \right)}^2}}
\end{array}\]

對於

\[{h_\theta }\left( x \right) = {\theta _0} + {\theta _1}x + {\theta _2}{x^2}\]

當訓練樣本從1增加到6時,會出現和下圖類似的情況

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

這樣,隨著訓練樣本的增加,“訓練誤差”和“交叉驗證你誤差”的變化如下圖

技術分享圖片


對於“High bias”情況

\[{h_\theta }\left( x \right) = {\theta _0} + {\theta _1}x\]

技術分享圖片技術分享圖片

隨著訓練樣本的增加,“訓練誤差”和“交叉驗證你誤差”的變化如下圖

技術分享圖片

可以看到,兩者都很大。因此,如果是“High bias”的情況,增加訓練樣本作用不大。


對於“High variance”情況

\[{h_\theta }\left( x \right) = {\theta _0} + {\theta _1}x + ... + {\theta _{100}}{x^{100}}\]

技術分享圖片技術分享圖片

隨著樣本數量的增加,“訓練誤差”和“交叉驗證你誤差”的變化如下圖

技術分享圖片

由於是“High variance”情況,剛開始模型對少量訓練樣本的適應度高,“訓練誤差”較小,“交叉驗證誤差”較大。隨著訓練樣本的增加,兩個誤差之間存在明顯的“gap”,如果繼續加大樣本,“交叉驗證誤差”可能會逐漸降低。因此,對於“High variance”情況,增加訓練樣本可能會有幫助。

學習曲線