• 机器学习笔记(8):过拟合问题


    过拟合问题

    过拟合:当我们有太多的 feature 时, hypothesis 可能对训练集 fit 得非常好,但是对于新的测试数据可能会预测不准确。通常由生成了大量与数据无关的不必要曲线和角的复杂函数引起的。

    欠拟合:明显有些数据不符合模型,通常由太简单的函数或者太少的 feature 引起的。

     下图是线性回归的过拟合和欠拟合: 

    下图是逻辑回归的过拟合和欠拟合:

    主要有两个方法来解决过拟合

    1)减少 feature 的数量:

         --- 手动选择留下哪些 feature

         --- 使用模型选择算法

    2)正则化(Regularization)

         --- 保留所有的 feature,但是减少参数 θj 的量级

         --- 当我们有大量的有用的 feature时,正则化非常有效。


    损失函数

     如上图,为了消除后面两项的影响,在不去掉这些 feature 或者改变 hypothesis 的情况下,我们可以修改 cost function 为:

    为了让 cost function 接近0,我们就需要减小 θ和 θ4 到接近0,这样新的 hypothesis 如红色线所示,可以更好的 fit  数据

    我们可以正则化所有的 theta 参数:

    其中, λ 就是正则化参数。用这个 cost function,我们就可以减少过拟合。但是,如果  λ  太大,可能会导致欠拟合


    正则化线性回归

    梯度下降

    梯度下降函数可以修改为:

    变换后,也可以表示为:

    其中,  总是小于1, 所以每次迭代都会减小 θ的值。变换后,第二项和以前一样。

    正规方程

     正规方程变换为:

    其中,L 是一个矩阵,矩阵的左上角为0,下面的对角线都为1,其余都为0,维度为 (n+1)x(n+1)。

    在之前的视频中讲过,当 m<n 时, XTX 是不可逆的。但是,这里当我们加入 λ·L 后,XTX + λ·L 变为可逆的。


     正则化逻辑回归

    类似线性回归

    梯度下降:

  • 相关阅读:
    数据结构(双向链表...)操作API
    本地正常,打包到服务器,页面不见了
    objective c数据封装
    2. 两数相加
    在图像中画点,画框
    面试题 16.04. 井字游戏
    12.3 运动对象分割与配准算法实现
    3. 无重复字符的最长子串
    4. 寻找两个正序数组的中位数
    python读写文件模式
  • 原文地址:https://www.cnblogs.com/lxb0478/p/8284791.html
Copyright © 2020-2023  润新知