![优化理论与实用算法](https://wfqqreader-1252317822.image.myqcloud.com/cover/413/46055413/b_46055413.jpg)
2.2 多维导数
梯度是导数在多元函数的推广。它代表了函数的局部斜率,从而能够预测从一点的任意方向移动一个小的步长后的效果。回想一下,导数是切线的斜率。梯度指向切线超平面的最陡上升方向,如图2.3所示。n维空间中的切线超平面是满足以下条件的点集:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-022-2.jpg?sign=1739265573-O0zH3OaUgrICX73YF4Es2dUSRioDHQv8-0-6d3f51f7b68be530e09915bc27696a20)
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-2d3.jpg?sign=1739265573-5hcYqWX3pdhyRabuutsy9Z9g3Fhifsib-0-a3e03bc2a1499534805d6b9ff3017ea2)
图2.3 梯度的每个分量都定义了一条局部切线。这些切线定义了局部切线超平面。梯度向量指向最大增长方向(见彩插)
其中w为向量,b为标量。一个超平面具有n-1个维度。
f在x处的梯度写作∇f(x),它是一个向量。该向量由f关于它的每一个分量的偏导数[1]组成:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-022-3.jpg?sign=1739265573-5EoM8G29CcYms0QWHVpDrl32CNtb9dug-0-355956c0d00164372e9131d435308e0e)
一般规定列向量由逗号分隔。例如,。例2.2展示了如何计算特定点上函数的梯度。
多元函数的黑塞矩阵是一个包含关于所有输入的二阶导数的矩阵[2]。二阶导数包含函数局部曲率的信息。
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-022-4.jpg?sign=1739265573-GAp42jtFlcI2YydU4zqPoOZAq44GsVF3-0-300bfd7fe7cd8c8b5975da1408f559af)
例2.2 计算特定点的梯度
计算当c=[2,0]时,f(x)=x1sin(x2)+1的梯度。
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-023-1.jpg?sign=1739265573-azi9MO9gMdbuuS3zINbVuxz9QSORXC8G-0-98e4c98670fd8909b3d852c415635548)
多元函数f的方向导数∇sf(x)是x以速度s移动时f(x)的瞬时变化率。该定义与一元函数导数的定义紧密相关[3]:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-023-2.jpg?sign=1739265573-UtT4QW93tsxrvy4h1NXwgMzW3RoOI8DW-0-86ebe47be6f320721ab6feec61be22f8)
方向导数可以使用函数的梯度来计算:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-023-3.jpg?sign=1739265573-ZyOEJvPphqBgXCGGcQhTjUDahMCIKZSO-0-476bea2a4b06993289f54bdbc7b157aa)
计算方向导数∇sf(x)的另一种方法是定义g(α)≡f(x+αs),然后计算g′(0),如例2.3所示。
方向导数在梯度方向上最高,而在与梯度相反的方向上最低。这种方向依赖性源于方向导数定义中的点积,以及梯度是局部切线超平面的事实。
例2.3 计算方向导数
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-2z1.jpg?sign=1739265573-qjvfOu0hpDlUiDbCqYkDEtQhg72IwWjW-0-e8fe359d11cdcaf06d98aeb1ee4911fa)
我们希望计算出s=[-1,-1]方向上,f(x)=x1x2在x=[1,0]处的方向导数:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-023-4.jpg?sign=1739265573-f0FTh67Q8yprRMovXSoOqPaa6Nr2CujJ-0-2b7090065e842d6fefae7568303bc506)
我们还可以这样计算方向异数:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-023-5.jpg?sign=1739265573-wGFP9GtF4dY3A5ruAwZj1IwmUN2oljjR-0-9da0b1ca79b54d8e130339ffb7705966)
[1] 函数关于变量的偏导数是假定所有其他输入变量保持不变的导数,记为∂f/∂x。
[2] 只有当f的二阶导数在其取值点的邻域中都连续时,黑塞矩阵才是对称的:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-022-5.jpg?sign=1739265573-vhgVgLTXUMkdBLlKynQcthmrb1YRVThn-0-dd85a61d0157e28680a51dd2456e2850)
[3] 有些文献要求s是单位向量。例如:
G. B.Thomas,Calculus and Analytic Geometry,9th ed. Addison-Wesley,1968.