• 机器学习:什么是欠拟合和过拟合


    https://blog.csdn.net/u011630575/article/details/71158656

    1. 什么是欠拟合和过拟合

    先看三张图片,这三张图片是线性回归模型 拟合的函数和训练集的关系

    1. 第一张图片拟合的函数和训练集误差较大,我们称这种情况为 欠拟合
    2. 第二张图片拟合的函数和训练集误差较小,我们称这种情况为 合适拟合
    3. 第三张图片拟合的函数完美的匹配训练集数据,我们称这种情况为 过拟合

      

    类似的,对于逻辑回归同样也存在欠拟合和过拟合问题,如下三张图

      

    2. 如何解决欠拟合和过拟合问题

    欠拟合问题,根本的原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大。

    欠拟合问题可以通过增加特征维度来解决。

    过拟合问题,根本的原因则是特征维度过多,导致拟合的函数完美的经过训练集,但是对新数据的预测结果则较差。增加模型的复杂度,不要用简单的线性回归,适当的采用二次回归,将训练集合扩大,采集更多的数据。

    解决过拟合问题,则有2个途径:

    1. 减少特征维度; 可以人工选择保留的特征,或者模型选择算法
    2. 正则化; 保留所有的特征,通过降低参数θ的值,来影响模型
    3.  数据集扩增; 即需要得到更多的符合要求的数据,即和已有的数据是独立同分布的

    3. 正则化

    回到前面过拟合例子, h(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + θ4x4

     

    从图中可以看出,解决这个过拟合问题可以通过消除特征x3和x4的影响, 我们称为对参数的惩罚, 也就是使得参数θ3, θ4接近于0。

    最简单的方法是对代价函数进行改造,例如

    这样在求解最小化代价函数的时候使得参数θ3, θ4接近于0。

    正则化其实就是通过对参数θ的惩罚来影响整个模型

    4. 线性回归使用正则化

    前面几篇文章中,线性回归的代价函数J(θ)表达式如下

    正则化后,代价函数J(θ)表达式如下,注意j从1开始

    注意λ值不能设置过大,否则会导致求出的参数除了θ0,其它θ1,θ2 ... θn值约等于0,导致预测函数h(x)出现极大偏差

    我们的目标依然是求J(θ)最小值,我们还是用梯度下降算法正规方程求解最小化J(θ)

    1. 梯度下降算法(注意需要区分θ0和其它参数的更新等式)

    2. 正规方程

    对于正规方程来,需要修改等式如下

    系数λ 所乘的矩阵为 (n+1)*(n+1)维

    5. 逻辑回归使用正则化

    和线性回归模型类型,逻辑回归也可以通过正则化来解决过拟合问题。

    逻辑回归的代价函数J(θ)表达式如下

    正则化逻辑回归的代价函数,是在等式后加上一项,注意j从1开始

     

    同样的用梯度下降算法求解最小化J(θ),也需要做改变

    不同的是逻辑回归模型中的预测函数 h(x)和线性回归不同

  • 相关阅读:
    secureCRT 6.5 ssh登陆openeuler提示交换秘钥不支持
    ediary电子日记本-力荐
    centos8.4 iso下载地址
    Manjaro Cutefish 安装体验类似macos风格
    脚本启动第一行提示sh/bash找不到
    securecrt双击克隆会话
    开源的window/linux远程连接工具-mRemoeteNG
    securecrt设置日志缓存
    怎么实现通过扫描二维码进行登录
    使用link rel="shortcut icon"为网页标题加图标
  • 原文地址:https://www.cnblogs.com/yuluoxingkong/p/9020996.html
Copyright © 2020-2023  润新知