机器学习和深度学习--李宏毅(笔记与个人理解)Day11-12

Day11 when gradient is small……

image-20240411202524518

image-20240411165229093 image-20240411170420173

怎么知道是局部小 还是鞍点?

using Math

image-20240411170714889 image-20240411170827423 image-20240411183651821

这里巧妙的说明了hessan矩阵可以决定一个二次函数的凹凸性 也就是 θ \theta θ 是min 还是max,最后那个有些有些 哈 是一个saddle;
然后这里只要看hessan矩阵是不是正定的就好(详见 线性代数)

example – using Hessan

image-20240411184214162

image-20240411185921423

image-20240411190019750

奇怪这里为什么不是主对角线呀,难道两个都一样嘛 晕死,得复习线代了

Dont afraid of saddle point(鞍点)

image-20240411191229522

征向量 u 和对应的特征值 λ定义为满足下列关系的向量和标量:Hu=λuimage-20240411191607440

在梯度下降算法中,我们希望选择使得 L*(*θ) 减小的 θ 方向。如果 λ<0,则向 u 的方向移动参数 θ 会减小损失函数 L(θ)。

换句话说,如果我们发现了一个负特征值λ 和相应的特征向量u,我们可以通过沿着 u 的方向更新 θ 来降低损失函数的值。这就是图中所说的“Decrease L”的含义。

image-20240411192321757

local minima VS saddle Point

图2024-4-11

image-20240411193048273

image-20240411193129424 image-20240411193238944

引入高维空间的观点,解决local minima的问题:我们很少遇到local minima;

image-20240411193304041

Day12 Tips for training :Batch and Momentum

why we use batch?

前面有讲到这里, 前倾回归

image-20240411193721913

image-20240411193820931

这里大家记得问自己一个问题:一个epoch 更新多少个参数?nums(batch)* parameters

例如,如果你有100个batch,那么在完成一个epoch后,每个参数会被更新100次。

shuffle :有可能batch结束后,就会重新分一次batch

small vs big

这里举了两个极端的例子,也是我们常见的学习方法:取极限看效果

image-20240411194814890

image-20240411194902129

未考虑平行运算(并行 --gpu)

image-20240411195047480 image-20240411195201626

image-20240411195219530

image-20240411195334111

image-20240411195343292

image-20240411195439085

image-20240411195449004

over fitting: 比较train 和test

image-20240411195730628 image-20240411195807268
AspectSmall Batch Size(100个样本)Large Batch Size(10000个样本)
Speed for one update (no parallel)FasterSlower
Speed for one update (with parallel)SameSame (not too large)
Time for one epochSlowerFaster
GradientNoisyStable
OptimizationBetterWorse
GeneralizationBetterWorse

batch is a hyperparameter……

image-20240411200125974

Momentum

惯性

image-20240411200222463 image-20240411200312757

image-20240411200418306

知道学到这里想到什么嘛……粒子群算法的公式不知道你们有没有了解,看下面那个w*vi 有没有感觉这种思想还挺常见的,用来做局部最小值的优化的

image-20240411201736044

image-20240411201955070 image-20240411202039014

concluding:

image-20240411202102454

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

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

相关文章

图形学基础:二维三维刚体的移动、缩放和旋转矩阵

一、二维 1.1 缩放矩阵 x&#xff0c;y分别表示在x轴&#xff0c;y轴缩放的倍数 示例&#xff1a; 1.2 平移矩阵 x&#xff0c;y分表表示在x轴&#xff0c;y轴上移动的距离 示例&#xff1a; 1.3 旋转矩阵 θ 表示点绕原点逆时针旋转θ 示例&#xff1a; 点 (2,1) 绕原点旋转…

MapReduce过程解析

一、Map过程解析 Read阶段&#xff1a;MapTask通过用户编写的RecordReader&#xff0c;从输入的InputSplit中解析出一个个key/value。Map阶段&#xff1a;将解析出的key/value交给用户编写的Map()函数处理&#xff0c;并产生一系列的key/value。Collect阶段&#xff1a;在用户编…

从 SQLite 3.5.9 迁移到 3.6.0(二十一)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;从 SQLite 3.4.2 迁移到 3.5.0&#xff08;二十&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 ​SQLite 版本 3.6.0 &#xff08;2008-07-16&#xff09; 包含许多更改。按照惯例 SQLite项目&#xff…

Swagger API 文档 | 技术选型

文章目录 必备知识选型方案 1:SpringFox选型方案 2:springdoc-openapi选型方案 3:Knife4j方案对比相关博文😂 背景 老项目是 SpringMVC 框架,使用的是 SpringFox 2.8.0 实现的 API 文档。新项目是 SpringBoot 3.x 框架,发现 SpringFox 已经停更了,故有了此次 API 文档的…

怎么在外地控制自家的电视

怎么在外地控制自家的电视 随着科技的进步和智能家居的普及&#xff0c;远程控制家中的电器设备已经成为现实。电视作为家庭娱乐的中心&#xff0c;远程控制功能更是备受关注。那么&#xff0c;如何在外地控制自家的电视呢&#xff1f;本文将为你提供详细的步骤和有价值的信息…

为什么要“挺”鸿蒙?

鸿蒙到底是什么&#xff1f; 随着5G、物联网等技术的快速发展&#xff0c;智能终端设备的应用场景也越来越广泛。为了满足不同设备间的互联互通需求&#xff0c;华为在2019年推出了自主研发的操作系统——鸿蒙OS。值得关注的是&#xff0c;这也是首款国产操作系统。 要了解鸿…

UE5学习日记——制作多语言版本游戏,同时初步学习UI制作、多语言化、控制器配置、独立进程测试、打包配置和快速批量翻译等

所有的文本类&#xff0c;无论变量还是控件等都能实现本地化&#xff0c;以此实现不同语言版本。 在这里先将重点注意标注一下&#xff1a; 所有文本类的变量、控件等都可以多语言&#xff1b;本地化控制板中收集、编译时&#xff0c;别忘了编译这一步&#xff1b;支持批量复制…

一探究竟:选择排序原理、实现与应用分析

在众多基础排序算法中&#xff0c;选择排序以其独特的工作机制和稳定的性能表现&#xff0c;吸引了众多算法学习者的关注。本文将深入剖析选择排序的原理、详细实现步骤&#xff0c;以及其在实际应用中的表现与适用场景&#xff0c;助您全面理解这一经典排序算法。 一、选择排…

ClickHouse--16--普通函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、日期函数1、时间或日期截取函数&#xff08;返回非日期&#xff09;2、时间或日期截取函数&#xff08;返回日期&#xff09;3、日期或时间日期生成函数 二、类…

PTA 应急救援站选址(floyd+打印路径)

大学城虎溪社区有很多居民小区&#xff0c;居民小区道路图是连通的。现要在该社区新建一个应急救援站&#xff0c;且该应急救援站要和某个小区建在一起。为了使应急救援最快速&#xff0c;经各部门商量决定&#xff1a;应急救援站建好后&#xff0c;离应急救援站最远的小区到应…

使用 Axios 处理 AxiosError 的三种常见方法

在使用 Axios 时处理 AxiosError 有几种常见的方法: 使用 try-catch 语句捕获异常: try {const response await axios.get(/api/data);// 处理响应数据 } catch (error) {if (error.response) {// 请求成功但状态码不在 2xx 范围console.log(error.response.data);console.l…

React Hooks全面解读与高效开发实践

React Hooks是React 16.8版本引入的新特性&#xff0c;它可以让函数式组件具有类组件的能力。通过使用Hooks&#xff0c;我们可以在不编写类的情况下&#xff0c;使用状态&#xff08;state&#xff09;和其他React特性&#xff0c;使得组件的开发更加简单和高效。 在React中&…

Git - 设置全局用户名和邮箱

环境信息 Git 版本信息&#xff1a; $ git --version git version 2.33.0.windows.1设置全局用户名和邮箱 设置全局用户名&#xff1a; $ git config --global user.name "hello"设置全局邮箱&#xff1a; $ git config --global user.email "1234567890qq…

Web刷题记录——不翼而飞的余额

一、代码及思路解析 1、创建路由 // TODO&#xff1a;待补充代码&#xff0c;在此引入路由相关 API const { createRouter,createWebHistory } VueRouter; // TODO:待补充代码&#xff0c;为项目配置 history 模式的路由 const router createRouter({// 1、配置路由模式[…

单例模式以及常见的两种实现模式

单例模式是校招中最常考的设计模式之一. 设计模式其实就是类似于“规章制度”&#xff0c;按照这个套路来进行操作。 单例模式能保证某个类在程序中只存在唯一 一份实例。而不会创建出多个实例&#xff0c;如果创建出了多个实例&#xff0c;就会编译报错。而不会创建出多个实…

element-ui backtop 组件源码分享

今日简单分享 backtop 组件的源码实现&#xff0c;从以下三个方面&#xff1a; 1、backtop 组件页面结构 2、backtop 组件属性 3、backtop 组件事件 一、backtop 组件页面结构 二、backtop 组件属性 2.1 target 属性&#xff0c;触发滚动的对象&#xff0c;类型 string&am…

Java 流(Stream)、文件(File)和IO

Java 流(Stream)、文件(File)和IO 目录 Java 流(Stream)、文件(File)和IO 读取控制台输入 从控制台读取多字符输入 从控制台读取字符串 控制台输出 实例 读写文件 FileInputStream FileOutputStream 实例 文件和I/O Java中的目录 创建目录&#xff1a; 读取目录 Ja…

GitLab介绍、安装、创建第一个项目

一、Gitlab介绍 GitLab是一个基于Web的DevOps平台,提供了Git仓库管理、问题跟踪、代码审查、CI/CD等一系列功能。它由Dmitriy Zaporozhets和Valery Sizov于2011年创建,旨在为开发团队提供一个集中式的项目管理解决方案。以下是GitLab的一些关键特点和功能: 1、代码管理 提供…

JavaGUI编程

目录 GUI概念 Swing概念 组件 容器组件 窗口&#xff08;JFrame&#xff09; 代码 运行 面板&#xff08;JPanel&#xff09; 代码 运行 布局管理器 FlowLayout 代码 运行 BorderLayout 代码 运行 GridLayout 代码 运行 常用组件 标签(JLabel) 代码 运…

HarmonyOS实战开发-WebSocket的使用。

介绍 本示例展示了WebSocket的使用&#xff0c;包括客户端与服务端的连接和断开以及客户端数据的接收和发送。 WebSocket连接&#xff1a;使用WebSocket建立服务器与客户端的双向连接&#xff0c;需要先通过createWebSocket方法创建WebSocket对象&#xff0c;然后通过connect…