Hessian矩阵
在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:
f(x1,x2…,xn)
如果f的所有二阶导数都存在, 那么
H(f)ij(x)=DiDjf(x)
其中x=(x1,x2…,xn), 即H(f)为:
牛顿法解方程
在讲牛顿最优化方法之前,我们先来回顾一下计算方法中的牛顿法解方程,这其实是一个迭代的过程。
我们用牛顿法求解f(x)=0这个问题, 首先对将f(x)在x(k)处做一阶泰勒展开,那么我们就会得到:
f(x)=f(x(k))+(x–x(k))f′(x(k))
因为f(x)=0,那么我们可以得到:
0=f(x(k))+(x–x(k))f′(x(k))
解这个方程,我们可以得出:
x=x(k)–f(x(k))/f′(x(k))
那么这里迭代公式就是:
x(k+1)=x(k)–f(x(k))/f′(x(k))
迭代的原理见下图,注意这里x(k)表示第k步迭代时的x取值,
牛顿最优化方法
最优化的问题其实就是求解一个目标函数f(x)的极大极小值问题。我们知道函数的极值点其实就是该函数一阶倒数为0的点,即求解方程f′(x)=0的解,这可以通过刚刚提到的牛顿法求解方程组解决.
我们对f(x)在xk处做二阶泰勒展开,那么我们会得到:
f(x)=f(x(k))+f′(x(k))(x−x(k))+12f′′(x(k))(x−x(k))2
我们对f(x)求导,可以得到:
f′(x)=f′(x(k))+f′′(x(k))(x−x(k))
令f′(x)=0,即可得到:
0=f′(x(k))+f′′(x(k))(x−x(k))
解方程,求得x等于:
即,迭代格式为:
x(k+1)=x(k)−f′(x(k))f′′(x(k))
在上面讨论的是y=f(x)这种只包含x这1个自变量的情况, 多个自变量情况时的牛顿迭代公式是:
其中Hf(x(k))即为Hessian矩阵,∇f(x(k))是一个向量,向量中的每个元素分别是f(x)对各个自变量求偏导后的函数在x=x(k)时的函数值。
本文介绍了海森矩阵的概念,它是函数的二阶偏导数组成的方块矩阵。接着详细阐述了牛顿法解方程的原理和迭代公式,并解释了牛顿最优化方法如何通过求解函数的一阶导数为0来寻找极值点。最后,展示了多自变量情况下牛顿迭代公式的应用。
619

被折叠的 条评论
为什么被折叠?



