学习曲线
Posted qkloveslife
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习曲线相关的知识,希望对你有一定的参考价值。
学习曲线
“训练误差”和“交叉验证误差”如下
[egin{array}{l}
{J_{train}}left( heta
ight) = frac{1}{{2{m_{train}}}}sumlimits_{i = 1}^{{m_{train}}} {{{left( {{h_ heta }left( {{x^{left( i
ight)}}}
ight) - {y^{left( i
ight)}}}
ight)}^2}} \\
{J_{CV}}left( heta
ight) = frac{1}{{2{m_{CV}}}}sumlimits_{i = 1}^{{m_{CV}}} {{{left( {{h_ heta }left( {x_{CV}^{left( i
ight)}}
ight) - y_{CV}^{left( i
ight)}}
ight)}^2}}
end{array}]
对于
[{h_ heta }left( x ight) = { heta _0} + { heta _1}x + { heta _2}{x^2}]
当训练样本从1增加到6时,会出现和下图类似的情况
这样,随着训练样本的增加,“训练误差”和“交叉验证你误差”的变化如下图
对于“High bias”情况
[{h_ heta }left( x ight) = { heta _0} + { heta _1}x]
随着训练样本的增加,“训练误差”和“交叉验证你误差”的变化如下图
可以看到,两者都很大。因此,如果是“High bias”的情况,增加训练样本作用不大。
对于“High variance”情况
[{h_ heta }left( x ight) = { heta _0} + { heta _1}x + ... + { heta _{100}}{x^{100}}]
随着样本数量的增加,“训练误差”和“交叉验证你误差”的变化如下图
由于是“High variance”情况,刚开始模型对少量训练样本的适应度高,“训练误差”较小,“交叉验证误差”较大。随着训练样本的增加,两个误差之间存在明显的“gap”,如果继续加大样本,“交叉验证误差”可能会逐渐降低。因此,对于“High variance”情况,增加训练样本可能会有帮助。
以上是关于学习曲线的主要内容,如果未能解决你的问题,请参考以下文章
Python机器学习:6.3 使用学习曲线和验证曲线 调试算法