1. 程式人生 > >怎麼理解二階偏導與凸函式的Hessian矩陣是半正定的?

怎麼理解二階偏導與凸函式的Hessian矩陣是半正定的?

教科書上有嚴格的證明,這個答案試圖通過類比來提供一些直觀上的理解。大概的結論是,多元函式的Hessian矩陣就類似一元函式的二階導。多元函式Hessian矩陣半正定就相當於一元函式二階導非負,半負定就相當於一元函式二階導非正。如果這個類比成立的話,凸函式的Hessian恆半正定就非常容易理解了——這是一元凸函式二階導必非負的多元拓展。

至於為什麼這個類是有道理的,你要這麼看。對一元函式f(x)來說,就極值而言,一階導為0是極值點的必要但不充分條件,一階導為0切二階導非負是極小值的充要條件。為什麼呢,因為有泰勒展開f(x)=f(x_0)+f'(x_0)\cdot\text{d}x+\frac{1}{2}f''(x_0)\text{d}x^2。如果一階導為0,二階導非負,dx不論是多少,f(x)一定不比f(x0)小。

你把多元函式也個泰勒展開,主要區別在於:
1) 二階導變成了Hessian。
2) 以前只要考慮x怎麼變,現在還要考慮y怎麼變,x和y怎麼一起變,頭疼了很多。
以二元為例,
f(\begin{bmatrix}x & y\end{bmatrix}) = f(\begin{bmatrix}x_0 & y_0\end{bmatrix}) + \begin{bmatrix}\text{d}x & \text{d}y\end{bmatrix} \cdot \begin{bmatrix}f_x' \\ f_y' \end{bmatrix}+ \frac{1}{2} \begin{bmatrix}\text{d}x & \text{d}y\end{bmatrix} \cdot \begin{bmatrix}f_{xx}' & f_{xy}' \\ f_{yx}' & f_{yy}' \end{bmatrix} \cdot \begin{bmatrix}\text{d}x \\ \text{d}y\end{bmatrix}


從一元的情況類比過來,如果一階導為0,是不是極小值完全取決於不同的dx, dy下,能不能做到最後一項一直非負。只有對於任意\Delta {\bf x},\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非負的情況,我們才能說這是極小值。如果\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非正,這就是極大值。如果它一會正一會負,就是鞍點。

然後“對於任意\Delta {\bf x},\Delta {\bf x} {\bf H} \Delta {\bf x}^T一直非負”這是啥?半正定的定義嘛!它就是這麼引出來的,也是我們為什麼需要半正定這個概念的原因(之一)。

(為了突出直覺,我們假設函式有一些“良好”的性質,比如連續,可微等。)