方向导数

首先,我们先来讨论一下函数 y = f ( x 1 , x 2 ) y = f(x_1,x_2) y=f(x1​,x2​)在一点P沿某一方向的变化率问题。

假设函数 y = f ( x 1 , x 2 ) y = f(x_1,x_2) y=f(x1​,x2​)在点 P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​)的某一邻域 U ( P ) U(P) U(P)内有定义,自点P引射线 l l l。设 x x x轴正向到射线 l l l的转角为 φ \varphi φ,并设 P ′ ( x 1 + Δ x 1 , x 2 + Δ x 2 ) P'(x_1+\Delta x_1,x_2+\Delta x_2) P′(x1​+Δx1​,x2​+Δx2​)为 l l l上的另一点且 P ′ ∈ U ( P ) P'\in U(P) P′∈U(P)(如图)。

那么我们可以定义:

函数的增量 f ( x 1 + Δ x 1 , x 2 + Δ x 2 ) − f ( x 1 , x 2 ) f(x_1+\Delta x_1,x_2+\Delta x_2)-f(x_1,x_2) f(x1​+Δx1​,x2​+Δx2​)−f(x1​,x2​)与 P P ′ PP' PP′两点间的距离 ρ = ( Δ x 1 ) 2 + ( Δ x 2 ) 2 \rho = \sqrt{(\Delta x_1)^2+(\Delta x_2)^2} ρ=(Δx1​)2+(Δx2​)2 ​的比值,当 P ′ P' P′沿着 l l l趋于 P P P时,如果这个比值的极限存在,则称这个极限为函数在点 P P P沿方向 l l l的方向导数。记为:
∂ f ∂ l = lim ⁡ ρ → 0 f ( x 1 + Δ x 1 , x 2 + Δ x 2 ) − f ( x 1 , x 2 ) ρ \frac{\partial{f}}{\partial{l}} = \lim_{\rho\rightarrow 0} \frac{f(x_1+\Delta x_1,x_2+\Delta x_2)-f(x_1,x_2)}{\rho} ∂l∂f​=ρ→0lim​ρf(x1​+Δx1​,x2​+Δx2​)−f(x1​,x2​)​

根据定义,函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​)在点 P P P沿着 x 1 x_1 x1​轴正向 e ⃗ 1 = 1 , 0 \vec{e}_1 = {1,0} e 1​=1,0、 x 2 x_2 x2​轴正向 e ⃗ 2 = 0 , 1 \vec{e}_2 = {0,1} e 2​=0,1的方向导数分别为 f x 1 f_{x_1} fx1​​, f x 2 f_{x_2} fx2​​;沿着 x x x轴负向、 y y y轴负向的方向导数是 − f x 1 -f_{x_1} −fx1​​, − f x 2 -f_{x_2} −fx2​​。

如果函数 y = f ( x 1 , x 2 ) y = f(x_1,x_2) y=f(x1​,x2​)在点 P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​)在点 P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​)是可微分的,那么函数在该点沿任意方向 L L L的的方向导数都存在,且有
∂ f ∂ l = ∂ f ∂ x 1 c o s φ + ∂ f ∂ x 2 s i n φ \frac{\partial{f}}{\partial{l}} = \frac{\partial{f}}{\partial{x_1}}cos\varphi + \frac{\partial{f}}{\partial{x_2}}sin\varphi ∂l∂f​=∂x1​∂f​cosφ+∂x2​∂f​sinφ
其中 φ \varphi φ为 x x x轴到方向 L L L的转角

那么推广到三元函数可得方向导数定义:

对于三元函数 y = f ( x 1 , x 2 , x 3 ) y = f(x_1,x_2,x_3) y=f(x1​,x2​,x3​),它在空间一点 P ( x 1 , x 2 , x 3 ) P(x_1,x_2,x_3) P(x1​,x2​,x3​)沿着方向 L L L的方向导数,可定义为:
∂ f ∂ l = lim ⁡ ρ → 0 f ( x 1 + Δ x 1 , x 2 + Δ x 2 , x 3 + Δ x 3 ) − f ( x 1 , x 2 , x 3 ) ρ \frac{\partial{f}}{\partial{l}} = \lim_{\rho\rightarrow 0}\frac{f(x_1+\Delta x_1,x_2 + \Delta x_2, x_3+\Delta x_3) - f(x_1,x_2,x_3)}{\rho} ∂l∂f​=ρ→0lim​ρf(x1​+Δx1​,x2​+Δx2​,x3​+Δx3​)−f(x1​,x2​,x3​)​
其中 ρ = ( Δ x 1 ) 2 + ( Δ x 2 ) 2 + ( Δ x 3 ) 2 \rho = \sqrt{(\Delta x_1)^2 + (\Delta x_2)^2 + (\Delta x_3)^2} ρ=(Δx1​)2+(Δx2​)2+(Δx3​)2 ​

同理:

设方向 L L L的方向角为 α \alpha α, β \beta β, γ \gamma γ.
当函数在此点可微时,那么函数在该点沿任意方向 L L L的方向导数都存在,且有
∂ f ∂ l = ∂ f ∂ x 1 c o s α + ∂ f ∂ x 2 c o s β + ∂ f ∂ x 3 c o s γ \frac{\partial{f}}{\partial{l}} = \frac{\partial{f}}{\partial{x_1}}cos\alpha + \frac{\partial{f}}{\partial{x_2}}cos\beta + \frac{\partial{f}}{\partial{x_3}}cos\gamma ∂l∂f​=∂x1​∂f​cosα+∂x2​∂f​cosβ+∂x3​∂f​cosγ

注意:方向导数是一个,是一个函数沿指定方向的变化率

二元函数举例说明

假设有二元函数 y = f ( x 1 , x 2 ) y=f(x_1,x2) y=f(x1​,x2)如上图所示,横坐标代表 x 1 x_1 x1​,纵坐标代表 x 2 x_2 x2​,平面中的颜色代表不同的 y y y值。在Loss Function(损失函数)中可认为 x 1 x_1 x1​, x 2 x_2 x2​分别代表两种不同的参数,而 y y y值代表Loss(损失)值。

现在我们在函数 y = f ( x 1 , x 2 ) y=f(x_1,x2) y=f(x1​,x2)中随机取一点(图中黄点表示) P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​),很显然,P点不止一个方向,而是360°都有方向,并且每个方向都会有方向导数(即函数变化率)。

通俗地说,可以把这个图当作一个山脉地形图,图中的黄点代表山上有一个人,则方向导数就代表他走的方向的山的坡度大小。

梯度

我们现在已经知道,如果一个函数在某一点 P P P处可微,那么就可以确定这个函数在点 P P P的任一方向的方向导数。那么,函数在点 P P P沿哪一方向增加的速度最快呢?因此,就有了梯度这个概念。

设函数 y = f ( x 1 , x 2 ) y = f(x_1,x_2) y=f(x1​,x2​)在平面D内具有一阶连续偏导数,则对于每一点 P ( x 1 , x 2 ) ∈ D P(x_1,x_2)\in D P(x1​,x2​)∈D,都可定出一个向量 ∂ f ∂ x 1 i ⃗ + ∂ f ∂ x 2 j ⃗ \frac{\partial{f}}{\partial{x_1}}\vec{i} + \frac{\partial{f}}{\partial{x_2}}\vec{j} ∂x1​∂f​i +∂x2​∂f​j ​,这向量称为函数 y = f ( x 1 , x 2 ) y = f(x_1,x_2) y=f(x1​,x2​)在点 P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​)的梯度,记为:
g r a d ⃗ f ( x 1 , x 2 ) = ∂ f ∂ x 1 i ⃗ + ∂ f ∂ x 2 j ⃗ \vec{grad}f(x_1,x_2) = \frac{\partial{f}}{\partial{x_1}}\vec{i} + \frac{\partial{f}}{\partial{x_2}}\vec{j} grad ​f(x1​,x2​)=∂x1​∂f​i +∂x2​∂f​j ​

注意:梯度是一个向量

那为什么说函数在该点处沿着梯度的方向变化最快呢?现在我们就来证明一下:

假设 e ⃗ = c o s φ i ⃗ + s i n φ j ⃗ \vec{e} = cos\varphi\vec{i} + sin\varphi\vec{j} e =cosφi +sinφj ​是方向 l ⃗ \vec{l} l 上的单位向量,由方向导数公式可知:

∂ f ∂ l = ∂ f ∂ x 1 c o s φ + ∂ f ∂ x 2 s i n φ = ( ∂ f ∂ x 1 , ∂ f ∂ x 2 ) ⋅ ( c o s φ , s i n φ ) = g r a d ⃗ f ( x 1 , x 2 ) ⋅ e ⃗ = ∣ g r a d ⃗ f ( x 1 , x 2 ) ∣ c o s ( g r a d ⃗ f ( x 1 , x 2 ) , e ⃗ ) \frac{\partial{f}}{\partial{l}} = \frac{\partial{f}}{\partial{x_1}}cos\varphi + \frac{\partial{f}}{\partial{x_2}}sin\varphi \\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = (\frac{\partial{f}}{\partial{x_1}},\frac{\partial{f}}{\partial{x_2}})\cdot(cos\varphi,sin\varphi) \\ \ \\= \vec{grad}f(x_1,x_2)\cdot\vec{e} \\ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = |\vec{grad}f(x_1,x_2)|cos(\vec{grad}f(x_1,x_2),\vec{e}) ∂l∂f​=∂x1​∂f​cosφ+∂x2​∂f​sinφ                              =(∂x1​∂f​,∂x2​∂f​)⋅(cosφ,sinφ) =grad ​f(x1​,x2​)⋅e                                  =∣grad ​f(x1​,x2​)∣cos(grad ​f(x1​,x2​),e )

当 c o s ( g r a d ⃗ f ( x 1 , x 2 ) , e ⃗ ) = 1 cos(\vec{grad}f(x_1,x_2),\vec{e}) = 1 cos(grad ​f(x1​,x2​),e )=1时,方向导数 ∂ f ∂ l \frac{\partial{f}}{\partial{l}} ∂l∂f​有最大值 ∣ g r a d ⃗ f ( x 1 , x 2 ) ∣ |\vec{grad}f(x_1,x_2)| ∣grad ​f(x1​,x2​)∣。此时,取得最大方向导数的方向就是梯度的方向。

因此,函数在某点的梯度是这样一个向量:它的方向与取得最大方向导数(即函数在该点变化速率最大)的方向一致,而它的模为方向导数的最大值,梯度的模为:

∣ g r a d ⃗ f ( x , y ) ∣ = ( ∂ f ∂ x 1 ) 2 + ( ∂ f ∂ x 2 ) 2 |\vec{grad}f(x,y)| = \sqrt{(\frac{\partial{f}}{\partial{x_1}})^2 + (\frac{\partial{f}}{\partial{x_2}})^2} ∣grad ​f(x,y)∣=(∂x1​∂f​)2+(∂x2​∂f​)2 ​

当然,梯度的概念也可以推广到三元函数(甚至更高维度)

三元函数 y = f ( x 1 , x 2 , x 3 ) y = f(x_1,x_2,x_3) y=f(x1​,x2​,x3​)在空间区域G内具有一阶连续偏导数,则对于每一点 P ( x 1 , x 2 , x 3 ) ∈ G P(x_1,x_2,x_3)\in G P(x1​,x2​,x3​)∈G,都可以定义一个向量(梯度):

g r a d ⃗ f ( x 1 , x 2 , x 3 ) = ∂ f ∂ x 1 i ⃗ + ∂ f ∂ x 2 j ⃗ + ∂ f ∂ x 3 k ⃗ \vec{grad}f(x_1,x_2,x_3) = \frac{\partial{f}}{\partial{x_1}}\vec{i} + \frac{\partial{f}}{\partial{x_2}}\vec{j} + \frac{\partial{f}}{\partial{x_3}}\vec{k} grad ​f(x1​,x2​,x3​)=∂x1​∂f​i +∂x2​∂f​j ​+∂x3​∂f​k

类似于二元函数,此梯度也是一个向量,其方向与取得最大方向导数的方向一致,其模为方向导数的最大值。

二元函数举例说明

同样的图,假设有二元函数 y = f ( x 1 , x 2 ) y=f(x_1,x_2) y=f(x1​,x2​)如上图所示,横坐标代表 x 1 x_1 x1​,纵坐标代表 x 2 x_2 x2​,平面中的颜色代表不同的 y y y值。在Loss Function(损失函数)中可认为 x 1 x_1 x1​, x 2 x_2 x2​分别代表两种不同的参数,而 y y y值代表Loss(损失)值。

现在我们在函数 y = f ( x 1 , x 2 ) y=f(x_1,x_2) y=f(x1​,x2​)中随机取一点(图中黄点表示) P ( x 1 , x 2 ) P(x_1,x_2) P(x1​,x2​),很显然,P点不止一个方向,而是360°都有方向,并且每个方向都会有方向导数(即函数变化率),而梯度就指向方向导数最大的方向(等高线的法向量)。

通俗地说,可以把这个图当作一个喜马拉雅山地形图,图中的黄点代表有一个攀登者,他成功登顶并准备下山,方向导数就代表他所在地的坡度大小,现在他在海拔4500米的地方,如果他要以最快的速度下山,那么他就要往等高线的法向量(白线所指方向)也就是坡度最大的方向(即梯度方向)移动。

文章就到这里,还请大家帮忙勘误!

[Machine Learning] 方向导数梯度(Directional Derivative Gradient)相关推荐

  1. 台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent

    台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent 这节课首先回顾了利用梯度下降法优化目标函数的基本步骤,然后对梯度下降法的应用技巧和其背后的 ...

  2. 【Machine Learning实验1】batch gradient descent(批量梯度下降) 和 stochastic gradient descent(随机梯度下降)

    批量梯度下降是一种对参数的update进行累积,然后批量更新的一种方式.用于在已知整个训练集时的一种训练方式,但对于大规模数据并不合适. 随机梯度下降是一种对参数随着样本训练,一个一个的及时updat ...

  3. 【Machine Learning】梯度下降算法介绍_02

    文章目录 前言 一.梯度 1.1 导数 1.2 偏导数 二.举例梯度下降 三.训练样本 四.梯度下降 4.1 量梯度下降(Batch Gradient Descent,BGD) 4.2 随机梯度下降( ...

  4. ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...

  5. [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

    本文转自:https://blog.csdn.net/walilk/article/details/50978864 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记, ...

  6. 时间序列预测分析(2)How to Develop a Skillful Machine Learning Time Series Forecasting Model

    文章目录 Process Overview How to Use This Process 1. Define Problem 分析问题 2. Design Test Harness 设计评估工具 常 ...

  7. 吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

    作者 | Peter 编辑 | AI有道 今天带来第二周课程的笔记:梯度下降与正规方程. 主要内容: 多维特征 多变量梯度下降 梯度下降法实践 正规方程 多维特征Multiple Features 还 ...

  8. python解zuobiaoxi方程_吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

    作者:Peter 红色石头的个人网站: 红色石头的个人博客-机器学习.深度学习之路​www.redstonewill.com 今天带来第二周课程的笔记:梯度下降与正规方程. 主要内容: 多维特征 多变 ...

  9. 【Machine Learning 六】梯度下降法(基于Matlab 求函数最小值)

    算法原理 梯度下降法是一个最优化算法,可以用来求一个函数的最小值,最大值等,也常用于人工神经网络中更新各个感知器之间的权值,求出cost function的最小值等,应用广泛.  其原理简单,就求函数 ...

最新文章

  1. C++描述的位运算总结
  2. OpenCV场景重建
  3. jmeter的分布式部署
  4. centos rpm安装mysql5.6_CentOS 7下使用RPM安装MySQL 5.6
  5. iOS内存管理部分内容
  6. C++ set 多级排序 多维度排序
  7. qcc512x_qcc302x开发调试笔记
  8. java pdf添加图片_java pdf指定位置插入图片?
  9. 重庆万州公交车坠江原因公布:乘客与司机激烈争执互殴致车辆失控
  10. PAT 乙级 1068  万绿丛中一点红
  11. 基于英飞凌TC397芯片Mcal配置之Can模块的配置
  12. linux中python怎么退出_linux 怎么退出python
  13. “以简驭繁”打造卓越校园网 ——锐捷助力西安理工大学校园网建设
  14. SSM框架实战详细教程(十四)贯穿项目实战之三层架构
  15. 一段仿QQ窗口抖动的代码(VC++)
  16. 固态硬盘与普通硬盘的区别
  17. WIN11 EDGE IE8调试
  18. MIT 6.S965 韩松课程 04
  19. 以外派的身份进大厂,或许条程序员升级的途径
  20. WebCollector 爬虫解析

热门文章

  1. Handle初解,看完你就懂了handle
  2. break语句和continue语句的区别
  3. 单片机控制秒表C语言程序,89C51单片机秒表的设计(全文完整版)
  4. FileReader和FileOutputStream
  5. AI中的变形,扭曲和变化,栅格化命令,裁剪标记,路径,路径查找器,转化为形状
  6. Java中IO流的分类和BIO,NIO,AIO的区别
  7. [MICO开发帖]MICOkit-Nucleo2.0开发连载贴——1、Micoder开发环境汉化
  8. 面试官100%会问的接口测试的知识
  9. webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?
  10. sqlserver、mysql、oracle各自的默认端口号