吴恩达《机器学习》9-4-9-6:实现注意:展开参数、梯度检验、随机初始化
一、实现注意:展开参数
在上一个视频中,讨论了使用反向传播算法计算代价函数的导数。在本视频中,将简要介绍一个实现细节,即如何将参数从矩阵展开为向量。这样做是为了在高级最优化步骤中更方便地使用这些参数。



二、梯度检验
在神经网络中使用梯度下降算法时,复杂模型可能导致一些难以察觉的错误,即使代价函数在减小,最终结果也可能并非最优解。为了解决这个问题,采用一种称为梯度检验(Gradient Checking)的数值方法,通过估计梯度值来验证我们计算的导数是否准确。
梯度检验方法
梯度检验的基本思想是在代价函数上沿着切线的方向选择离两个非常近的点,然后计算两个点的平均值,用以估计梯度。对于某个特定的参数 𝜃,计算在 𝜃-𝜀 处和 𝜃+𝜀 处的代价值,其中 𝜀 是一个很小的值(通常选取为 0.001),然后求两个代价的平均值,以估计在 𝜃 处的导数。
Octave 中的代码示例如下:
gradApprox = (J(theta + eps) - J(theta - eps)) / (2 * eps)
偏导数检验
如果 𝜃 是一个向量,我们需要对每个参数进行偏导数检验。以下是针对 𝜃1 的示例:
# 对参数𝜃1进行偏导数检验的示例
partialDerivativeTheta1 = (J(theta1 + eps, theta2, ..., thetaN) - J(theta1 - eps, theta2, ..., thetaN)) / (2 * eps)
最后,还需要对通过反向传播计算出的偏导数进行检验。计算出的偏导数存储在矩阵 𝐷𝑖𝑗(𝑙) 中。在检验时,将该矩阵展开成为向量,同时将参数矩阵 𝜃 展开为向量,对每个 𝜃 计算一个近似的梯度值,并将这些值存储于一个近似梯度矩阵中。最终,将这个近似梯度矩阵与反向传播计算的梯度矩阵进行比较。
通过梯度检验,能够更加确信我们的梯度计算是正确的,从而提高神经网络训练的可靠性。



三、随机初始化
在神经网络的训练中,任何优化算法都需要一些初始的参数。到目前为止,采用的是将所有参数初始化为 0 的方法。然而,对于神经网络来说,这种初始化方法是不可行的。如果所有参数都初始化为 0,那么第二层的所有激活单元都会具有相同的值。同样,如果将所有参数初始化为相同的非零值,结果也会相似。

为了解决这个问题,引入了随机初始化(Random Initialization)的概念。随机初始化的思想是将参数初始化为介于一定范围内的随机值,而不是固定的值。
随机初始化的代码示例
假设要随机初始化一个尺寸为 10×11 的参数矩阵,我们可以使用如下的 Octave 代码:
Theta1 = rand(10, 11) * (2 * eps) - eps
上述代码使用 rand 函数生成一个包含介于 0 和 1 之间的随机值的矩阵,然后通过乘法和减法操作将其缩放到介于负 eps 到正 eps 之间,其中 eps 是一个很小的数,通常取 0.01。
通过随机初始化,打破了对称性,防止了所有参数具有相同初始值的问题,有助于神经网络更好地学习数据的特征,提高了训练的效果。这是神经网络训练中一个重要的实现注意点。

参考资料:
[中英字幕]吴恩达机器学习系列课程
黄海广博士 - 吴恩达机器学习个人笔记
相关文章:
吴恩达《机器学习》9-4-9-6:实现注意:展开参数、梯度检验、随机初始化
一、实现注意:展开参数 在上一个视频中,讨论了使用反向传播算法计算代价函数的导数。在本视频中,将简要介绍一个实现细节,即如何将参数从矩阵展开为向量。这样做是为了在高级最优化步骤中更方便地使用这些参数。 二、梯度检验 在神经网络中…...
软信天成:如何利用大数据提高客户体验?
当今社会,市场均势正在发生变化,消费者拥有更多的选择和更高的决定权,传统的市场营销技巧注重提高品牌认知度和吸引潜在客户,现在早已过时。经济不确定性弥漫,数字化转型仍是大多数企业的优先选择,新的竞争…...
Vue 路由缓存 防止路由切换数据丢失 路由的生命周期
在切换路由的时候,如果写好了一丢数据在去切换路由在回到写好的数据的路由去将会丢失,这时可以使用路由缓存技术进行保存,这样两个界面来回换数据也不会丢失 在 < router-view >展示的内容都不会被销毁,路由来回切换数据也…...
基于ubuntu20.04安装ros系统搭配使用工业相机
基于ubuntu20.04安装ros系统搭配使用工业相机 1. ROS系统安装部署1.1更新镜像源1.1.1 备份源文件1.1.2 更新阿里源1.1.3 更新软件源 1.2 ros系统安装1.2.1 添加ros软件源1.2.2 添加秘钥1.2.3 更新软件源1.2.4 配置及更换最佳软件源1.2.5 ROS安装1.2.6 初始化rosdep1.2.7 设置环…...
网络运维与网络安全 学习笔记2023.11.20
网络运维与网络安全 学习笔记 第二十一天 今日目标 交换网路径选择、Eth-Trunk原理、动态Eth-Trunk配置 Eth-Trunk案例实践、MUX VLAN原理、MUX VLAN配置 交换网路径选择 STP的作用 在交换网络中提供冗余/备份路径 提供冗余路径的同时,防止环路的产生 影响同网…...
银行业数据分析算法应用汇总
数据分析在银行业的应用及具体案例 一、欺诈检测二、客户细分三、风险建模四、营销优化五、信用评分六、客户流失预测七、推荐引擎八、客户生命周期价值预测 一、欺诈检测 欺诈检测即通过分析交易模式,检测可能的欺诈行为,主要有以下几个方面 1.跨机构开…...
搜索引擎trick:成为搜索高手的秘籍
诸神缄默不语-个人CSDN博文目录 文章目录 1. 搜索指令1.1 "完全匹配搜索"1.2 -1.3 site1.4 filetype1.5 * 模糊搜索1.6 intitle1.7 inurl1.8 related1.9 inanchor 2. 组合搜索技巧3. 搜索引擎的选择4. 使用高级搜索功能4.1 时间限定搜索4.2 语言限定搜索4.3 使用搜索…...
基于springboot实现冬奥会科普平台系统【项目源码+论文说明】计算机毕业设计
基于SpringBoot实现冬奥会科普平台系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生&…...
用C++标准库生成制定范围内的整数随机数
2023年11月22日,周三上午 #include <iostream> #include <random>int main() {std::random_device rd; // 随机设备,用于获取种子值std::mt19937 gen(rd()); // 使用 Mersenne Twister 引擎作为随机数生成器std::uniform_int_distribution&…...
使用ExLlamaV2量化并运行EXL2模型
量化大型语言模型(llm)是减少这些模型大小和加快推理速度的最流行的方法。在这些技术中,GPTQ在gpu上提供了惊人的性能。与非量化模型相比,该方法使用的VRAM几乎减少了3倍,同时提供了相似的精度水平和更快的生成速度。 ExLlamaV2是一个旨在从…...
【ARM AMBA AXI 入门 15 -- AXI-Lite 详细介绍】
请阅读【ARM AMBA AXI 总线 文章专栏导读】 文章目录 AXI LiteAXI-Full 介绍AXI Stream 介绍AXI Lite 介绍AXI Full 与 AIX Lite 差异总结AXI Lite AMBA AXI4 规范中包含三种不同的协议接口,分别是: AXI4-FullAXI4-LiteAXI4-Stream 上图中的 AXI FULL 和 AIX-Lite 我们都把…...
【开源】基于Vue.js的天然气工程业务管理系统的设计和实现
项目编号: S 021 ,文末获取源码。 \color{red}{项目编号:S021,文末获取源码。} 项目编号:S021,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四…...
SpringBoot : ch04 整合数据源
前言 Spring Boot 是当今最流行的 Java 开发框架之一,它以简洁、高效的特点帮助开发者快速构建稳健的应用程序。在实际项目中,涉及到数据库操作的需求时,我们需要对数据源进行整合。本文将重点介绍如何在 Spring Boot 中整合数据源ÿ…...
Docker Swarm总结
目录 1、swarm 理论基础 1.1 简介 1.2 节点架构 1.3 服务架构 1.4 服务部署模式 2、swarm 集群搭建 2.1 需求 2.2 克隆主机 2.3 启动5个docker宿主机 2.4 查看 swarm 激活状态 2.5 关闭防火墙 2.6 swarm 初始化 2.7 添加 worker 节点 2.8 添加 manager 节点 3…...
特殊token的特殊用途
特殊token的特殊用途 特殊voc设计传统的特殊token 用途特殊用途例子特殊voc设计 普通token1 。。。。普通token1000,特殊token1,,,,,特殊token100 ,特殊指示token1,,,特殊指示token100 传统的特殊token 用途 在您提供的示例中,有1000个普通 token(从普通 token …...
苹果Siri怎么打开?教你两招轻松唤醒!
苹果Siri助手是苹果公司开发的智能语音助手。作为智能语音助手,Siri可以理解用户的指令,并给出相应的回答或执行相应的操作,帮助大家完成各种任务,比如发送短信、查询天气、播放音乐、设置提醒等等。 然而,还有一些小…...
分类问题的评价指标
一、logistic regression logistic regression也叫做对数几率回归。虽然名字是回归,但是不同于linear regression,logistic regression是一种分类学习方法。 同时在深度神经网络中,有一种线性层的输出也叫做logistic,他是被输入…...
Hive 定义变量 变量赋值 引用变量
Hive 定义变量 变量赋值 引用变量 变量 hive 中变量和属性命名空间 命名空间权限描述hivevar读写用户自定义变量hiveconf读写hive相关配置属性system读写java定义额配置属性env只读shell环境定义的环境变量 语法 Java对这个除env命名空间内容具有可读可写权利; …...
51单片机LED灯渐明渐暗实验
51单片机LED灯渐明渐暗实验 1.概述 这篇文章介绍使用单片机控制两个LED彩灯亮度渐明渐暗效果,详细介绍了操作步骤以及完整的程序代码,动手就能制作的小实验。 2.操作步骤 2.1.硬件搭建 1.硬件准备 名称型号数量单片机STC12C2052AD1LED彩灯无2晶振1…...
美团面试:微服务如何拆分?原则是什么?
尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 微服务如何拆分? 微服务拆分的规范和原则…...
AI智能体工具集成平台Composio:从核心概念到实战部署
1. 从零到一:理解Composio的核心价值与定位 如果你正在构建AI智能体应用,并且已经体验过手动集成各种外部API的繁琐——从阅读文档、处理OAuth授权、管理密钥,到将API响应格式化为智能体能理解的工具描述,那么Composio的出现&…...
Flair:为AI智能体构建本地化身份、记忆与灵魂系统
1. 项目概述:为AI智能体注入“灵魂”与“记忆”在AI智能体(Agent)的开发浪潮中,我们常常面临一个核心痛点:智能体本质上是“健忘的”。每次对话或任务执行结束后,它便回归到一张白纸的状态,之前…...
NVIDIA Profile Inspector终极指南:一键解锁显卡隐藏性能的完整教程
NVIDIA Profile Inspector终极指南:一键解锁显卡隐藏性能的完整教程 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 想要让你的NVIDIA显卡发挥出超越官方控制面板的隐藏性能吗?N…...
VMware如何安装并配置CentOs镜像
下面我把整个流程分成三部分:安装 VMware Workstation → 下载 CentOS 镜像 → 创建虚拟机并安装 CentOS,跟着一步步操作即可。 一、安装 VMware Workstation(Windows 为例) 1.下载安装包 官方下载入口选择对应 Windows 版本&am…...
自媒体博主效率革命:用Gemini3.1Pro打造标准化内容生产线
很多自媒体博主表面上是在“写内容”,实际上每天都在处理一整套办公问题:选题、写脚本、做封面、排发布时间、复盘数据、回复合作、整理素材、生成脚本和标题。内容看起来是创作,背后却是非常典型的办公流。真正耗时间的,从来不是…...
个人开源项目冷启动:从Hegelion看状态管理库的架构与社区运营
1. 项目概述:从“Hmbown/Hegelion”看个人开源项目的冷启动与价值塑造看到“Hmbown/Hegelion”这个项目标题,很多人的第一反应可能是困惑:这看起来像是一个GitHub仓库的地址,由用户名“Hmbown”和项目名“Hegelion”组成。它不像一…...
深度强化学习在低光自动白平衡中的应用与优化
1. 项目背景与核心价值夜间摄影和低光环境下的图像处理一直是计算机视觉领域的难点。传统自动白平衡(AWB)算法在光照条件复杂的情况下往往表现不佳,导致图像出现色偏、对比度下降等问题。这个项目提出了一种基于深度强化学习(DRL&…...
对比自行维护与使用Taotoken接入大模型在稳定性上的体感差异
对比自行维护与使用Taotoken接入大模型在稳定性上的体感差异 对于需要稳定调用大模型API的开发者而言,服务的连续性和响应速度是影响开发体验与业务连续性的关键因素。本文将从有过自建代理或直接调用海外API经验的开发者视角出发,分享在接入Taotoken平…...
AI账号自动化管理工具:架构设计与风控对抗实践
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫adminlove520/AI-Account-Toolkit。光看名字,你可能会觉得这又是一个“AI工具箱”,但仔细研究它的源码和文档后,我发现它的定位非常精准:一个专注于AI账…...
APatch:突破Android Root困境的内核级创新解决方案
APatch:突破Android Root困境的内核级创新解决方案 【免费下载链接】APatch The patching of Android kernel and Android system 项目地址: https://gitcode.com/gh_mirrors/ap/APatch 当传统Android Root方案面临兼容性挑战时,APatch以创新的内…...
