建议

在实践过程中我们经常会发现我们的建模不合适,那么这种情况我们应该对我们模型的参数进行调整呢

\"\"

评估假设

我们首先要做的就是对我们建立的模型进行评估,来判断模型拟合是否合适。我们将利用训练集求出来的网路参数θ应用在测试集上得到的误差叫做测试集误差,这个误差越小代表建模越合适

\"\"

验证集

为了选择一个合适的模型,我们需要尝试多种多项式来保证我们既不会过拟合也不会欠拟合。方法就是求出各种假设函数的测试集误差来选择最小误差对应的假设函数

\"\"

但是这种用根据测试集误差选出来的假设函数很可能是对一般误差的一种乐观估计,因此我们还需要一个不想关的测试集来对这个假设函数进行函数。为此我们将数据分为训练集、验证集、测试集三个部分。选择参数的过程我们在验证集上做

\"\"

偏差与方差

我们对欠拟合与过拟合又有另一个名字:高偏差与高方差

\"\"

我们可以看出当假设函数由低次到高次渐变的过程中测试集误差与训练集误差的变化情况。也正是从这个曲线中我们可以判断我们的假设函数是过拟合还是欠拟合了。高偏差对应的是测试集误差与训练集误差都高,高方差对应的是测试集误差高,训练集误差低

\"\"

正则化

我们之前讲到过正则化,正则化前面的系数也跟过拟合/欠拟合有关,正则化系数越大,代表着欠拟合越严重;系数越小代表过拟合严重

\"\"

同样我们可以像选择假设函数多项式最高次幂的方法一样不断调整正则化系数λ来取得最合适的拟合效果

\"\"

同样我们也可以根据训练集误差和测试集误差来判断λ是过大还是过小

\"\"

学习曲线

除了上述方法,我们还可以通过学习曲线来判断拟合效果

\"\"

对于高偏差来说,随着训练集数量增加,测试集误差与训练集误差将靠的很近,因为多项式的次幂限制了曲线继续演进,从而使测试集误差与训练集误差都维持在一个较高的值

\"\"

对于高方差曲线来说,训练集误差维持在一个较低的值,测试集误差维持在较高的值,但是随着训练集增加,这个间隔会越来越小

\"\"

下一步

在有了之前的铺垫以后我们就可以很好的决定下一步做什么了,我们可以根据曲线是过拟合还是欠拟合来进行选择下一步尝试方法

\"\"

 

 

收藏 打印