李宏毅《机器学习 深度学习》简要笔记(一)

一、线性回归中的模型选择

上图所示:

五个模型,一个比一个复杂,其中所包含的function就越多,这样就有更大几率找到一个合适的参数集来更好的拟合训练集。所以,随着模型的复杂度提高,train error呈下降趋势。

上图所示:

右上角的表格中分别体现了在train和test中的损失值大小,可以看出,从第三个模型开始,就呈过拟合(Overfitting)状态。

二、分种类的训练模型

当模型会根据种类不同而有较大区别时,可以分种类来形成多个不同的model。在李宏毅老师举例中,不同的精灵在进化前和进化后CP值得变化曲线是不同的。如下图所示:

这样分类别来训练模型,可以更好的让model拟合真实数据。

三、添加正则化

使用正则化后,当w非常小(接近0)的时候,我们的输入变化对结果的影响会趋于0。所以我们可以通过调整λ参数来调整正则化的强度。λ越大时,模型曲线更平滑。

在这里,我们不需要对b进行正则化,因为b只会影响模型曲线上下移动(b是常数),所以无需对其进行调整。

如上图所示:

根据λ从小变大,test的损失越来越小,达到一个最小值后,又越来越大。而train的损失值逐渐变大。这是因为当λ变大时,模型越来越平滑,在降低过拟合的同时,也使得对训练数据的拟合度降低。如图中曲线所示,我们可以找到一个train和test损失值最相近的地方,这里就是λ的最佳取值。

我们需要将曲线变得平滑一点,但又不能将其变得过于平滑,如果过于平滑就会从过拟合(train的loss低,test的loss高)变为欠拟合(train的loss高,test的loss也比较高)。

P2

一、学习率的调整

在我们调整学习率的时候,我们尽量画出右边的曲线,观察学习率是否过大或过小,然后选择一个最合适的学习率η。

二、学习率的自动调整

Adagrad:

在Adagrad中,学习率在每次迭代的时候,都除以以前所有步数的梯度的平方和根。但是Adagrad有个问题,就是学习率衰减很快,有可能提前结束训练,从而无法从后面的数据中学习到有用的信息。

在这里面,可以看出一个比较矛盾的地方,即gt比较大的时候,分母也会比较大,与我们初衷不符(应该是在陡峭的地方,我们希望学习率越大),这背后的原理我们可以参考P2中19:30-31:00的讲解。

SGD:

SGD就是每看一个样本就更新一次权重。假设一共有20个样本,普通的梯度下降每次迭代都要看20个样本,然后使用平均的梯度来更新权重,但是如果使用SGD的话,我们同样看20个样本,则已经更新20次。如图中所示,后者在更新20次后,所前进到的位置优于前者。

但SGD有一个缺点,就是每一个样本都更新权重,则使得在计算上可能无法充分发挥矩阵运算的效率。而且在接近最优解的地方可能震荡范围比较大。

特征伸缩(Gradient Descent):

特征伸缩可以将取值范围差别很大的特征伸缩到范围处于同一量级,这样的话相当于同一了各个维度的梯度(不会出现一个方向很平缓、一个方向很陡峭的极端情况)。这样在更新权重的时候,每个方向的更新速度就相差不大,这样可以加快收敛的速度。

如上图所示,对于R个样本,每个样本中不同Feature分别求平均值Mi,然后各个值减去相应的平均值,然后再除以方差。这样就会使得该Feature的所有数据的平均值为0,方差为1。如下图所示:

三、梯度下降的来源

参考P2 44:20-59:30对梯度下降的推导过程。

1.通过泰勒级数(Taylor Series)将Loss function展开。

2.在梯度下降中,我们只考虑k=0和k=1的情况,也就是说只使用一阶微分。在多变量的情况下:

3.当红框非常小的时候,以上式子才成立

4.我们将式子做一定变换,然后忽略常数S,我们如何来使L(θ)最小,我们就需要取(Δθ1,Δθ2)的方向与(u,v)相反,如下图所示:

5.下图中描述,当红圈非常小时,L(θ)式子才成立,我们将u和v的计算式带入L(θ)就可以得到梯度下降对权重更新公式。当然,在梯度下降中,我们只考虑了泰勒级数的一阶微分项。在某种情况下,我们也可以将二阶甚至三阶加入考虑(例如牛顿法就考虑了二次式),但是由于二阶以上的微分求解消耗比较大,所以在梯度下降中并未做考虑。一定要注意,要让梯度下降算法生效,最重要的就是红色圆圈要足够小,也就是说学习率要足够小。

四、我们无法知道梯度更新接近0的时候是不是局部最优

P3

当我们执行梯度下降时,我们就像上图中游戏一样,我们无法知道我们走到的一个梯度接近0的位置到低是不是局部最优(甚至全局最优),因为周边都是黑雾,除非我们作弊开天眼。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美易官方:美国电商巨头eBay宣布裁员约1000人

美国电商巨头eBay近日宣布,为了应对当前的经济形势和市场需求,公司计划裁员约1000人,约占公司员工总数的4%。eBay表示,此次裁员是为了优化公司运营和提高效率,同时也会对受影响的员工提供必要的支持和帮助。 eBay作为全…

PowerBI商业智能分析引入,带你了解什么是商务智能

一、商务智能工具 什么是Power BI ?Power Bl是微软开发的一个软件,它是从获取数据、数据清洗、数据图表搭建、数据分析、共享发布为一体的软件,无论你的数据是简单的Excel电子表格,还是复杂庞大的数据库,Power Bl都可…

Python自动化测试

一、什么是框架 框架是由大佬开发或者专业的研发团队研发的技术骨架,框架是一个半成品,框架是对常用的功能,基础的代码进行封装的一个工具,这个工具对外提供了一些API,其他的开发者只需要调用框架的接口即可&#xff…

【第七在线】智能商品计划:重塑服装行业的供应链管理

在当今快速变化的市场环境中,供应链管理已成为企业成功的关键因素之一。尤其在服装行业,供应链的效率、灵活性和透明度直接影响着企业的竞争力和盈利能力。随着技术的发展,智能商品计划正逐渐成为重塑供应链管理的强大工具。 一、智能商品计划…

【USTC】verilog 习题练习 46-50

46 上升沿检测 题目描述 在实际应用中,我们经常需要对某个信号的边沿进行检测,并以此作为后续动作的触发信号(例如电脑键盘的某个按键被按下或者被松开,在电路中则对应的是电平的变化)。 设计一个电路,包…

Elasticsearch分布式一致性原理剖析(一)-节点篇

前言 “Elasticsearch分布式一致性原理剖析”系列将会对Elasticsearch的分布式一致性原理进行详细的剖析,介绍其实现方式、原理以及其存在的问题等(基于6.2版本)。 ES目前是最流行的分布式搜索引擎系统,其使用Lucene作为单机存储引擎并提供强大的搜索查…

JavaScript中的DOM导航

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 在我们的日常生活中,JavaScript已经成为了一种无处不在的…

前端 防止浏览器提示记住密码以及自动填充密码

当前端 <input /> 的 type’password‘ 时&#xff0c;浏览器为了优化用户体验&#xff0c;会在表单提交后提示用户记住密码 如果不想要这样的行为&#xff0c;最简单的当然是提示用户自己在浏览器设置中进行相关配置 如果希望在代码层面阻止浏览器提示是否记住密码或者…

自动化Web页面性能测试介绍

随着越来越多的用户使用移动设备访问 Web 应用&#xff0c;使得 Web 应用需要支持一些性能并不是很好的移动设备。为了度量和测试 Web 应用是不是在高复杂度的情况下&#xff0c;页面性能能满足用户的需求。 同时&#xff0c;随着 Web 应用的空前发展&#xff0c;前端业务逐渐…

vue2项目打包到测试环境之后报错require is not defined

配置打包命令npm run build:test到测试环境之后报错&#xff0c;打包到生产环境没有问题&#xff0c;查找了项目中的require引入似乎也没啥有问题的地方&#xff0c;所以排除是require的原因 环境变量文件&#xff1a; 打包指令&#xff1a; 解决办法&#xff1a; 将.env.tes…

新网站收录需要多长时间完成审核

新网站的收录时间因多种因素而异。 一般来说&#xff0c;新上线的网站可能在最快3-7天内被百度收录&#xff0c;尤其是那些有高质量内容的网 然而&#xff0c;通常情况下&#xff0c;新网站的收录可能会在7-15天左右发生。 有些情况下&#xff0c;如果网站的内容足够丰富和有价…

《WebKit 技术内幕》学习之四(3): 资源加载和网络栈

3. 网络栈 3.1 WebKit的网络设施 WebKit的资源加载其实是交由各个移植来实现的&#xff0c;所以WebCore其实并没有什么特别的基础设施&#xff0c;每个移植的网络实现是非常不一样的。 从WebKit的代码结构中可以看出&#xff0c;网络部分代码的确比较少的&#xff0c;它们都在…

【C++记忆站】类和对象(三)

文章目录 再谈构造函数构造函数赋值并非初始化初始化列表explicit关键字 static成员概念特性一、静态成员为所有类对象所共享&#xff0c;不属于某个具体的对象二、静态成员变量必须在类外定义&#xff0c;定义时不添加static关键字三、静态成员函数没有隐藏的this指针&#xf…

控制项目风险

一、风险预算 暴雪公司经理艾莉森&#xff0c;暴雪公司是一家小型工业企业&#xff0c;该公司的高管为了降低生产成本&#xff0c;决定搬迁工厂。项目经理明白实际情况与初始计划之间常常会有很大的出入。项目经理需要事先为一些事情做好准备&#xff0c;并在项目运作或预算方面…

mongo 聚合查询 - 小试牛刀

聚合查询configId为1231231312,且返回id和sum的map结构。 _id,count db.getCollection("s_p_collection").aggregate([{"$match": {"deleted"

《WebKit 技术内幕》学习之十一(3):多媒体

3 音频 3.1 音频元素 说完视频之后&#xff0c;接下来就是HTML5中对音频的支持情况。音频支持不仅指对声音的播放&#xff0c;还包括对音频的编辑和合成&#xff0c;以及对乐器数字接口&#xff08;MIDI&#xff09;等的支持&#xff0c;下面逐次介绍并分析它们。 3.1.1 H…

虹科分享丨AR与AI融合加速,医疗护理更便捷!

来源&#xff1a;虹科数字化与AR 虹科分享丨AR与AI融合加速&#xff0c;医疗护理更便捷&#xff01; 原文链接&#xff1a;https://mp.weixin.qq.com/s/Fi0wNfk_TDXRo_1-6cSRNQ 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #AR眼镜 #医疗护理 根据Reports and Da…

vue中图片不显示问题 - vue中静态资源加载

文章目录 vue中图片不显示问题静态资源URL 转换规则webpack 静态资源处理 图片不显示问题问题描述解决办法1&#xff1a;使用require引入require is not defined 解决办法2&#xff1a;使用import引入解决办法3&#xff1a;将图片放进公共文件夹static或public vue中图片不显示…

2024区块链应用最趋势,RWA实物资产化

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 实物资产通证化&#xff0…

HarmonyOS鸿蒙学习基础篇 - 基本语法概述

书接上文 HarmonyOS鸿蒙学习基础篇 - 运行第一个程序 Hello World 基本语法概述 打开 entry>src>main>ets>pages>index.ets 代码如下代码详细解释如下&#xff1a; Entry //Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中&#xff0c;最多可以使用…
最新文章