深度学习基础 - 梯度垂直于等高线的切线
深度学习基础 - 梯度垂直于等高线的切线
flyfish
梯度
给定一个标量函数 f ( x , y ) f(x, y) f(x,y),它的梯度(gradient)是一个向量,表示为 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y),定义为: ∇ f ( x , y ) = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f(x, y) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f(x,y)=(∂x∂f,∂y∂f)
梯度指向函数在该点增加最快的方向,其大小表示函数增加的速率。
等高线
等高线是指在某个平面上连接函数值相同的点的曲线。对于一个标量函数 f ( x , y ) f(x, y) f(x,y),等高线可以表示为 f ( x , y ) = c f(x, y) = c f(x,y)=c,其中 c c c 是常数。
梯度与等高线的关系
梯度垂直于等高线的切线 :对于等高线 f ( x , y ) = c f(x, y) = c f(x,y)=c,在等高线上,函数的值是恒定的。因此,当我们在等高线上移动时,函数 f f f 的变化率为零。这意味着在等高线的切线方向上,函数没有变化,梯度与该方向无关。
梯度的方向是函数值变化最快的方向,而在等高线上的任意方向上,函数值不变,因此梯度方向必然垂直于等高线的切线方向。
几何解释
-
等高线 :
等高线是一个函数 f ( x , y ) f(x, y) f(x,y) 的等值线,即满足 f ( x , y ) = c f(x, y) = c f(x,y)=c 的所有点的集合。
在等高线上,函数值保持不变。 -
梯度的 :
梯度 ∇ f \nabla f ∇f 是一个向量,其方向是函数 f ( x , y ) f(x, y) f(x,y) 在某一点变化最快的方向。梯度向量的大小表示函数在该点变化的速率。 -
梯度与等高线 :
沿等高线方向,函数值不变,因此沿等高线移动时,函数的变化量为零。
梯度向量的方向是函数变化最快的方向,而沿等高线方向没有变化,故梯度向量必须垂直于等高线的方向。
向量解释
在二维平面中,可以使用简单的向量代数证明梯度与等高线的切线垂直:
-
等高线的方向 :
在等高线 f ( x , y ) = c f(x, y) = c f(x,y)=c 上,假设我们选择一个方向向量 t = ( a , b ) \mathbf{t} = (a, b) t=(a,b),这个向量代表等高线的切线方向。 -
梯度与切线的关系 :
梯度 ∇ f = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f=(∂x∂f,∂y∂f)
梯度 ∇ f \nabla f ∇f 与向量 t \mathbf{t} t 的点积为零。
点积的计算 :
∇ f ⋅ t = ∂ f ∂ x ⋅ a + ∂ f ∂ y ⋅ b \nabla f \cdot \mathbf{t} = \frac{\partial f}{\partial x} \cdot a + \frac{\partial f}{\partial y} \cdot b ∇f⋅t=∂x∂f⋅a+∂y∂f⋅b
因为在等高线方向上,函数值不变,故此方向的变化量为零:
a ⋅ ∂ f ∂ x + b ⋅ ∂ f ∂ y = 0 a \cdot \frac{\partial f}{\partial x} + b \cdot \frac{\partial f}{\partial y} = 0 a⋅∂x∂f+b⋅∂y∂f=0
这表明梯度 ∇ f \nabla f ∇f 与等高线的切线方向向量 t \mathbf{t} t 垂直。
两个向量的点积为零时,它们是相互垂直的,这背后的数学原理来源于欧几里得几何中的向量投影与角度关系。以下是这个结论的详细解释:
向量的点积
两个向量 a \mathbf{a} a 和 b \mathbf{b} b 的点积(内积)定义为: a ⋅ b = ∣ a ∣ ∣ b ∣ cos θ \mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos \theta a⋅b=∣a∣∣b∣cosθ
其中:
∣ a ∣ |\mathbf{a}| ∣a∣ 和 ∣ b ∣ |\mathbf{b}| ∣b∣ 分别是向量 a \mathbf{a} a 和 b \mathbf{b} b 的模(长度)。
θ \theta θ 是两个向量之间的夹角。
点积与垂直的关系
当两个向量垂直时,它们之间的夹角 θ = 9 0 ∘ \theta = 90^\circ θ=90∘。此时, cos 9 0 ∘ = 0 \cos 90^\circ = 0 cos90∘=0,因此点积为: a ⋅ b = ∣ a ∣ ∣ b ∣ cos 9 0 ∘ = 0 \mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos 90^\circ = 0 a⋅b=∣a∣∣b∣cos90∘=0
再解释
-
切线的方向 :假设在等高线上的某一点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0),等高线的切线方向用一个向量 ( d x , d y ) (dx, dy) (dx,dy) 表示。沿着等高线的微小移动满足: f ( x 0 + d x , y 0 + d y ) − f ( x 0 , y 0 ) = 0 f(x_0 + dx, y_0 + dy) - f(x_0, y_0) = 0 f(x0+dx,y0+dy)−f(x0,y0)=0
根据函数的全微分公式,这意味着(链式法则):
∂ f ∂ x d x + ∂ f ∂ y d y = 0 \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy = 0 ∂x∂fdx+∂y∂fdy=0 -
垂直关系 :由于梯度 ∇ f = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f=(∂x∂f,∂y∂f),上式表明: ∇ f ⋅ ( d x , d y ) = 0 \nabla f \cdot (dx, dy) = 0 ∇f⋅(dx,dy)=0
这说明梯度向量 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y) 与切向量 ( d x , d y ) (dx, dy) (dx,dy) 的点积为零,表明它们相互垂直。
梯度指向函数变化最快的方向,而等高线方向是函数不变的方向。
梯度向量与切线垂直,梯度的正方向指示了函数值增加最快的方向,而负方向则指示了函数值减少最快的方向。梯度向量的负方向由红色箭头指示,一条等高线上的切线用绿色显示。
相关文章:

深度学习基础 - 梯度垂直于等高线的切线
深度学习基础 - 梯度垂直于等高线的切线 flyfish 梯度 给定一个标量函数 f ( x , y ) f(x, y) f(x,y),它的梯度(gradient)是一个向量,表示为 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y),定义为: ∇ f ( x…...
py2exe打包
要用到py2exe打包python程序,记录一下。 写一个setup.py文件,内容如下: from distutils.core import setup import py2exeoptions {"py2exe":{"compressed": 1, # 0或1 1压缩,0不压缩"optimize&quo…...
Gerrit存在两个未审核提交且这两个提交有冲突时的解决方案
Gerrit存在两个未审核提交且这两个提交有冲突时的解决方案 问题背景 用户A提交了一个记录,用户A的记录未审核此时用户B又提交了,这个时候管理员去合并代码,合了其中一个后再去合另一个发现合并不了,提示冲突,这个时候另…...

基于单片机的智能风扇设计
摘 要: 传统风扇无法根据周围环境的温度变化进行风速的调整,必须人为地干预才能达到需求 。 本文基于单片机的智能风扇主要解决以往风扇存在的问题,其有两种工作模式: 手动操作模式和自动运行模式,人们可以根据需要进行模式选择。 在自动运行…...

【实战】Spring Security Oauth2自定义授权模式接入手机验证
文章目录 前言技术积累Oauth2简介Oauth2的四种模式授权码模式简化模式密码模式客户端模式自定义模式 实战演示1、mavan依赖引入2、自定义手机用户3、自定义手机用户信息获取服务4、自定义认证令牌5、自定义授权模式6、自定义实际认证提供者7、认证服务配置8、Oauth2配置9、资源…...

Redis数据失效监听
一、配置Redis开启 打开conf/redis.conf 文件,添加参数:notify-keyspace-events Ex 二、验证配置 步骤一:进入redis客户端:redis-cli步骤二:执行 CONFIG GET notify-keyspace-events ,如果有返回值证明配…...
【达梦数据库】-SQL调优思路
【达梦数据库】-SQL调优思路 --查看统计信息是否准确 select table_name,num_rows,blocks,last_analyzed from user_tables where table_name表名; #默认每周六1点进行全库信息统计1、确认SQL --sql select * from test;2、查看ET ---------------------------------------…...

DispatcherServlet 源码分析
一.DispatcherServlet 源码分析 本文仅了解源码内容即可。 1.观察我们的服务启动⽇志: 当Tomcat启动之后, 有⼀个核⼼的类DispatcherServlet, 它来控制程序的执⾏顺序.所有请求都会先进到DispatcherServlet,执⾏doDispatch 调度⽅法. 如果有拦截器, 会先执⾏拦截器…...

代码随想录算法训练营第十八天| 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先
题目: 530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:…...
会议室占用的时间(75%用例)D卷(JavaPythonC++Node.jsC语言)
现有若干个会议,所有会议共享--个会议室,用数组表示各个会议的开始时间和结束时间,格式为: 会议1开始时间,会议1结束时间 会议2开始时间,会议2结束时间 请计算会议室占用时间段。 输入描述: 第一行输入一个整数 n,表示会议数量 之后输入n行,每行两个整数,以空格分隔,…...

C++初阶_1:namespace
本章详细解说:namespace 。 namespace: namespace,意为:命名空间,c的关键字(关键字,就是提示:取变量名,函数名时不能与之撞名)。 namespace的价值: 为了解…...
低代码开发平台:效率革命还是质量隐忧?
如何看待“低代码”开发平台的兴起? 近年来,“低代码”开发平台如雨后春笋般涌现,承诺让非专业人士也能快速构建应用程序。这种新兴技术正在挑战传统软件开发模式,引发了IT行业的广泛讨论。低代码平台是提高效率的利器࿰…...

在 Django 表单中传递自定义表单值到视图
在Django中,我们可以通过表单的初始化参数initial来传递自定义的初始值给表单字段。如果我们想要在视图中设置表单的初始值,可以在视图中创建表单的实例时,传递一个字典给initial参数。 1、问题背景 我们遇到了这样一个问题:在使…...

Android之复制文本(TextView)剪贴板
效果图: 功能简单就是点击“复制”,将邀请码复制到 剪贴板中 布局 <androidx.constraintlayout.widget.ConstraintLayoutandroid:id"id/clCode"android:layout_width"dimen/dp_0"android:layout_height"dimen/dp_49"…...

Ubuntu24.04设置国内镜像软件源
参考文章: Ubuntu24.04更换源地址(新版源更换方式) - 陌路寒暄 一、禁用原来的软件源 Ubuntu24.04 的源地址配置文件发生改变,不再使用以前的 sources.list 文件,升级 24.04 之后,该文件内容变成了一行注…...

分布式与微服务详解
1. 单机架构 只有一台机器,这个机器负责所有的工作 (这里假定一个电商网站) 现在大部分公司的产品都是单机架构 。 2. 分布式架构 一台机器的硬件资源是有限的,服务器处理请求是需要占用硬件资源的,如果业务增长&a…...
Vue设置滚动条自动保持到最底端
需求描述:在开发中我们常常会遇到需要让滚动条保持到最底端的需求,比如在开发一个聊天框时,请求接口拿到消息列表数据,展示到前端页面时,需要让滚动条自动滚到最底端,以此来展示最后的聊天记录。同时&#…...

uniapp创建一个新项目并导入uview-plus框架
近年来,随着技术的发展,人们越来越意识到跨平台和统一的重要性。对于同一款应用来说,一般都会有移动端、PC端、甚至小程序端。这是由于设备的不同,我们必须要做很多的客户端来满足不同的用户需求。但是由于硬件设施的不同…...

LabVIEW光电在线测振系统
开发了一种基于LabVIEW软件和光电技术的在线测振系统。该系统利用激光作为调制光源,并通过位置敏感型光电传感器(PSD)进行轴振动的实时检测。其主要特点包括非接触式测量、广泛的测量范围、高灵敏度和快速响应时间,且具备优良的抗…...
分布式光伏电站 转化能源 丰富用电结构
分布式光伏系统是一种利用分散式的可再生能源,在靠近用户端的地方安装光伏发电设施,通过光伏效应将太阳能转化为直流电能,并通过逆变器将其转换为交流电,以供用户使用的系统。以下是对分布式光伏系统的详细阐述: 一、…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...