easy-algorithm-interview-an.../math/次导数 次梯度 小结.md

2.9 KiB
Raw Permalink Blame History

1.导数(Derivative)的定义

在说次梯度之前需要先简单介绍一下导数的概念与定义。导数英语Derivative是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。
对于一般的函数f(x),其导数为:
f'(x) = \lim_{\Delta x \rightarrow 0} \frac{\Delta y}{\Delta x} = \lim_{\Delta x \rightarrow 0} \frac{f(x_0+\Delta x) - f(x_0)}{\Delta x}

如果不使用增量,f(x)x_0处的导数 也可以定义为:当定义域内的变量 x趋近于 x_0时,
f'(x) = \frac{f(x) - f(x_0)}{x - x_0}

2.次导数(subderivative)

次导数subderivative、次微分subdifferential、次切线subtangent lines和次梯度subgradient的概念出现在凸分析也就是凸函数的研究中。

设f:I→R是一个实变量凸函数定义在实数轴上的开区间内。这种函数不一定是处处可导的例如最经典的例子就是f(x) = |x|,在x=0处不可导。但是,从下图的可以看出,对于定义域内的任何x_0,我们总可以作出一条直线,它通过点(x_0, f(x_0))并且要么接触f的图像要么在它的下方。这条直线的斜率称为函数的次导数。

这里写图片描述
这里写图片描述

3.次导数与次微分(subdifferential)计算方式

凸函数f:I→R在点x0的次导数是实数c使得
f(x) - f(x_0) \geq c(x - x_0)
对于所有I内的x。我们可以证明在点x0的次导数的集合是一个非空闭区间[a, b]其中a和b是单侧极限
a = \lim_{ x \rightarrow x_0^-} \frac{f(x)-f(x_0)}{x - x_0}
b = \lim_{ x \rightarrow x_0^+} \frac{f(x)-f(x_0)}{x - x_0}

它们一定存在且满足a ≤ b。
所有次导数的集合[a, b]称为函数fx_0的次微分。

例如:考虑凸函数f(x)=|x|。在原点的次微分是区间[1, 1]。x_0<0时,次微分是单元素集合{-1},而x_0>0,则是单元素集合{1}。

4.性质及推广

1.凸函数f:I→R在x0可导当且仅当次微分只由一个点组成这个点就是函数在x_0的导数。
2.点x_0是凸函数f的最小值当且仅当次微分中包含零也就是说在上面的图中我们可以作一条水平的“次切线”。这个性质是“可导函数在极小值的导数是零”的事实的推广。

5.次梯度

次导数和次微分的概念可以推广到多元函数。如果f:U→ R是一个实变量凸函数定义在欧几里得空间Rn内的凸集则该空间内的向量v称为函数在点x0的次梯度如果对于所有U内的x都有
f(x) - f(x_0) \geq v \cdot(x - x_0)
所有次梯度的集合称为次微分,记为∂f(x_0)。次微分总是非空的凸紧集。