当前位置: 首页 > news >正文

改善深层神经网络 第一周:深度学习的实践(一)偏差与方差

本周为第二课的第一周内容,就像课题名称一样,本周更偏向于深度学习实践中出现的问题和概念,在有了第一课的机器学习和数学基础后,可以说,在理解上对本周的内容不会存在什么难度。

当然,我也会对一些新出现的概念补充一些基础内容来帮助理解,在有之前基础的情况下,按部就班即可对本周内容有较好的掌握。

1.数据划分

我们在第一课的第二周习题部分就已经简单介绍了训练集,验证集,测试集的概念,这里跟随课程进度,我们再补充一些细节:

Pasted image 20251028101804

这便是一些常用的数据划分方式,此外,在实际应用中,我们还应注意一点,就是训练集和后二者的来源,分布可能不同,这也需要我们有相应的措施,具体看一下:

Pasted image 20251028104121

这便是在数据划分部分课程补充的一些内容,接下来我们引入两个新概念:偏差和方差。

2.偏差和方差

2.1 什么是偏差和方差

还是先摆一下概念吧,这事好久没做了:

偏差是指模型的预测值与真实值之间的系统性误差。它衡量的是模型对数据真实规律的拟合能力。

方差是指模型对训练数据中随机噪声或小波动的敏感程度。它衡量的是模型在不同训练集上训练时,其预测结果的不稳定性。

我们用课程里的具体例子来理解一下这两个概念:

Pasted image 20251028111705

依旧是二分类:

我们先看第一幅图,这里,我们用一条直线来进行分类,很明显,出现了很多被错误分类的样本。

对于这种不能较好的拟合,误差较大的结果,就是高偏差。

高偏差的基本表现就是欠拟合(Underfitting),即在训练集和验证集上的表现都很差。如用一条直线去拟合一组明显呈抛物线分布的数据。

然后再看第三幅图,这里,我们非常准确的区分了每一个样本。

但是要注意,我们观察发现,在图中,有两个样本偏离了大部分该类样本的位置。

对于这种变异的,无法正确反应类别规律的样本数据,我们就称为噪声。

而在第三幅图中,我们的模型敏感度较高,为了拟合这两个无法正确反应规律的样本,反而降低了最终的准确率,这种过于敏感以至于拟合噪声导致性能下降的结果,就是高方差。

高方差的基本表示就是过拟合(Overfitting),即在训练集上表现很好,但在验证集或测试集上表现很差。就像一个非常复杂的神经网络,完美记住了训练数据的所有点(包括噪声),反而会对新数据泛化能力极差。

而我们在第二份图标注合适的原因,就是因为它做到了拟合大部分数据的规律实现低偏差,又没有被噪声干扰偏离正确规律从而实现低方差。

低偏差和低方差,就是我们追求的模型目标。

2.2 从数据分析偏差和方差高低

现在,我们已经知道了偏差和方差的概念,而在实际代码运行中,我们则需要从代码的结果,即评估指标来判断这两点,来继续看猫狗分类的例子,我们从代码结果上看看如何分析偏差和方差的高低。

Pasted image 20251028140230

简单来说:

偏差高低就看数据在训练集上的表现好不好。

方差高低就看数据在训练集和验证集上的差别大不大。

此外,并不是说只有0.5%或以下才是低方差或者低误差。

这涉及到一个基本误差的概念:我们人眼判断错误的概率。

假设我们人眼只有1%的概率会错误分类猫狗,那我们的方差和偏差的高低标准就会以1%为标准判断。

基本误差根据任务不同,自然也不同。

等等,好像还有一点不太清晰。

我们刚刚引出概念的时候谈到,高偏差的表现是欠拟合,高方差的表现是过拟合,但从二者的定义上来看,欠拟合和过拟合不是冲突的吗?那为什么高偏差和高方差可以同时存在呢?

对于这个问题,从表面上看:

高偏差 → 欠拟合(模型太简单,对规律学得不够)

高方差 → 过拟合(模型太复杂,对噪声学得太多)

似乎一个模型“学的不够”,另一个“学的太多”,那怎么可能又多又少?

问题就在于——我们用“表现”来简化这两个概念,但其实它们真正反映的是模型表现的两个不同维度。

举一个飞镖的例子 :

每次都扔偏了靶心(高偏差);

而且每次落点都不一样(高方差)。

这就是“又不准又不稳”的情况,即 高偏差 + 高方差同时存在。

其次,欠拟合和过拟合都可以是局部的,我们可能在图像某一区域发生了欠拟合,又在另一区域发生了过拟合,从这个角度看,即 欠拟合 + 过拟合同时存在。

这样便可以比较好的回答这个问题。

2.3 如何调整偏差和方差

现在我们已经知道如何判断算法的偏差和误差情况了,那相应的,采取什么样的措施才能调整二者,从而实现算法的调优呢?

总结成一张图如下:

Pasted image 20251028143646

这是一些基本措施。

要说明的一点是,方差和误差往往是联动的,我们的一些措施往往会同时增加或减少二者,用什么算法,什么样的超参数等等都会产生影响,而随着技术的发展,才出现了可以单独影响二者之一的新方法技术,我们遇到再说。

总结来说,构建更大,更复杂的网络往往能起到更好的效果,但实际上,在这方面,目前并没有数学概念上的“最优解”,即可以在所有问题上实现最好效果的架构或算法。

这便是为什么我们往往把训练模型称为“炼丹”的原因,我们需要一点点,一步步地调试,来摸索出针对自己的问题效果最好的模型,有些时候,我们自己也不知道为什么某样组合能达到更好的效果。

http://www.cnnetsun.cn/news/175303.html

相关文章:

  • 解决MQ消息丢失问题的5种方案
  • 芜湖,千兆网络下载速率只有10MB秒,过的什么苦日子
  • AI一周大事盘点(2025年12月14日~2025年12月20日)
  • K3s + Sysbox:让容器拥有“虚拟机的灵魂”
  • 8 个降AI率工具推荐,继续教育学生必备
  • 从开发一个AI美女聊天群组开始
  • 12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换
  • Java毕设项目:基于springboot的养宠物指南服务平台系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 10 个降AI率工具,继续教育学生高效避坑指南
  • Java毕设项目推荐-基于SpringBoot的演唱会门票在线预定系统的设计与实现基于springboot的演唱会购票系统的设计与实现【附源码+文档,调试定制服务】
  • 升压芯片很简单(一),快速选择升压芯片+利用升压芯片设计LED电源
  • 基于web的人才招聘网站设计 nodejs vue
  • 测试20个降AI率工具后,我找到了2个去ai痕迹效果好的网站,还有免费降AI额度。
  • Thinkphp和Laravel在线点餐系统的设计与实现vue
  • 现代cpp在传统内存分配上的改进
  • Java毕设项目:基于springboot的物业报修系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 【计算机毕业设计案例】基于springboot的物业报修系统的设计与实现线上化的报修管理平台(程序+文档+讲解+定制)
  • Java毕设选题推荐:基于springboot的社区团购系统的设计与实现、拼团下单、配送调度、资金结算【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java计算机毕设之基于springboot的幼儿园管理系统的设计与实现为幼儿园(含普惠园、民办园、连锁园)设计的 “家园共育 + 日常运营 + 安全监管(完整前后端代码+说明文档+LW,调试定制等)
  • I/O多路复用
  • 视频播放器PotPlayer下载安装教程:超详细图文步骤(PC+安卓)
  • Semantic Kernel 实战系列(六) - Memory与向量存储
  • 一个基于 .NET MAUI 的开箱即用的 UI 组件库,可快速搭建面向业务的应用程序界面!
  • Semantic Kernel 实战系列(七) - 高级主题 - Agents 与多代理系统
  • LeetCode每日一题——K个一组翻转链表
  • 大模型后训练:中美路径与商业闭环|附56页PDF文件下载
  • 震惊!选对云服务器代理商,这5个关键指标必须知道!
  • 2025年度复盘与总结
  • ESA正式授予Sivers波束成形技术开发合同
  • 基于UKF-IMM无迹卡尔曼滤波与交互式多模型的轨迹跟踪算法matlab仿真,对比EKF-IMM和UKF