• 机器学习基础之《回归与聚类算法(2)—欠拟合与过拟合》


    一、背景

    1、上一篇说正规方程的时候,实际情况中使用很少,主要原因它不能解决过拟合。

    2、训练集上表现的好,测试集上表现不好—过拟合

    二、欠拟合和过拟合

    1、欠拟合
    训练集:有3个训练集,告诉机器都是天鹅
    机器学到了2个特征:有翅膀、嘴巴长
    缺点:学习到的特征太少了

    2、过拟合
    之前特征太少了,那就多学点
    缺点;学习到的特征太多了

    3、分析
    第一种情况:因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。
    第二种情况:机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。

    三、定义

    1、欠拟合
    一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

    2、过拟合
    一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

    3、用图来表示这样一个过程
    训练误差这一条线:随着不断地进行训练,损失值越来越少,模型复杂度越来越多
    测试误差这一条线:一开始是误差随着模型复杂度越来越小,但是到一定程度之后(临界值),随着模型复杂度进一步增加,在测试集上误差会变大

    在临界值左边的,欠拟合(训练集表现不好,测试集表现也不好)
    在临界值右边的,过拟合(训练集表现好,测试集表现不好)

    四、解决办法

    1、欠拟合解决办法
    原因:学习到数据的特征过少
    解决办法:增加数据的特征数量

    2、过拟合解决办法
    原因:原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点
    解决办法:正则化

    3、在这里针对回归,我们选择了正则化。但是对于其他机器学习算法如分类算法来说也会出现这样的问题,除了一些算法本身作用之外(决策树、神经网络),我们更多的也是去自己做特征选择,包括之前说的删除、合并一些特征

    4、在学习的时候,数据提供的特征有些影响模型复杂度或者这个特征的数据点异常较多,所以算法在学习的时候尽量减少这个特征的影响(甚至删除某个特征的影响),这就是正则化

    5、注意:调整时候,算法并不知道某个特征影响,而是去调整参数得出优化的结果

    五、正则化

    1、L2正则化(更常用)
    作用:可以使得模型中,模型参数W(权重系数),尽可能的接近于0,削弱某些特征的影响
    优点:越小的参数,说明模型越简单,越简单的模型则越不容易产生过拟合现象
    别名:Ridge回归(岭回归)
    加入L2正则化后的损失函数:

    损失函数 + λ * 惩罚项
    (1)用【预测值】-【真实值】,然后求平方和,然后除以2m
    (2)惩罚项是权重值平方,然后加在一起。第一个权重的平方加到最后一个权重的平方
    (3)λ是惩罚的步长
    (4)n为样本数,m为特征数

    2、L1正则化
    作用:可以使得其中一些W的值直接为0,删除这个特征的影响
    别名:LASSO回归
    加入L1正则化后的损失函数:
    损失函数 + λ * 惩罚项
    (1)惩罚项是W的绝对值加在一起

  • 相关阅读:
    互联网摸鱼日报(2023-05-27)
    写论文工具:LaTex在线网站
    uni-app 开发调试自动打开手机屏幕大小界面(Aidex移动端开发项目)
    1B踩坑大王
    【服务器】shell脚本之Docker创建nginx
    在nodejs中如何防止ssrf攻击
    商城项目13_查询分组关联属性、删除、新增、查询分组未关联的属性、调整会员服务、获取分类关联的品牌
    Au:轨道种类及操作基础
    python 设计模式 建造者模式
    【Linux进程间通信】 管道
  • 原文地址:https://blog.csdn.net/csj50/article/details/133811945