[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]

前言:

         这章的目的主要是通过诊断错误的来源,通过错误的来源去优化,挑选模型。

通过本章掌握 过拟合(overfitting)和欠拟合(underfitting)出现原因及解决方案.

 

目录:

    1    概述

    2    方差,偏差现象

    3   过拟合和欠拟合

    4  模型选择

    5  概率论回顾


一  概述

   

    如上图:

     红色空间:真实的数据和标签之间存在一个映射函数\hat{f}(标签)

     绿色空间: 

     通过训练集上的数据训练出最优的映射函数f^{*}  在数据集\begin{Bmatrix} x^1,& x^2 ,& ... &x^N \end{Bmatrix} 进行采样

      f^{*} 和\hat{f} 差异称为偏差 bias

      f^{*}之间分布称为方差variance

1.2 estimate 

        假设x的期望值为 u,方差为 \sigma^2

        我们通过采样N个样本采样来估计u,\sigma^2

        \begin{Bmatrix} x^1,& x^2 ,& ... &x^N \end{Bmatrix}

        样本均值:  \bar{x}=\frac{1}{N}\sum x^{n}

         样本均值方差: var(\bar{x})=\frac{\sigma^2}{N}

          通过增大样本数,可以降低样本均值方差.所以我们训练的时候

一般使用批量梯度下降.

     


二  方差 偏差现象

   

红色部分: 真实的映射空间

蓝色空间:在训练得到的模型空间上,通过采样得到不同的分布

有4种关系

2.1   低偏差,低方差

         训练得到的模型 f^{*} 和真实 \hat{f} 空间一致,此刻偏差方差都很小

         理想情况。

 2.2  低偏差,高方差

       ​​​​​​​

          模型f^{*} 比真实的\hat{f} 空间复杂,此刻偏差小,但是方差大。

         E(f^{*})=\bar{f}

  2.3  高偏差,第方差

         比如预测模型比较简单 f(x)=2 ,方差为0,

          真实的\hat{f}(x)=2x

        但是跟真实的偏差很大.

2.4  高偏差,高方差

            最糟糕的情况.


三  过拟合 和 欠拟合

     3.1 欠拟合

           当模型在训练集上表现的很糟糕,bias 偏差很大

           高偏差现象,要想办法降低偏差:

          增加模型的复杂度,或者重新设计模型,增加特征。

      3.2 过拟合

            模型在训练集的数据集上表现很好,但是在测试的时候

     很糟糕。

          这就是低偏差,高方差现象.要想办法降低方差

           解决方案:

          降低模型复杂度,正规化

          增加数据集


四  模型选择

      4.1  方案1 

     我们在train集上训练出来的模型和验证集上面得到Error 一般都是不一样的。

比如train 集上训练出多个model: model1,model2,model3

需要根据验证集上的表现综合考量,当选出最优模型可以,可以增加

数据集上的数据量再训练一次,降低模型方差,使得其在测试集上有更好的表现.

4.2  N-fold Cross Validation

 把数据集分为三份,通过不同的划分方式 依次训练出模型1,2,3

  根据Val Data 上的Error ,挑选出Error 平均值最小的。


五  概率论回顾

      1.1  数学期望 

            u=E(x)=\sum_{i=1}^{\infty } x_i p(x_i)

       1.2  方差

             用 var(x) or  D(x) 表示

              var(x)=E(x-u)^2

                             =E(x^2-2xu+u^2)

                            =E(x^2)-2 E(x)u+u^2

                           =E(x^2)-u^2

                  其中 

                   u=E(x)
 

      1.2  标准差,总体方差

            方差描述随机变量对于数学期望的偏离程度

              \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(x_i-u)^2

     1.3 样本方差

              有偏估计   s^2=\frac{1}{n}\sum_{i}(x_i -\bar{x})^2

              无偏估计  s^2=\frac{1}{n-1}\sum_{i}(x_i -\bar{x})^2

               \bar{x}=\frac{1}{n}\sum_{i}^n x_i

       1.4  Var(\bar{x})

                var(\bar{x})=D(\frac{1}{n}\sum_{i}x_i)

                             =\frac{1}{n^2}D(\sum_{i}x_i)

                              =\frac{1}{n^2}(n \sigma^2)

                               =\frac{\sigma^2}{n}

      1.5  样本方差和标准差的联系

                 \sigma^2=\frac{n}{n-1}E(s^2)

      证明:

          所以

           \sigma^2=\frac{n}{n-1}E(s^2)

                     =\frac{n}{n-1}\frac{1}{n}\sum_{i}(x_i -\bar{x})^2

                      =\frac{1}{n-1}\sum (x_i-\bar{x})^2

参考:

(史上最全总结)总体方差,样本方差,标准差,抽样方差,标准误差,均方误差,协方差 ...........-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:windows 和 Linux 之间文本格式转换

背景 在 Windows 上编辑的文件,放到 Linux 平台,有时会出现奇怪的问题,其中有一个是 ^M 引起的,例如这种错误: /bin/bash^M: bad interpreter 这个问题相信大家也碰到过,原因是 Windows 和 Linux 关于换行的…

【JS Promise, Promise.all 与 async/await用法详解】

目录 PromisePromise基本使用Promise可进行连续回调Promise回调可接受入参1.工作原理 async/await总结参考文档: 异步 let a 0setTimeout(() > {a 1}, 1000)console.log(a) // 0此时这个延迟就成为异步执行的了,a值还没有变1就被使用输出&#xff0…

linux下实现Qt程序实现开机自启动

1.原理 要想实现开机自启动,首先,QT是没有这种实现的,最好是靠电脑开机的启动目录启动软件,下面这个目录 /etc/xdg/autostart 这是操作系统中用于配置启动项的目录,该目录下存放着开机自启动的启动器(.desktop)文件…

Flink-时间流与水印

时间流与水印 一、背景二、时间语义1.事件时间(event time)2.读取时间(ingestion time)3.处理时间(processing time) 三、水印-Watermarks1.延迟和正确性2.延迟事件3.顺序流4.无序流5.并行流 四、Windows1.…

28 主题管理

1.如何删除主题 执行kafka-topics脚本,删除操作是异步的,执行完脚本只是把主题标记为已删除 2.删除主题失败 可能原因: 副本所在broker宕机了待删除主题的部分分区还在迁移 解决方法: 手动删除zk节点/admin/delete_topics下以…

初识Java 18-5 泛型

目录 动态类型安全 异常 混型 C中的混型 替代方案 与接口混合 使用装饰器模式 与动态代理混合 本笔记参考自: 《On Java 中文版》 动态类型安全 在Java 5引入泛型前,老版本的Java程序中就已经存在了List等原生集合类型。这意味着,我们…

【计算机网络笔记】交换机

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

【MySQL工具】my2sql-快速解析binlog

​​​​​​ 目录 ​​​​​​安装 my2sql简介 用途 工具优势 限制 账号所需权限 参数解析 场景 场景1 回滚 安装 安装比较简单 直接下载二进制命令即可使用 wget https://github.com/liuhr/my2sql/raw/master/releases/centOS_release_7.x/my2sql my2sql简介 …

AUTOSAR系统服务篇 - BswM

文章目录 模式仲裁仲裁规则模式条件和逻辑表达式模式仲裁的要求立即操作和延时操作初始化后的仲裁行为模式控制模式处理周期模式控制的要求触发和条件动作列表可用动作初始化后的模式控制行为等待功能多分区支持BswM接口和端口模式请求端口模式切换端口模式切换通知组件类型和内…

上海亚商投顾:沪指震荡下跌 成交量继续下破8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,深成指、创业板指午后跌超1%,北证50指数跌超7%,超百只北…

Windows11编译Hadoop3.3.6源码

由于https://github.com/kontext-tech/winutils还未发布3.3.6版本,因此尝试源码编译 目录 环境和安装包准备,见2zlib编译方法一:方法二: 配置文件更改1. maven阿里云镜像2. Node版本3. 越过Javadoc检查 编译HadoopError,其他报错…

JavaScript中的异步处理方法

JavaScript中的异步处理是开发者在日常开发过程中必须面对的一个重要问题。由于JavaScript是单线程的,因此对于一些可能需要长时间执行的操作,如网络请求、IO操作等,如果采用同步的方式,可能会导致应用程序的阻塞,降低…

科研学习|论文解读——Deep learning for anomaly detection in log data: a survey

摘要 自动日志文件分析能够及早发现系统故障等相关事件。特别是,自学习异常检测技术能够捕捉日志数据中的模式,然后向系统操作员报告意外的日志发生,而无需提前提供或手动建模异常场景。最近,越来越多的利用深度学习方法来实现此目…

【Java】JDBC 之 PreparedStatement 和 Statement 的区别和理解【转载并梳理】

一、PreparedStatement 和 Statement 的含义和区别 1、含义 PreparedStatement:PreparedStatement 是预编译的,对于批量处理可以大大提高效率,也叫 JDBC存储过程。Statement:使用 Statement 对象,在对数据库只执行一…

ExoPlayer - Failed to initialize OMX.qcom.video.decoder.avc

人莫鉴于流水而鉴于止水,唯止能止众止 1. 背景 使用ExoPlayer,我不信你没遇到过这个问题: java.lang.IllegalArgumentException: Failed to initialize OMX.qcom.video.decoder.avc 详细内容如下图所示: 2. MediaCodec(解码器) …

ArkUI框架中的PersistentStorage和Environment深入详解【鸿蒙专栏-13】

文章目录 ArkUI框架中的PersistentStorage和EnvironmentPersistentStorage:保持状态的长存储概述限制条件使用场景初始化和访问属性示例流程图注意事项Environment:设备环境查询使用场景从UI中访问Environment参数应用逻辑使用Environment深入ArkUI框架的持久化存储与设备环境…

FastApi接收不到Apifox发送的from-data字符串_解决方法

接收不到Apifox发送的from-data字符串_解决方法 问题描述解决方法弯路总结弯路描述纵观全局小结 问题描述 这里写了一个接口,功能是上传文件,接口参数是file文件和一个id字符串 gpt_router.post("/uploadfiles") async def create_upload_fi…

使用Feign简化Spring Boot微服务间的调用

摘要: 在微服务架构中,服务间的通信是至关重要的。Spring Cloud提供了多种工具,其中Feign是一款声明式的Web服务客户端,能够显著简化服务调用的过程。本文将详细介绍在Spring Boot应用中如何使用Feign进行微服务之间的调用。 正文…

配置自动化部署Jenkins和Gitea

配置自动化部署 这里使用的是JenkinsGitea 如果不知道怎么安装Jenkins和Gitea可以参考下面文章 https://blog.csdn.net/weixin_46533577/article/details/134644144 我的另一篇文章 介绍 前端 先说下自己的情况,因为自己服务器原因,使用的服务器内…