吴恩达deeplearning.ai:正则化对于偏方差的影响制定用于性能评估的基准

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏
这节我们看看正则化系数

文章目录


以线性回归为例

让我们举一个例子:
模型:
f w , b ( x ) = w 1 x + w 2 x 2 + w 3 x 3 + w 4 x 4 + b f_{w,b}(x)=w_1x+w_2x^2+w_3x^3+w_4x^4+b fw,b(x)=w1x+w2x2+w3x3+w4x4+b
其中代价函数我们使用带正则化的:
J ( w , b ) = 1 2 m ∑ ( f w , b ( x ) − y ) 2 + λ 2 m ∑ w j 2 J(w,b)=\frac{1}{2m}\sum(f_{w,b}(x)-y)^2+\frac{\lambda}{2m}\sum w_j^2 J(w,b)=2m1(fw,b(x)y)2+2mλwj2

让我们从设置一个比较大的 λ \lambda λ开始:
在这里插入图片描述
通过之前章节的学习很容易意识到,当 λ \lambda λ特别大时,那么w1和w2将会接近于0。在这种情况下,得出的拟合曲线就接近一条平行于x轴的直线。很显然,这个模型具有很高的偏差和方差。
而当 λ \lambda λ的值特别小的时候,那么正则化的作用将会无限趋近0,此时曲线就容易过拟合,从而出现低偏差,高方差的情况。
在这里插入图片描述
当然,如果你的 λ \lambda λ取值合适,那么此时将会得到一条拟合程度刚好的曲线,就可以做到低方差和低偏差了。
在这里插入图片描述

交叉验证误差对于确定 λ \lambda λ的作用

作者给出的方法就是,一系列的 λ \lambda λ你就试吧,然后通过看交叉验证误差的大小来确定 λ \lambda λ应该取多大效果最好。最后为了严谨,你可以再测一下选出数据的测试集误差。
我们也可以通过画图,来看看 λ \lambda λ对于训练集误差和验证集误差的影响趋势:
在这里插入图片描述
因此和上一节类似,我们的 λ \lambda λ取值也需要适中,从而使得模型达到合适的效果。
既然我们已经知道了偏差和方差的意义以及规律,那么我们可以指定一个基准,让学习算法能够自动进行评估。

指定用于性能评估的基准

语音识别的例子

本次语音识别指的是将语音的内容转化为文字的形式。它当中的错误当然就是你训练算法中翻译错误的内容占所有内容的百分比,我们可以就用这个百分比来代表 J t r a i n J_{train} Jtrain
假设一个训练集它的训练误差为10.8%,这意味着它成功转化了89.2%的训练集,但在10.8%的数据集出现了错误。之后你肯定就该在交叉验证集上来测试准确度了,假设 J c v J_{cv} Jcv为14.8%。
在这里插入图片描述
在语音识别中这样的错误率感觉已经很高了,但是这样就妄下定论其实是不太公平的,因为还没考虑到人说话的质量。如果让人来听训练集中说的话然后再翻译,准确度能达到多少,然后再和 J t r i a n J_{trian} Jtrian进行比较,这样看上去比较公平。
在这里插入图片描述
假设你最后发现,人类的识别错误率也高达10.6%,那么就可以为你的模型血洗冤屈了,因为这说明听不清是训练集数据的锅。
因此可以知道,判断算法是否合适,其中一个重要的方法是看看它与人类水平相比是否更好,在本文的例子之中,机器的水平只比人类差了0.2个百分点,其实就可以说明在训练集的表现已经很不错了。但与之相比, J c v J_{cv} Jcv 4.2%的错误其实还有进步的空间。
在之前,我们提出的观点是观察偏差和方差来判断模型的好坏,但其实有时候也需要考虑进去例如训练集质量的问题。所以尽管训练集误差和验证集误差看上去差距不大,但其实在这个例子之中更主要的问题集中在交叉验证集上。
所以,建立性能评估基准主要取决于你对于模型的正确率的期望值为多少,是你合理的希望学习算法达到的最终水平,这取决于很多的扰动因素例如:

1.人类的表现水平
2.其它算法的表现水平
3.朴素的经验

之后相比于将错误率和0相比,更应该和基准水平进行比较。
在这里插入图片描述
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

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

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

相关文章

Outlook邮箱IMAP密码怎么填写?账户设置?

Outlook邮箱IMAP密码是什么?Outlook如何设置IMAP? 许多用户会选择通过IMAP协议将邮箱与各种邮件客户端进行连接。而在设置过程中,填写IMAP密码是必不可少的一步。那么,Outlook邮箱的IMAP密码应该如何填写呢?接下来&am…

【Linux】深入理解ls命令

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 基本用法 常用选项 示例 高级用法 结语 我的其他博客 前言 在 Linux 系统中,ls 命令是一个强大而又基础的工具&am…

高刷显示器 - HKC VG253KM

🔥🔥 今天来给大家揭秘一款电竞神器 - HKC VG253KM 高刷电竞显示器!这款显示器可是有着雄鹰展翅般的设计灵感,背后的大鹏展翅鹰翼图腾让人过目难忘。那么,这款显示器到底有哪些过人之处呢?一起来看看吧&…

【MySQL】基于Docker搭建MySQL一主二从集群

本文记录了搭建mysql一主二从集群,这样的一个集群master为可读写,slave为只读。过程中使用了docker,便于快速搭建单体mysql。 1,准备docker docker的安装可以参考之前基于yum安装docker的文章[1]。 容器相关命令[2]。 查看正在…

如何系统的学习Python——Python的基本语法

学习Python的基本语法是入门的第一步,以下是一些常见的基本语法概念: 注释: 用#符号来添加单行注释,或使用三引号(或""")来添加多行注释。 # 这是一个单行注释 这是 多行 注释 变量和数据类型: 变量用…

Pod和容器设计模式

为什么需要 Pod; Pod 的实现机制; 详解容器设计模式。 一、为什么需要 Pod 容器的基本概念 现在来看第一个问题:为什么需要 Pod?我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调…

144. 二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root [1] 输出&am…

java方法

目录 方法的定义 方法的命名规则 方法的调用与重载 方法调用实例 方法的重载 变量的作用域 算法中常见的方法 1:gcd(求两个整数中的最大公约数) 2:lcm(求两个整数的最小公倍数) 3:判断一个整数是否…

SpringCloud(18)之Sleuth +Zipkin链路追踪

一、Zipkin介绍 Zipkin是一个开放源代码分布式的跟踪系统,它可以帮助收集服务的时间数据,以解决微服务架构中的延迟问 题,包括数据的收集、存储、查找和展现。每个服务向zipkin报告计时数据,zipkin会根据调用关系通 过Zipkin UI…

LeetCode: 数组中的第K个最大元素

问题描述 在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。 解题思路 解决这个问题有多种方法,下面是几种常见的解题策略: 排序后选择: 将数组排序&#xff0c…

ProChat 如何接入 WebSocket

WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许客户端和服务器之间进行双向实时通信。与Server-Sent Events (SSE)类似,WebSocket也能实现实时数据推送,但其功能更为强大且灵活。 全双工通信:WebSocket不仅允许服务器向…

【TestNG】(4) 重试机制与监听器的使用

在UI自动化测试用例执行过程中,经常会有很多不确定的因素导致用例执行失败,比如网络原因、环境问题等,所以我们有必要引入重试机制(失败重跑),来提高测试用例成功率。 在不写代码的情况没有提供可配置方式…

Mysql 慢查询日志

查询是否开启慢SQL日志 show variables like %slow_query_log; 开启慢查询日志 set global slow_query_logON; 可以通过修改MySQL的配置my.cfg或者my.ini永久生效 slow_query_logON # 开启慢查询日志开关 slow_query_log_file/var/lib/mysql/alvin-slow.log # 慢查询日志…

1.2 在卷积神经网络中,如何计算各层感受野的大小

1.2 在卷积神经网络中,如何计算各层感受野的大小 分析与解答: 在卷积神经网络中,由于卷积的局部连接性,输出特征图上的每个节点的取值,是由卷积核在输入特征图对应位置的局部区域内进行卷积而得到的,因此这…

COM - IWbemClassObject对象属性的遍历

文章目录 COM - IWbemClassObject对象属性的遍历概述笔记场景封装好的函数bool CWmiBase::enumObjVaule(IWbemClassObject* obj, std::wstring& val)bool CWmiBase::appendVarToString(BSTR& strName, VARIANT& var, std::wstring& val)bool CWmiBase::get_var…

【笔试强训错题选择题】Day5.习题(错题)解析

文章目录 前言 错题题目 错题解析 总结 前言 错题题目 1. ​ ​ 2. 3. ​ 4. ​ 5. ​ 错题解析 1. 移位运算符的使用 2. 3. 4. 5. 总结

如何用TCC实现分布式事务?

TCC事务介绍 TCC(Try-Confirm-Cancel)是除可靠消息队列以外的另一种常见的分布式事务机制,它是由数据库专家帕特 赫兰德(Pat Helland)在2007年撰写的论文《Life beyond Distributed Transactions: An Apostate’s Op…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码)

摘要:开发和研究体育赛事目标检测系统对于增强体育分析和观赏体验至关重要。本篇博客详细讲述了如何运用深度学习技术构建一个体育赛事目标检测系统,并提供了完整的实现代码。系统基于先进的YOLOv8算法,对比了YOLOv7、YOLOv6、YOLOv5的性能&a…

【webrtc】p2p_transport_channel 中忽略Hyper-V

【win11】更改网络适配器设置 删掉了hype-v,这时候wsl2 打不开了,但是重启后,还是存在hyper-v那么,让webrtc自己不适用hyper-v的网络Hyper-V 的全程:Hyper-V Virtual Ethernet Adapter https://github.com/SophistSolutions/Stroika/blob/2cd5e8bf4ee01cb5c423367b4df628f…

MFC 模态对话框退出机制的探究

一位读者问了这样一个问题: ” 如果我创建了一个可见的模态对话框,却对用户来说不可用。举个例子,假设我在程序中的其他位置收到一个事件,并且我从事件中调用模态 CDialog 上的 DestroyWindow。我注意到 OnDestroy 是在 CDialog 上调用的,但在将 WM_QUIT 消息发送到模态对…