码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【吴恩达机器学习-笔记整理】诊断偏差较大(欠拟合)、方差较大(过拟合)的情况及其解决方案


    目录:

    • 🌵🌵🌵前言
        • 一、评估假设
            • 1、线性回归和平方误差标准时,测量误差的定义
            • 2、分类问题(例如逻辑回归)时,测量误差的定义
        • 二、模型选择
            • 实际评估假设的方法
        • 三、诊断偏差与方差
            • 1、初步理解
            • 2、算法正则化
        • 四、学习曲线
            • 1、高偏差情况下的学习曲线
            • 2、高方差情况下的学习曲线
        • 五、总结修正操作
    • ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

    🌵🌵🌵前言

    ✨你好啊,我是“ 怪& ”,是一名在校大学生哦。
    🌍主页链接:怪&的个人博客主页
    ☀️博文主更方向为:课程学习知识、作业题解、期末备考。随着专业的深入会越来越广哦…一起期待。
    ❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
    💪很高兴与你相遇,一起加油!

    一、评估假设

    将样本划分为训练集和测试集 随机选择 比例建议:7:3

    学习的是如何分辨偏差与方差的问题,与评估假设,如何解决偏差较大(欠拟合)、方差较大(过拟合)的问题

    1、线性回归和平方误差标准时,测量误差的定义

    最小化训练集的J(θ)得到θ
    带入测试集求误差

    在这里插入图片描述

    2、分类问题(例如逻辑回归)时,测量误差的定义

    0/1错误分类度量定义的测试误差

    在这里插入图片描述

    二、模型选择

    取最小的测试误差 即 Min(J_test)

    先根据不同的假设函数求出令损失函数最小的参数θ
    然后将此θ带入测试集,求出在测试集中损失函数最小的θ(即在测试集上拟合良好)
    此为用测试集拟合得到的选择参数d(即哪一表达式),再在测试集上评估假设便不太合理,所以假设可能过拟合
    如果测试集很大,可能效果不会很差,但实际上这种操作并不被建议

    在这里插入图片描述

    实际评估假设的方法

    把样本分为:训练集、交叉验证集、测试集
    60%:20%:20%

    由验证集选择模型,用测试集评价此模型的泛化误差
    ![[SX4W)1CLC6WXQ]4_OFWE%4C.png]]

    三、诊断偏差与方差

    即要么欠拟合,要么过拟合

    1、初步理解

    粉色线条为训练误差,红色线条为验证集误差

    当d(选取的特征)越来越多时,其在训练集上会拟合的越来越好,即其损失函数J会越来越小
    当d(选取的特征)越来越大(逐渐接近最优d值),其在验证集上的J会越来越小。
    当d(选取的特征)越来越大(持续大于且远离最优d值),其在验证集上的J会越来越大。

    ![[85TLDZN8LS9300E9WFJ7UEO.png]]

    高偏差问题(偏差):训练集和验证集的误差都很大
    高方差问题(方差):训练集误差较小,测试集误差较大

    选择不同的模型,即参数

    ![[493~5{C4VBA`H4Y153YCTTC.png]]

    2、算法正则化

    正则化是为了防止过拟合

    ![[_81Q7Q0SV0(2~))88EI4P2N.png]]

    如何自动的选择一个合适的正则化参数值lambda
    当加入正则化向的时候,J_train,J_cv,J_test定义仍是不加正则化项数的。

    ![[@SV$HD}89D%HO0[6OHRZ1~J.png]]

    ![[G9428BC40BR]3X{@ZG`C0LY.png]]

    选择不同的正则化参数lambda
    lambda越小等于其没有缓解过拟合的情况
    lambda过大,等于其过分缓解过拟合情况导致其出现欠拟合

    ![[6TY.png]]

    四、学习曲线

    当样本数逐渐增大时:
    训练集上的误差越来越大(函数对所有样本的拟合效果不能保证)
    交叉验证集上的误差越来越小(由于样本数量愈大,其泛化能力愈好)

    ![[({F3FHWM}0BRK{K~T2BJ2@X.png]]

    1、高偏差情况下的学习曲线

    结论:如果处于高偏差状态,增加样本数量无益
    且训练误差与验证集误差都很大

    ![[VHL9KV8(UZ3524ZM1IQC_{R.png]]

    2、高方差情况下的学习曲线

    当训练样本增加时,仍会有些过拟合,但想要对全部数据拟合很好,则十分困难

    在高方差的情形,使用更多的训练数据,对改进算法有帮助的,
    ![[KDFT{L]3ZB8FLVTJLUJT~EJ.png]]

    当准备改进学习算法时,就需要画出学习曲线,判断情况,偏差/方差问题

    五、总结修正操作

    ![[V@5$U3JPHGL)6JXZA~QPFOE.png]]

    ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

    今天是20岁的第一天

    请添加图片描述

  • 相关阅读:
    RabbitMQ的常见工作模式
    ASP.NET Core 6框架揭秘实例演示[09]:将配置绑定为对象
    云课五分钟-05一段代码修改-AI修改C++
    springcloudalibaba架构(21):MQ的简介
    c语言内功修炼--深度剖析数据的存储
    指针笔试题(帮助你全面理解指针!!!)
    【Linux】基础IO(万字详解) —— 系统文件IO | 文件描述符fd | 重定向原理
    一对一直播系统源码——如何只需三步搭建
    最新,Spring Boot 2.3.5 发布,你跟上了吗?
    Arxiv 2209 | Switchable Self-attention Module
  • 原文地址:https://blog.csdn.net/qq_21471309/article/details/126335304
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号