转载自:博客
该博客已过期,为了方便以后查看,转载如下,侵删

看到一个简洁漂亮的推导,从可微性的概念出发引入了梯度和雅可比矩阵,简记如下。
微积分的基本理念是利用仿射函数对函数进行近似,仿射函数的定义如下:
如果存在线性函数 L : R n → R m L:R^n→R^m L:Rn→Rm和向量 y ∈ R m y \in R^m y∈Rm使得对于任意 x ∈ R n x∈R^n x∈Rn都有 A ( x ) = L ( x ) + y ​ A(x)=L(x)+y​ A(x)=L(x)+y​则称函数 A A A为一个仿射函数。(注:不难看出,仿射函数实质上是线性变换加上平移。)
如果给定了函数 f : R n → R m f:R^n→R^m f:Rn→Rm和点 x 0 ∈ R n x_0∈R^n x0​∈Rn,我们希望找到一个仿射函数 A A A,使其在点 x 0 x_0 x0​附近能够近似函数 f f f,那么显然有 A ( x 0 ) = f ( x 0 ) A(x_0)=f(x_0) A(x0​)=f(x0​)
可得
y = f ( x 0 ) − L ( x 0 ) y=f(x_0)-L(x_0) y=f(x0​)−L(x0​)
再利用线性函数的性质可得
A ( x ) = L ( x − x 0 ) + f ( x 0 ) A(x)=L(x-x_0)+f(x_0) A(x)=L(x−x0​)+f(x0​)
接下来,相对于 x x x接近于 x 0 x_0 x0​的速度,要求 A ( x ) A(x) A(x)接近 f ( x ) f(x) f(x)的速度更快,以保证 A A A在点 x 0 x_0 x0​附近实现对fff的近似,即保证在某个给定点上的近似误差是相对于该点与 x 0 x_0 x0​之间距离的一个“无穷小量”,以下给出导数的定义:
给定函数 f : Ω → R m , Ω ⊂ R n f:\Omega\rightarrow R^m,\Omega\subset R^n f:Ω→Rm,Ω⊂Rn,如果存在一个仿射函数能够在点 x 0 x_0 x0​附近近似函数 f f f,那么就称函数 f f f在点 x 0 ∈ Ω x_0\in\Omega x0​∈Ω处可微,即存在线性函数 L : R n → R m L:R^n\rightarrow R^m L:Rn→Rm使得
lim ⁡ x → x 0 , x ∈ Ω ∥ f ( x ) − ( L ( x − x 0 ) + f ( x 0 ) ) ∥ ∥ x − x 0 ∥ = 0 \lim_{x\rightarrow x_0,x\in\Omega} \frac{\parallel f(x)-(L(x-x_0)+f(x_0))\parallel}{\parallel x-x_0\parallel } =0 x→x0​,x∈Ωlim​∥x−x0​∥∥f(x)−(L(x−x0​)+f(x0​))∥​=0
则 L L L称为 f f f在点 x 0 x_0 x0​的导数,如果函数 f f f在定义域 Ω \Omega Ω上处处可微,那么称 f f f在 Ω \Omega Ω上是可微的。
以前也提过,矩阵的本质是对变换的描述,那么如何确定可微函数 f f f的导数 L L L对应的矩阵 M M M呢?引入 R n R^n Rn空间的标准基 ∣ e 1 , e 2 , . . . , e n ∣ \left|e_1,e_2,...,e_n \right| ∣e1​,e2​,...,en​∣,考虑在某个方向上有微小变化的向量 x j = x 0 + t e j , j = 1 , . . . , n x_j=x_0+te_j, j=1,...,n xj​=x0​+tej​,j=1,...,n,根据导数的定义有:
lim ⁡ t → 0 f ( x j ) − ( t M e j + f ( x 0 ) ) t = 0 \lim_{t\rightarrow 0} \frac{ f(x_j)-(tMe_j+f(x_0))}{t} =0 t→0lim​tf(xj​)−(tMej​+f(x0​))​=0
这意味着,对于 j = 1 , . . . , n j=1,...,n j=1,...,n,有:
lim ⁡ t → 0 f ( x j ) − f ( x 0 ) t = M e j \lim_{t\rightarrow 0} \frac{ f(x_j)-f(x_0)}{t} =Me_j t→0lim​tf(xj​)−f(x0​)​=Mej​
由矩阵乘法的性质可知, M e j Me_j Mej​是矩阵 M M M的第 j j j列,向量 x j x_j xj​与 x 0 x_0 x0​仅在第 j j j个元素存在差异,上式的左边等于偏导数 ∂ f ∂ x j ( x 0 ) \frac{\partial f}{\partial x_j}(x_0) ∂xj​∂f​(x0​) 。因此,如果
f ( x ) = [ f 1 ( x ) . . . f m ( x ) ] f(x)=\left[ \begin{matrix} f_1(x)\\ ...\\ f_m(x) \end{matrix} \right] f(x)=⎣⎡​f1​(x)...fm​(x)​⎦⎤​
那么有
∂ f ∂ x j ( x 0 ) = [ ∂ f 1 ∂ x j ( x 0 ) . . . ∂ f m ∂ x j ( x 0 ) ] \frac{\partial f}{\partial x_j}(x_0)=\left[ \begin{matrix} \frac{\partial f_1}{\partial x_j}(x_0)\\ ...\\ \frac{\partial f_m}{\partial x_j}(x_0) \end{matrix} \right] ∂xj​∂f​(x0​)=⎣⎢⎡​∂xj​∂f1​​(x0​)...∂xj​∂fm​​(x0​)​⎦⎥⎤​
注意这只是对一个分量的偏导,完整的矩阵 M M M为
[ ∂ f ∂ x 1 ( x 0 ) , . . . , ∂ f ∂ x n ( x 0 ) ] = [ ∂ f 1 ∂ x 1 ( x 0 ) , . . . , ∂ f 1 ∂ x n ( x 0 ) . . . ∂ f m ∂ x 1 ( x 0 ) , . . . , ∂ f m ∂ x n ( x 0 ) ] [\frac{\partial f}{\partial x_1}(x_0),...,\frac{\partial f}{\partial x_n}(x_0)]=\left[ \begin{matrix} \frac{\partial f_1}{\partial x_1}(x_0),...,\frac{\partial f_1}{\partial x_n}(x_0)\\ ...\\ \frac{\partial f_m}{\partial x_1}(x_0),...,\frac{\partial f_m}{\partial x_n}(x_0) \end{matrix} \right] [∂x1​∂f​(x0​),...,∂xn​∂f​(x0​)]=⎣⎡​∂x1​∂f1​​(x0​),...,∂xn​∂f1​​(x0​)...∂x1​∂fm​​(x0​),...,∂xn​∂fm​​(x0​)​⎦⎤​
矩阵 M M M称为 f f f在点 x 0 x_0 x0​的雅可比矩阵或导数矩阵,记为 D f ( x 0 ) Df(x_0) Df(x0​)
考虑 m = 1 m=1 m=1的情形,如果函数 f : R n → R f:R^n→R f:Rn→R可微,那么矩阵简化为一个行向量
[ ∂ f ∂ x 1 ( x ) . . . ∂ f ∂ x n ( x ) ] T \left[ \begin{matrix} \frac{\partial f}{\partial x_1}(x)\\ ...\\ \frac{\partial f}{\partial x_n}(x) \end{matrix} \right] ^T ⎣⎡​∂x1​∂f​(x)...∂xn​∂f​(x)​⎦⎤​T
将其再转置一下,就得到我们熟悉的梯度公式了:
∇ f ( x ) = D f ( x ) T = [ ∂ f ∂ x 1 ( x ) . . . ∂ f ∂ x n ( x ) ] \nabla f(x) =Df(x)^T= \left[ \begin{matrix} \frac{\partial f}{\partial x_1}(x)\\ ...\\ \frac{\partial f}{\partial x_n}(x) \end{matrix} \right] ∇f(x)=Df(x)T=⎣⎡​∂x1​∂f​(x)...∂xn​∂f​(x)​⎦⎤​
可以看出,梯度是一个由 R n R^n Rn映射到 R n R^n Rn的函数,如果在点 x 0 x_0 x0​绘制梯度向量,其起点为点 x 0 x_0 x0​,箭头代表方向,也就是说梯度能表示为向量场,类似于下图。

可以证明梯度方向是函数 f f f在点 x 0 x_0 x0​处增加最快的方向,反之,负梯度方向是函数值减少最快的方向,这也就是最小化loss的梯度下降法的理论基础。

关于梯度和雅可比矩阵相关推荐

  1. pytorch自动求梯度—详解

    构建深度学习模型的基本流程就是:搭建计算图,求得损失函数,然后计算损失函数对模型参数的导数,再利用梯度下降法等方法来更新参数.搭建计算图的过程,称为"正向传播",这个是需要我们自己 ...

  2. divgrad怎么求_[怎样理解圆柱坐标系和球坐标系求梯度.散度]球坐标系梯度如何求...

    怎样理解圆柱坐标系和球坐标系求梯度.散度.旋度公式 记住公式好办 你先记住哈密顿算子▽ 他表示一个矢量算子(注意): ▽≡i*d/dx+j*d/dy+k*d/dz 运算规则: 一.▽A=(i*d/dx ...

  3. 简介雅可比矩阵(Jacobian)

    雅可比矩阵,有时简称为雅可比矩阵,是一个一阶偏导矩阵(在某些情况下,术语"雅可比矩阵"也指雅可比矩阵的行列式). 注意,在某些约定中,雅可比矩阵是上述矩阵的转置. 其中m=n为方阵 ...

  4. 60分钟入门深度学习工具PyTorch

    「免费学习 60+ 节公开课:投票页面,点击讲师头像」 作者 | Soumith Chintala 中文翻译.注释制作 | 黄海广 配置环境:PyTorch 1.3,python 3.7, 主机:显卡 ...

  5. 可下载:60分钟入门PyTorch(中文翻译全集)

    来源:机器学习初学者本文约9500字,建议阅读20分钟官网教程翻译:60分钟入门PyTorch(全集) 前言 原文翻译自:Deep Learning with PyTorch: A 60 Minute ...

  6. (翻译)60分钟入门深度学习工具-PyTorch

    60分钟入门深度学习工具-PyTorch 作者:Soumith Chintala 原文翻译自: https://pytorch.org/tutorials/beginner/deep_learning ...

  7. c++2个三维向量求角度差_交叉学科入门指南(2)——线性回归

    本文使用 Zhihu On VSCode 创作并发布 由于上一章的内容主要围绕编程实战展开(现在还在整合原稿第一章和附录,敬请期待),也就是说,这一章才是魔鬼数学的开始. 为什么把"线性回归 ...

  8. 常用机器学习算法汇总比较(完)

    机器学习入门系列(2)–如何构建一个完整的机器学习项目,第九篇! 该系列的前八篇文章: 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一) 机器学习数据集的获取和测试集的构建方法 特征工程之 ...

  9. opencv Hog学习总结

    一.方向梯度 梯度:在向量微积分中,标量场的梯度是一个向量场.标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率.更严格的说,从欧几里得空间Rn到R的函数的梯度是在Rn某一点 ...

最新文章

  1. python打开网页存图_python 获取网页图片 保存在本地
  2. ASP.NET MVC 5 - 视图
  3. SP-45ML光电二极管放大电路设计
  4. Android TV 悬浮球模拟物理按键
  5. windows笔记-内存映射文件
  6. 支付宝变身新宠,钱包族再也“不差钱”
  7. 文件或目录权限chmod,更改所有者和所属组chown ,umask的使用 ,隐藏权限的使用 lsattr,chattr...
  8. pg日期转周_postgresql 存储过程函数:时间戳与日期字符串相互转换
  9. adf开发_了解ADF Faces clientComponent属性
  10. 1.11 神经网络的权重初始化
  11. java 同时修改同一个数据_Java 语言中锁的设计与应用
  12. 小项目,吃货联盟,java初级小项目,源代码
  13. [6.837]A3:OpenG应用和Phong着色模型
  14. 手游模拟器征途辅助脚本开发
  15. rpm 打包及其命令
  16. 禾赛40M如何成功在rviz中显示点云数据
  17. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 't.statis_date'
  18. 开源博客wordpress,一键搭建属于自己的博客
  19. 如何卸载360安全客户端
  20. Python+Vue计算机毕业设计BeatHouse伴奏交易平台z19pu(源码+程序+LW+部署)

热门文章

  1. Criterion 用法
  2. exec函数族的作用与讲解
  3. 根据html代码生成word文件
  4. IDEA javadoc快捷键
  5. # Logistics Regression
  6. Openharmony应用NAPI详解--进阶篇2
  7. 常用温度控制方法原理
  8. mount point / 挂载点
  9. 九鼎Study210嵌入式开发板刷机笔记
  10. ArcGIS用土地利用数据导出shp