吴恩达《机器学习》2-5->2-7:梯度下降算法与理解
一、梯度下降算法
梯度下降算法的目标是通过反复迭代来更新模型参数,以便最小化代价函数。代价函数通常用于衡量模型的性能,我们希望找到使代价函数最小的参数值。这个过程通常分为以下几个步骤:
-
初始化参数: 随机或设定初始参数的数值,如 𝜃0, 𝜃1, ..., 𝜃𝑛。
-
计算代价函数的梯度: 对于每个参数 𝜃𝑗,计算代价函数 J(𝜃0, 𝜃1, ..., 𝜃𝑛) 对该参数的偏导数,即梯度,表示为 ∂J/∂𝜃𝑗。
-
更新参数: 使用梯度信息来更新参数,根据以下规则更新每个参数 𝜃𝑗
𝜃𝑗 := 𝜃𝑗 - 𝛼 * ∂J/∂𝜃𝑗 其中,𝛼是学习率(learning rate),它决定了每次参数更新的步长。 -
重复迭代: 重复步骤2和步骤3,直到满足停止条件,如达到最大迭代次数或梯度足够小。
二、批量梯度下降
批量梯度下降(Batch Gradient Descent)是一种梯度下降的变体,其中在每一次参数更新时,使用整个训练数据集的信息。更新规则如下:
Repeat {𝜃𝑗 := 𝜃𝑗 - 𝛼 * (1/𝑚) * ∑ (ℎ𝜃(𝑥(𝑖)) - 𝑦(𝑖)) * 𝑥(𝑖) for 𝑖 = 1 to 𝑚
}
这表示在每一次迭代中,我们计算所有训练样本的梯度,然后对所有参数进行同时更新。


三、学习率的选择
学习率 𝛼 是一个重要的超参数,它控制了参数更新的速度。如果 𝛼 太小,模型会收敛得很慢,需要更多的迭代次数才能达到最小值。如果 𝛼 太大,可能会导致无法收敛,甚至发散。

在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低时导数等于零,所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降将自动采取较小的幅度,这就是梯度下降的做法。所以实际上没有必要再另外减小𝑎。
四、局部最小值
梯度下降通常会找到一个局部最小值,因为它不会尝试所有可能的参数组合。选择不同的初始参数组合可能导致不同的局部最小值。全局最小值通常很难找到,特别是对于复杂的代价函数。

参考资料:
[中英字幕]吴恩达机器学习系列课程
黄海广博士 - 吴恩达机器学习个人笔记
相关文章:
吴恩达《机器学习》2-5->2-7:梯度下降算法与理解
一、梯度下降算法 梯度下降算法的目标是通过反复迭代来更新模型参数,以便最小化代价函数。代价函数通常用于衡量模型的性能,我们希望找到使代价函数最小的参数值。这个过程通常分为以下几个步骤: 初始化参数: 随机或设定初始参数…...
Pytorch detach()方法
detach() 是 PyTorch 中的一个方法,用于从计算图中分离(detach)张量。它可以将一个张量从当前计算图中分离出来,返回一个新的张量,该张量与原始张量共享相同的底层数据,但不再追踪梯度信息。 当你需要在计…...
CTF-php特性绕过
注意:null0 正确 nullflase 错误 Extract变量覆盖 <?php$flagxxx; extract($_GET);if(isset($shiyan)){ $contenttrim(file_get_contents($flag));//trim移除引号if($shiyan$content){ echoctf{xxx}; }else{ echoOh.no;} }?> extract() 函数从数组中将…...
人脸识别测试数据分析
一个人脸识别研究小组对若干名学生做了人脸识别的测试,将测试结果写入到一个文件 dir_50.txt 中,每一行是一张照片的识别结果“_照片编号”“.jpg”的字符串组合,示例如下: [1709020621, 0]_116.jpg [1709020621]_115.jpg [17706…...
MySQL 5.7限制general_log日志大小
背景 需求: 在MySQL 5.7.41中开启general_log 并限制其大小,避免快速增长占用硬盘空间。 解决: 通过定时任务,执行简单的脚本,判断general_log 日志的大小,实现对通用查询日志的“每日备份”或“每日清…...
tomcat9~10猫闪退个人经验
java版本17与8 8版本有jre,java17没有jre 所以在java8版本中将jre和jdk路径一同添加环境是不会出现闪退的,tomcat9没有闪退 但是在10就闪退了,因为java版本太低 java17没有jre,但是可以通过一种方法添加jre到java17的目录 完…...
Linux之J2EE的项目部署及发布
目录 前言 一、会议OA单体项目windows系统部署 1.检验工作 1. 检验jar项目包是否可以运行 2. 验证数据库脚本是否有误 3. 测试项目功能 2. 部署工作 2.1 传输文件 2.2 解压项目及将项目配置到服务器中 2.3 配置数据库 2.4 在服务器bin文件下点击startup.bat启动项目 …...
基于闪电搜索算法的无人机航迹规划-附代码
基于闪电搜索算法的无人机航迹规划 文章目录 基于闪电搜索算法的无人机航迹规划1.闪电搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用闪电搜索算法来优化无人机航迹规划。 …...
【网络安全 --- 文件上传靶场练习】文件上传靶场安装以及1-5关闯关思路及技巧,源码分析
一,前期准备环境和工具 1,vmware 16.0安装 若已安装,请忽略 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客文章浏览阅读186次,点赞9次,收藏2次。【网络安全 --- 工…...
BUUCTF刷题记录
[BJDCTF2020]Easy MD51 进入题目页面,题目提示有一个链接,应该是题目源码 进入环境,是一个查询框,无论输入什么都没有回显,查看源码也没什么用 利用bp抓包查看有没有什么有用的东西 发现响应的Hint那里有一个sql语句&…...
黑客技术(网络安全)—小白自学
目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类&am…...
免登陆 同步脚本 zookeeper kafka集群详细安装步骤
一.免登陆配置 #修改注解名 vim /etc/hostname #修改host文件 vim /etc/hosts 192.168.1.10 kafka1 kafka1 192.168.1.11 kafka2 kafka2 192.168.1.12 kafka3 kafka3#免登陆生成秘钥和授权自动登陆 ssh-keygen -t rsa cd ~/.ssh shh-copy-id kafka1 shh-copy-id kafka2 shh-co…...
深入理解NLP
引子 自然语言处理(Natural Language Processing, NLP)是人工智能领域中的一个重要研究方向,它涉及了计算机与人类自然语言之间的交互和理解。 1. NLP的起源与发展 NLP的起源可以追溯到早期的机器翻译项目,随着科技的进步&…...
Python-自动化绘制股票价格通道线
常规方案 通过将高点/低点与其 2 个或 3 个相邻点进行比较来检测枢轴点,并检查它是否是其中的最高/最低点。对所有枢轴点进行线性回归以获得上方和下方趋势线。价格离开通道后建仓。通过这样做,我们得到如下所示的价格通道。我认为我们可以利用给定的数据取得更好的结果。...
CTF-Crypto学习记录-第四天 “ “ --- SHA1安全散列算法,实现原理。
文章目录 前言SHA-1加密算法介绍关于SHA-1和MD5 SHA-1 加密过程原文处理设置初始值和数据结构定义加密运算原理过程 在python中调用SHA-1 前言 MD5学习MD5加密算法 SHA-1加密算法介绍 SHA-1(Secure Hash Algorithm1,安全散列算法1)是一种密…...
海南海口大型钢结构件3D扫描全尺寸三维测量平面度平行度检测-CASAIM中科广电
高精度三维扫描技术已经在大型工件制造领域发挥着重要作用,特别是在质量检测环节,高效、高精度,可以轻松实现全尺寸三维测量。本期,CASAIM要分享的应用是在大型钢结构件的关键部位尺寸及形位公差检测。 钢结构件,是将…...
【PyQt学习篇 · ④】:QWidget - 尺寸操作
文章目录 QWidget简介QWidget大小位置操作案例一案例二 QWidget尺寸限定操作案例 内容边距案例 QWidget简介 在PyQt中,QWidget是一个基本的用户界面类,用于创建可见的窗口组件。QWidget可以包含多种类型的子组件,如QPushButton、QLabel、QLi…...
APC学习记录
文章目录 APC概念APC插入、执行过程逆向分析插入过程执行过程总结 代码演示参考资料 APC概念 APC全称叫做异步过程调用,英文名是 Asynchronous Procedure Call,在进行系统调用、线程切换、中断、异常时会进行触发执行的一段代码,其中主要分为…...
前端将图片储存table表格中,页面回显
<el-table :data"tableData" v-loading"loading" style"width: 100%" height"calc(100vh - 270px)" :size"tableSize"row-dblclick"enterClick"><el-table-column prop"name" label"文档…...
[论文阅读]Ghost-free High Dynamic Range Imaging with Context-aware Transformer
多帧高动态范围成像(High Dynamic Range Imaging, HDRI/HDR)旨在通过合并多幅不同曝光程度下的低动态范围图像,生成具有更宽动态范围和更逼真细节的图像。如果这些低动态范围图像完全对齐,则可以很好地融合为HDR图像,但…...
Motrix Next v3.8.10 | 开源多线程下载管理器神器
Motrix Next v3.8.10是一款全新重构升级的开源多线程下载管理器,老牌原版 Motrix 早已停止更新,老旧架构存在诸多安全漏洞与性能缺陷。而 Motrix Next 基于 Tauri 2Vue3 全新重构开发,补齐了原版技术短板,软件全程纯净无任何广告加…...
HA高可用架构:数字化转型的“隐性及格线”,你达标了吗?
数字化转型的核心是“业务在线、数据可用”,而这一切的前提,是HA(High Availability)高可用架构的支撑。在企业数字化进程中,ERP选型、CRM部署、低代码平台搭建、BI工具落地、API集成打通等动作,都是可见的…...
从 0 到 1:用魔珐星云打造真实可用的智能健身私教【技术原理文章】
> 我在学习具身智能的实战文章,本文为技术文章,非广告一、健身交互痛点:传统数字人 / 健身工具缺失沉浸式陪伴式互动日常健身长期存在行业共性痛点:不管是纯视频课程,还是传统云端实时交互数字人,都难以…...
微信小程序 消防知识学习平台系统
目录同行可拿货,招校园代理 ,本人源头供货商项目概述核心功能技术实现特色亮点适用场景项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->获取博主联系方式->进我个人主页-->同行可拿货,招校园代理 ,本人源头供货商 项目概述 微信小程序“消…...
用wireshark抓取分析EtherCAT报文
📜 第1章:EtherCAT报文结构 EtherCAT报文结构及Wireshark对应显示: 以太网帧头:14字节,包含目标/源MAC地址,帧类型 (EtherType) 固定为 0x88A4。EtherCAT帧头:2字节,包含一个11位的“…...
基于RL78/G13的电位器ADC采集与串口通信上位机显示系统设计
1. 项目概述与核心思路最近在整理工作室的旧零件,翻出来一块瑞萨电子的RL78/G13开发板,还有几个吃灰的电位器。想着不能浪费,就琢磨着做个简单但能体现MCU基本功的小项目:用这块开发板实时采集电位器的电压,并把数据上…...
MSP430在便携式医疗设备中的超低功耗设计与血氧心率监测实现
1. 项目概述:为什么是MSP430?在便携式医疗设备这个赛道上,选型往往是决定项目成败的第一步。当你面对血糖仪、血氧仪这类需要用户随身携带、频繁使用、且对测量精度和电池寿命有严苛要求的产品时,一颗合适的微控制器(M…...
初创团队如何利用 Taotoken Token Plan 有效控制 AI 实验成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用 Taotoken Token Plan 有效控制 AI 实验成本 对于资源有限的初创团队而言,在产品原型和概念验证阶段&…...
AutoGen 框架深度使用指南
AutoGen 框架深度使用指南:从零搭建多智能体协作系统 1. 引入与连接:你为什么需要AutoGen? 1.1 开场:每个开发者都遇到过的痛点 你有没有过这样的经历:用ChatGPT写了一段Python数据分析代码,复制到本地运行报错,再把报错信息粘贴回去让它改,来回折腾5、6次才跑通;要…...
SQL 语句:从产生、发展到内容全景
引言:数据世界的通用语言 SQL(Structured Query Language,结构化查询语言)是当今数据领域最核心、最通用的语言。无论是数据分析师、后端工程师还是数据科学家,都离不开 SQL。它就像数据世界的“普通话”,连…...
