应用机器学习的建议

应用机器学习的建议

    

若在过程中,遇到了很大的预测误差该怎么办

**改进算法的几种办法:

  1. 获得更多的训练实例——通常是有效的,但代价较大,下面的方法也可能有效,可考虑先采用下面的几种方 ---解决高方差

  2. 尝试减少特征的数量(可以仔细挑选一些来防止过拟合)            --解决高方差                                

  3. 尝试获得更多的特征   也可能是目前的特征还不够                       --解决高偏差

  4. 尝试增加多项式特征   如                 --解决高偏差

  5. 尝试减少正则化程度λ                                                                    --解决高偏差  

  6. 尝试增加正则化程度λ                                                                    --解决高方差

如何判断一组假设是否过拟合 (就像有很多特征时)

为了检验算法是否过拟合,我们将数据分成训练集和测试集,通常用70%的数据作为训练集,用剩下30%的数据作为测试集。很重要的一点是训练集和测试集均要含有各种类型的数据,

通常我们要对数据进行“洗牌”,然后再分成训练集和测试集。

一种来训练和测试你的学习算法的典型方法: 比如线性回归算法

      先用训练数据集(70%),算出θ, 再用测试数据集算出J(θ)

     当遇到分类问题时: 使用 逻辑回归算法

        同样的,先用训练集求出θ。

还有一种方法就是用错误分类法:



模型选择

我们要选择一个多项式来拟合模型,来检测对新样本的泛化能力。但如何选择一个模型。

         于是,为了验证我们的假设。我们把一个训练集分为三个部分。

   60%训练,20%交叉验证 (CV),20%测试集 (test) **

         

即我们应该用交叉训验证集来选择模型(几次多项式)

               

这里我们直接用交叉验证集(cv)来选择模型,然后选出最小的Jcv(θ)。可以最后用测试集来测试泛化的误差。


判断偏差与方差

    

 即要么是过拟合问题 要么是欠拟合问题

          欠拟合                              刚好                                 过拟合

如果Jcv和Jtrain偏差都过大,如何判断是高偏差问题还是高方差问题。

        左边高偏差问题, 也就是你使用了一个过于小的多项式次数。比如说d=1,我们需要一个更多次的项。(欠拟合问题)

        右边高方差问题,也就是说多次项系数d对于我们的数据来讲太大了                                                  (过拟合问题)

___________________________________________________________________________________

正则化和偏差,方差 (正则化的取值)

    

我们选择一系列的想要测试的 λλ 值,通常是 0-10之间的呈现2倍关系的值

(如:0,0.01,0.02,0.04,0.08,0.15,0.32,0.64,1.28,2.56,5.12,10共12个)。

 我们同样把数据分为训练集、交叉验证集和测试集。

 

____________________________________________________________________________________________

学习曲线

高偏差情况:

高方差情况

猜你喜欢

转载自blog.csdn.net/qq_29373285/article/details/82496391