多元函数的Hessian矩阵就类似一元函数的二阶导。

多元函数Hessian矩阵半正定就相当于一元函数二阶导非负,半负定就相当于一元函数二阶导非正。如果这个类比成立的话,凸函数的Hessian恒半正定就非常容易理解了——这是一元凸函数二阶导必非负的多元拓展。

至于为什么这个类是有道理的,你要这么看。对一元函数f(x)来说,就极值而言,一阶导为0是极值点的必要但不充分条件,一阶导为0切二阶导非负是极小值的充要条件。

为什么呢,因为有泰勒展开海森矩阵和半正定矩阵_2d。如果一阶导为0,二阶导非负,dx不论是多少,f(x)一定不比f(x0)小。

你把多元函数也个泰勒展开,主要区别在于:
1) 二阶导变成了Hessian。
2) 以前只要考虑x怎么变,现在还要考虑y怎么变,x和y怎么一起变,头疼了很多。
以二元为例,
海森矩阵和半正定矩阵_定义域_02
从一元的情况类比过来,如果一阶导为0,是不是极小值完全取决于不同的dx, dy下,能不能做到最后一项一直非负。

只有对于任意海森矩阵和半正定矩阵_极值_03,海森矩阵和半正定矩阵_2d_04一直非负的情况,我们才能说这是极小值。如果海森矩阵和半正定矩阵_极值_05一直非正,这就是极大值。如果它一会正一会负,就是鞍点。

然后“对于任意海森矩阵和半正定矩阵_极值_03,海森矩阵和半正定矩阵_2d_04一直非负”这是啥?半正定的定义嘛!它就是这么引出来的,也是我们为什么需要半正定这个概念的原因



我们首先假设
  • 函数在定义域上连续
  • 函数在定义域上二阶可导

现在要证明的是:
  1. definition 海森矩阵和半正定矩阵_2d_081st-order condition
  2. 1st-order condition 海森矩阵和半正定矩阵_2d_082nd-order condition

实际上这些都是充要关系,但是因为题主的问题并没有要求证明必要性我这里就偷懒只证明充分性了。

首先凸函数(一元)的定义是:
任意属于定义域的两个自变量海森矩阵和半正定矩阵_2d_10海森矩阵和半正定矩阵_极值_11,且对于任意海森矩阵和半正定矩阵_3d_12,如果函数海森矩阵和半正定矩阵_定义域_13满足海森矩阵和半正定矩阵_极值_14,那么函数海森矩阵和半正定矩阵_定义域_13是凸函数。

<img src="https://pic1.zhimg.com/50/4b8955c8ec2ed4058938c27c2e9db2d1_hd.jpg" data-rawwidth="509" data-rawheight="165" class="origin_image zh-lightbox-thumb" width="509" data-original="https://pic1.zhimg.com/4b8955c8ec2ed4058938c27c2e9db2d1_r.jpg"/> 海森矩阵和半正定矩阵_极值_16直观的理解就是函数曲线上任意两点为短点的线段一定在函数曲线的上方。
多变量函数可以把自变量写成一个向量海森矩阵和半正定矩阵_2d_17,同理对于定义域的任意两个自变量海森矩阵和半正定矩阵_2d_18海森矩阵和半正定矩阵_3d_19,以及任意海森矩阵和半正定矩阵_极值_20,如果函数海森矩阵和半正定矩阵_定义域_13满足海森矩阵和半正定矩阵_2d_22,那么函数海森矩阵和半正定矩阵_定义域_13是凸函数。

 

1st-order condition 一阶条件,还是以一元函数为例:
对于定义域内任意两个自变量海森矩阵和半正定矩阵_2d_10海森矩阵和半正定矩阵_极值_11,函数海森矩阵和半正定矩阵_定义域_13满足则函海森矩阵和半正定矩阵_3d_27海森矩阵和半正定矩阵_定义域_13为凸函数。

<img src="https://pic3.zhimg.com/50/50f7e84150aa3d4999aa1bdbb3554780_hd.jpg" data-rawwidth="587" data-rawheight="162" class="origin_image zh-lightbox-thumb" width="587" data-original="https://pic3.zhimg.com/50f7e84150aa3d4999aa1bdbb3554780_r.jpg"/> 海森矩阵和半正定矩阵_2d_29
直观的理解就是函数曲线始终位于任意一点的切线的上方。类似于前面
提到的二阶Taylor展开中必须保证二次项非负。推广到多变量函数同理可以写为海森矩阵和半正定矩阵_极值_30,其中梯度向量海森矩阵和半正定矩阵_3d_31也就是在该点对各个变量求偏导构成的向量。

 

现在要证明的凸函数有海森矩阵和半正定矩阵_3d_27的性质。

假设函数海森矩阵和半正定矩阵_定义域_13在定义域上是凸函数,那么有:
海森矩阵和半正定矩阵_定义域_34
然后稍微变形可以得到海森矩阵和半正定矩阵_取值_35
海森矩阵和半正定矩阵_定义域_36,则海森矩阵和半正定矩阵_定义域_37,那么有
海森矩阵和半正定矩阵_取值_38,当海森矩阵和半正定矩阵_极值_39趋近于0时,有海森矩阵和半正定矩阵_取值_40这一项也就是函数海森矩阵和半正定矩阵_极值_41海森矩阵和半正定矩阵_取值_42处的导数值,海森矩阵和半正定矩阵_3d_43实际是海森矩阵和半正定矩阵_取值_44海森矩阵和半正定矩阵_取值_45的复合函数,容易求导得海森矩阵和半正定矩阵_极值_46,由于只要求在海森矩阵和半正定矩阵_取值_42处的导数值所以容易得海森矩阵和半正定矩阵_极值_48,代入回不等式即可得到
海森矩阵和半正定矩阵_极值_30

从图形上也可以直观去理解这个推导结果,取函数曲线上两点作直线,被函数图像截断的那部分始终在曲线上方,而其他部分始终在曲线下方,那么这两个点取的无限接近,也就是通常我们说的“割线逼近切线”,那么切线就始终在曲线下方了,曲线不知道高到哪里去了。

现在我们来做第二部分也就是用1st-order condition推导2nd-order condition的部分的证明了。

2nd-order condition的内容就是凸函数的Hessian矩阵半正定。多元Taylor展开如果不熟悉的话可以参考Taylor's theorem的公式自己理解,我这里就不详细展开了,直接写在海森矩阵和半正定矩阵_取值_50点处二阶展开形式:
海森矩阵和半正定矩阵_3d_51,这里的海森矩阵和半正定矩阵_取值_52海森矩阵和半正定矩阵_2d_53海森矩阵和半正定矩阵_取值_50点处的Hessian矩阵,也可以写作海森矩阵和半正定矩阵_取值_55可以理解为把梯度向量推广为二阶形式,梯度向量本身也是Jacobian矩阵的一种特例。
海森矩阵和半正定矩阵_2d_53的Hessian矩阵第海森矩阵和半正定矩阵_取值_57行第海森矩阵和半正定矩阵_3d_58个元素为海森矩阵和半正定矩阵_2d_53对第海森矩阵和半正定矩阵_取值_57个变量先求导,对第海森矩阵和半正定矩阵_3d_58个变量后求导的二阶导数,也就是海森矩阵和半正定矩阵_3d_62,写成矩阵形式就是:
海森矩阵和半正定矩阵_极值_63
回到上面那个Taylor展开式,对于一个凸函数,我们可以试用1st-order condition得到海森矩阵和半正定矩阵_2d_64对于任意的海森矩阵和半正定矩阵_定义域_65海森矩阵和半正定矩阵_极值_66都成立,那么二次项海森矩阵和半正定矩阵_定义域_67必须对于任意的两个自变量海森矩阵和半正定矩阵_定义域_65海森矩阵和半正定矩阵_极值_66恒成立,我们这里以增量简写海森矩阵和半正定矩阵_极值_70,这个增量可以任意取值,那么需要海森矩阵和半正定矩阵_2d_71对于任意一个海森矩阵和半正定矩阵_取值_72恒成立,而这就是海森矩阵和半正定矩阵_取值_52是半正定的充要条件。



大多数人都以为是才智成就了科学家,他们错了,是品格。---爱因斯坦