【吴恩达】机器学习第11章学习收获

1.判断过拟合:

将数据集以7:3分为训练集和测试集,如果数据是有序的,最好随机选择以7:3的比例划分。

首先训练\theta:通过训练集最小化J(\theta )得到\Theta(使用训练集)

然后计算误差:J_{test}(\theta )=1/m_{test}\sum_{i=1}^{m_{test}}(h_{\theta })(x_{test}^{(i))}-y_{test}^{(i))})(使用测试集)

如果J_{test}很大,则说明存在过拟合。

2.模型选择(次数、特征数等)

将数据集分为训练集、交叉验证集、测试集。一般按照6:2:2的比例。

先用训练集得到\theta,使用交叉验证集来选择模型:最小化J 得到\theta 然后计算J_{cv},选取J_{cv}最小的对应的次数。最后用J_{test}进行测试。

3.高偏差(Bias)和高方差:

【吴恩达】机器学习第11章学习收获_第1张图片

高偏差:J_{train}很大,J_{cv}也很大,接近于J_{cv}.是一种欠拟合的情况,在正则化时,\lambda过大也会导致这个情况。

高方差:J_{train}很小,J_{cv}很大,是一种过拟合问题,在正则化时,\lambda过小也会导致这个问题。

这里的d指的是多项式的最高次数,在本例中,J_{cv}最小的点对应的次数为最佳合适的多项式次数。

4.学习曲线

【吴恩达】机器学习第11章学习收获_第2张图片

在高偏差的情况下,随着训练集m的增大,J_train会趋于平稳。因此在这种情况下,增加再多的训练集也没有什么效果。

【吴恩达】机器学习第11章学习收获_第3张图片

对于高方差来说,一开始,训练集和交叉验证集的差距很大,但是随着数据集的增大,两个结果会越来越相近,因此对于高方差来说,增加训练集是有用的。

5.总结

对于大型神经网络出现的过拟合问题可以用正则化来解决,我们俩隐藏层的层数当作多项式次数来用J_cv进行评估和筛选。

1)高方差问题:更多的数据、更少的特征、提高\lambda来解决。

2)高偏差:更多的特征、更大的多项式次、降低\lambda来解决。

 

你可能感兴趣的:(机器学习)