【Stanford Machine Learning Open Course】8. 过拟合问题解决以及在回归问题和分类问题上的应用

这里是斯坦福大学机器学习网络课程的学习笔记。课程地址是:https://class.coursera.org/ml-2012-002/lecture/index

 

一、过拟合:是指因过分强调对训练样本的效果导致过度拟合,使得对未知预测样本效果就会变差的一种情况。

二、什么情况下出现过拟合:

  当你拟合的函数中,一些特征权重阶数越高时,过度拟合的情况越有可能发生,反之阶数越小,过拟合发生概率越小,甚至会欠拟合。

  比如有三个拟合函数:

    a0 + a1x1+ a2x2 

     a+ a1x1+ a2x2 + a3x12 + a4x22

    a+ a1x1+ a2x2 + a3x12 + a4x2+ a5x13 + a6x23

  则最后这个过拟合的可能最高。

三、如何解决过拟合问题:

1.  将那些特征权重阶数高的特征删除。比如在上面的例子中删除特征x13 、x23

     删除方式有两种:

  一种:人工查看样本集合筛选

     另一种:有机器学习的规则用于筛选这种特征,后续才会讲到。

2. 正则化:特征全部保留,但特征系数进行最小优化。

     设一般情况下的成本函数为costFucntion(a,x,y)

     为了时特征系数减小,以使axj变小,新的成本函数为 costFunction_reg(a,x,y) = costFunction(a,x,y) + sum(aj2

  我们将这种处理叫做正则化

  新增的正则化项为 a02 + a12 + ... + an2,  惯例上不要a02这项(他是1的系数),但即使加上效果影响不大。

四、正则化的线性回归问题

     成本函数:costFunction(a,X,y) = 1/2m *sum((h(a,X)-y).^2), 其中h(a,X)=Xa;

          正则化后:costFunctionReg(a,X,y) = costFunction(a,X,y) + lambda*sum(aj2)

     梯度下降法:aj = aj - 1/m *alpha * ( h(a,X)-y ) * Xj

          正则化后:aj = aj - 1/m * alpha * ( h(a,X)-y ) * Xj  - 1/m * alpha * lambda * aj

     正规方程组解法 a = (XT*X)-1*XT*y

          正则化后:a = (XT*X - lambda * I )-1*XT*y

五、logistic分类问题过拟合解决

  成本函数:costFunction(ha(x),y) = -y*log( ha(x) ) - (1-y)*log( 1- ha(x))

    正则化后:costFunctionReg(ha(x),y) = costFunction(ha(x),y)  +  lambda*sum(aj2)

  梯度下降法:aj =aj - 1/m*(ha(x)-y )* Xj;

    正则化后:aj =aj - 1/m*(ha(x)-y )* Xj -1/m*lambda*a

 

 

 

posted @ 2012-09-26 19:11  liyuxia713  阅读(1082)  评论(0编辑  收藏  举报