本文讲解一下函数 convexity 和 smoothness 的基本定义,等价定义,和性质。如非特别说明,本文中的模 ∥ ∗ ∥ \|*\| ∥∗∥ 均为 ∥ ∗ ∥ 2 \|*\|_2 ∥∗∥2.
Multi-variate function
本文中我们主要考虑形如 f ( x ) : R n → R f(\bm{x}):\mathbb{R}^n\to\mathbb{R} f(x):Rn→R 的多变量函数。这里我们需要强调的两个概念是 gradient 和 Hessian. 下面我们在 n = 2 n=2 n=2 时探讨一下这两个概念的motivation和一些intuition。
首先,函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2) 是指 f f f 的变化由 x 1 x_1 x1 和 x 2 x_2 x2 的变化决定。通常我们把 x 1 x_1 x1 和 x 2 x_2 x2 画成正交的两个轴。对于不同的 x 1 x_1 x1 和 x 2 x_2 x2 的取值, f f f 呈现出一个三维图形。
Gradient
这里我们考虑的主要问题是,若 f f f 可微,那么在任意一点处怎么表示 f f f 的导数尼?
-
n = 1 n=1 n=1 情况下,我们求得的导数 f ′ ( x ) f^\prime(x) f′(x) 是 x x x 的一个函数,他表征着每一点处函数增大的方向和增大的速度。比如说 f ( x ) = x 2 f(x)=x^2 f(x)=x2, f ′ ( x ) = 2 x f^\prime(x)=2x f′(x)=2x. 那么, f ′ ( − 1 ) = − 2 f^\prime(-1)=-2 f′(−1)=−2 的意思是,函数沿着负方向增大,增大速度是 2 2 2.
-
高维情况下,导数也需要表示出函数增大的方向和速度。但是有一个问题是,在高维情况下,自变量是在一个平面上变化,因此变化方向无穷,增大的方向也无穷多。因此,我们只定义出函数增大最快的方向为导数方向,giving
∇ f = [ ∂ f ∂ x 1 , ∂ f ∂ x 2 ] ⊤ . (1) \nabla f=\left[\frac{\partial f}{\partial x_1} ,\frac{\partial f}{\partial x_2} \right]^\top. \tag{1} ∇f=[∂x1∂f,∂x2∂f]⊤.(1) -
比如看第一项,实际上就是把其他变量当做常数,这样 f f f 只有两个方向可以选,即增大 x 1 x_1 x1 还是减少 x 1 x_1 x1, 而 ∂ f ∂ x 1 \frac{\partial f}{\partial x_1} ∂x1∂f 就指示出了为了使得整个函数变化最快,沿着 x 1 x_1 x1 这个轴需要改变的方向和大小
-
需要注意的是, ∂ f ∂ x 1 \frac{\partial f}{\partial x_1} ∂x1∂f 也是 x 1 x_1 x1 和 x 2 x_2 x2 的一个函数。即对于 ( x 1 , x 2 ) (x_1,x_2) (x1,x2) 平面上的任意一点,它的导数沿着 x 1 x_1 x1 轴的变化方向和大小都可以是不同的。
-
当然,最终我们不能只看一个轴,而是应该看 ∇ f \nabla f ∇f, 因为他指示的是平面上的一个方向,这才是真正的导数方向 (函数增大最快),而它的模值正是函数增大的最大速度。
Hessian
第一个问题,Hessian是什么?Hessian是一个对称matrix,它的每一项都是函数进行两次偏导的结果。
∇ 2 f ( x ) = [ ∂ 2 f ( x ) ∂ 2 x 1 ∂ 2 f ( x ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x 1 ∂ x n ∂ 2 f ( x ) ∂ x 2 ∂ x 1 ∂ 2 f ( x ) ∂ 2 x 2 ⋯ ∂ 2 f ( x ) ∂ x 2 ∂ x n ⋯ ⋯ ⋯ ⋯ ∂ 2 f ( x ) ∂ x n ∂ x 1 ∂ 2 f ( x ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ 2 x n ] \nabla^2 f(\bm{x})=\begin{bmatrix} \frac{\partial^2 f(\bm{x})}{\partial^2 x_1} & \frac{\partial^2 f(\bm{x})}{\partial x_1\partial x_2} & \cdots & \frac{\partial^2 f(\bm{x})}{\partial x_1\partial x_n} \\ \frac{\partial^2 f(\bm{x})}{\partial x_2\partial x_1} & \frac{\partial^2 f(\bm{x})}{\partial^2 x_2} & \cdots & \frac{\partial^2 f(\bm{x})}{\partial x_2\partial x_n} \\ \cdots & \cdots & \cdots & \cdots \\ \frac{\partial^2 f(\bm{x})}{\partial x_n\partial x_1} & \frac{\partial^2 f(\bm{x})}{\partial x_n\partial x_2} & \cdots & \frac{\partial^2 f(\bm{x})}{\partial^2 x_n} \end{bmatrix} ∇2f(x)=⎣⎢⎢⎢⎡∂2x1∂2f(x)∂x2∂x1∂2f(x)⋯∂xn∂x1∂2f(x)∂x1∂x2∂2f(x)∂2x2∂2f(