本文主要是介绍怎么理解二阶偏导与凸函数的Hessian矩阵是半正定的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载出处:https://www.zhihu.com/question/40181086?sort=created
教科书上有严格的证明,这个答案试图通过类比来提供一些直观上的理解。大概的结论是,多元函数的Hessian矩阵就类似一元函数的二阶导。多元函数Hessian矩阵半正定就相当于一元函数二阶导非负,半负定就相当于一元函数二阶导非正。如果这个类比成立的话,凸函数的Hessian恒半正定就非常容易理解了——这是一元凸函数二阶导必非负的多元拓展。
至于为什么这个类是有道理的,你要这么看。对一元函数f(x)来说,就极值而言,一阶导为0是极值点的必要但不充分条件,一阶导为0切二阶导非负是极小值的充要条件。为什么呢,因为有泰勒展开。如果一阶导为0,二阶导非负,dx不论是多少,f(x)一定不比f(x0)小。
你把多元函数也个泰勒展开,主要区别在于:
1) 二阶导变成了Hessian。
2) 以前只要考虑x怎么变,现在还要考虑y怎么变,x和y怎么一起变,头疼了很多。
以二元为例,
从一元的情况类比过来,如果一阶导为0,是不是极小值完全取决于不同的dx, dy下,能不能做到最后一项一直非负。只有对于任意,一直非负的情况,我们才能说这是极小值。如果一直非正,这就是极大值。如果它一会正一会负,就是鞍点。
然后“对于任意,一直非负”这是啥?半正定的定义嘛!它就是这么引出来的,也是我们为什么需要半正定这个概念的原因(之一)。
这篇关于怎么理解二阶偏导与凸函数的Hessian矩阵是半正定的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!