直观理解梯度,以及偏导数、方向导数和法向量等(转载)
写在前面
梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法),虽然常说常听常见,但其细节、物理意义以及几何解释还是值得深挖一下,这些不清楚,梯度就成了“熟悉的陌生人”,仅仅“记住就完了”在用时难免会感觉不踏实,为了“用得放心”,本文将尝试直观地回答以下几个问题,
- 梯度与偏导数的关系?
- 梯度与方向导数的关系?
- 为什么说梯度方向是上升最快的方向,负梯度方向为下降最快的方向?
- 梯度的模有什么物理意义?
- 等高线图中绘制的梯度为什么垂直于等高线?
- 全微分与隐函数的梯度有什么关系?
- 梯度为什么有时又成了法向量?
闲话少说,书归正传。在全篇“作用域”内,假定函数可导。
偏导数
在博文《单变量微分、导数与链式法则 博客园 | CSDN | blog.shinelee.me》中,我们回顾了常见初等函数的导数,概括地说,
导数是一元函数的变化率(斜率)。导数也是函数,是函数的变化率与位置的关系。
如果是多元函数呢?则为偏导数。
偏导数是多元函数“退化”成一元函数时的导数,这里“退化”的意思是固定其他变量的值,只保留一个变量,依次保留每个变量,则NN元函数有NN个偏导数。
以二元函数为例,令z=f(x,y)z=f(x,y),绘制在3维坐标系如下图所示,
在分别固定yy和xx的取值后得到下图中的黑色曲线——“退化”为一元函数,二维坐标系中的曲线——则偏导数∂z∂x∂z∂x和∂z∂y∂z∂y分别为曲线的导数(切线斜率)。
由上可知,一个变量对应一个坐标轴,偏导数为函数在每个位置处沿着自变量坐标轴方向上的导数(切线斜率)。
方向导数
如果是方向不是沿着坐标轴方向,而是任意方向呢?则为方向导数。如下图所示,点PP位置处红色箭头方向的方向导数为黑色切线的斜率,来自链接Directional Derivative
方向导数为函数在某一个方向上的导数,具体地,定义xyxy平面上一点(a,b)(a,b)以及单位向量u⃗ =(cosθ,sinθ)u→=(cosθ,sinθ),在曲面z=f(x,y)z=f(x,y)上,从点(a,b,f(a,b))(a,b,f(a,b))出发,沿u⃗ =(cosθ,sinθ)u→=(cosθ,sinθ)方向走tt单位长度后,函数值zz为F(t)=f(a+tcosθ,b+tsinθ)F(t)=f(a+tcosθ,b+tsinθ),则点(a,b)(a,b)处u⃗ =(cosθ,sinθ)u→=(cosθ,sinθ)方向的方向导数为: