方向导数
在现实问题中,对数据某种变化率的研究不仅仅只限于对标准坐标轴的方向,因为数据需要从不同的角度去研究其变化,所以仅仅对坐标轴的方向进行研究是不够的。对数据进行全方位的研究,就需要得到数据在各种不同方向的变化率,但对数据的其他方向怎么研究呢?这就引出了方向导数的概念。把数据的分布想象成一个空间曲面z=f(x,y),设曲面上一数据点P0(x0,y0)可微,现在我想求P0到曲面上任意一点P(x,y)的变化率,也就可以简化为空间中两个点的斜率。如图所示:
P0(x0,y0)和P(x,y)分别对应于平面上M0(x0,y0)和M(x,y),ρ为从点M0到点M的距离,注意方向是从点M0到点M,由单位向量l={cosα,cosβ}表示,即M点也可以表示为M{x0+ρcosα,y0+ρcosβ};△z表示P0到P的增量,也就是沿着向量l的增量,即△z=f(x,y) - f(x0,y0)=f(x0+ρcosα,y0+ρcosβ) - f(x0,y0)。显然可以得到,△z/ρ是沿方向l的平均变化率。到这里就可以引出方向导数的概率,当ρ无限接近于0时,M是M0邻域内任意一点,之前的平均变化率也就成了方向导数。
也可以说方向导数是曲面z=f(x,y) ,在点M0(x0,y0)沿方向l的倾斜程度(坡度)。
梯度
有了方向导数这一概念,我们就知道了数据沿着任意方向的变化程度。在现实问题中,我们往往对数据变化的快慢感兴趣,或者说我们需要的某个值是与数据变化快慢密切相关的。所以引入梯度这一概念。
梯度,就是数据增长最快的方向。为什么呢?结合上右图的公式,方向导数可以写成向量的点积形式:
其中向量{∂f/∂x,∂f/∂y}为函数z=f(x,y)在点(x,y)处的梯度方向,简称梯度,记做grad f。现在继续对上式进行化简,得到下图,注意其中的点乘运算。
显然,当θ=0时,向量l与向量{∂f/∂x,∂f/∂y}方向相同时,方向导数取得最大值,也就是增长的最快。当θ=180°时,向量l与向量{∂f/∂x,∂f/∂y}方向相反时,方向导数取得最小值,也就是下降的最快。
如等高线图所示,几何上来说,从等值线上的一个点上升或下降到最高点或最低点,每一步怎么走才是最快的,显然沿着法向量的方向,也是梯度的正或反方向,垂直当前点在等高线上的切线走,距离最短,也是最快的。