码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 7.过拟合和正则化


    目录

    overfit过拟合和underfit欠拟合

    linear regression线性回归

    classification分类

    addressing overfitting解决过拟合

    regularization正则化

    cost function for regularization正则化损失函数

    regularized linear regression正则化线性回归

    regularized logistic regression正则化逻辑回归


    overfit过拟合和underfit欠拟合

    linear regression线性回归

           

     

            第一个模型即underfit欠拟合,拟合的过差,与很多样本点的损失很大。

            第三个模型即overfit过拟合,拟合的太好了,模型穿过了给定数据集的所有点,此时cost function和每个实例的loss function都等于0。但是对于图中的一粉色点来说,它的预测与现实逻辑不符合。由于过度追求每个样本的符合程度,导致对未见过的样本进行预测时,可能结果变化很大。

            就像一杯水,太凉或者太热都不适合,最适合的应该是正好的温度。

    classification分类

            第一个图,这条线就是令z=0得出的,但是可以从图中看出,效果不是很好。这是underfit欠拟合。

            第二个图中,尽管不是每一个样本都正确区分了,但是它依然表现的很好。

            第三个图中,对样本过于完美,是overfit过拟合。

    addressing overfitting解决过拟合

     

            第一个解决方法是收集更多的训练数据。

            

     

            第二种方法是减少训练模型的特征数量。有时候,有多个特征,但是数据不充足,也会造成过拟合。此时可以选择几个最必要的特征。缺点是,算法会缺少一些信息。

     

            第三种方法是regularization正则化,把某个参数赋值为0与去掉某个特征等价。所以正则化就是保留了这些多特征,但是减小了这些特征对模型的巨大影响。即减小了参数的大小。

    regularization正则化

    cost function for regularization正则化损失函数

     

            n是样本特征的数量,我们通过在J函数后增加这一单元来达到我们的目的。该单元中的lambda也可以叫做正则化参数,lambda大于0。

            J函数的两项都被缩放至2m分之一,这使得即使n增大了,之前的lambda也可能依然起作用。

            对于b来说,可参与可不参与,在这节学习中,我们不加入b。

     

            对于函数J,不仅需要减少预测值与真实值之间的差距来减小mean squared error,还需要使Wj保持很小,以减少过拟合。lambda相对来说也很重要,它可以平衡两个部分。

            对于下图的线性回归的例子,当lambda很小的时候,regularization term等于0,此时可能会过拟合;当lambda很大的时候,为了减小函数J,regularization term需要减小,则只能使w参数很小接近于0,此时f函数接近于b,是欠拟合。

    regularized linear regression正则化线性回归

             第一个式子是正则化线性回归的损失函数J。

            下面正则化线性回归的梯度下降过程中,对w求偏导时多了一项,但我们并不需要正则化b。

            

            后面一项是之前未正则化的线性回归的梯度更新公式。

            当我们代入α和lambda一些值时,可以看出正则化还有一个作用是可以在每一个迭代中都减小w的值。

     

    regularized logistic regression正则化逻辑回归

     

            对于正则化逻辑回归,只需要在最开始的损失函数后增加一项即可。

  • 相关阅读:
    学生HTML个人网页作业作品:基于web在线汽车网站的设计与实现 (宝马轿车介绍)
    Cocos发布智能座舱解决方案“Cocos HMI”
    力扣第700题 二叉搜索树中的搜索 c++ 在搜索中搜索
    Linux-用户和用户组的管理
    【Pandas总结】第二节 Pandas 的数据读取_pd.read_csv()的使用详解(非常全面,推荐收藏)
    Spring Boot常见面试题
    微信小程序4种弹框
    链表一元多项式相减
    【信号处理】非线性信号处理(Python代码实现)
    找不到msvcp100.dll解决教程
  • 原文地址:https://blog.csdn.net/weixin_44846755/article/details/126848788
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号