zoukankan      html  css  js  c++  java
  • 【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

     

     

     

  • 相关阅读:
    JS基础_自增和自减
    计算机组成原理
    SyntaxHighlighter
    10个经典的C语言面试基础算法及代码
    知名互联网公司面试题
    计算机网络基础知识(笔试题)
    面试准备之常见上机题目搜罗
    小米2013年校园招聘笔试题-简单并查集
    2014华为上机试题
    C++学习笔记
  • 原文地址:https://www.cnblogs.com/liyuxia713/p/2699769.html
Copyright © 2011-2022 走看看