海森矩阵及其应用

海森矩阵及其应用

转载 2017年04月20日 09:59:48

原文参考链接 :here,原文讲得到很详细。

海森矩阵

在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:

f(x1,x2,xn)

如果 f的所有二阶导数都存在, 那么 f的海森矩阵即:
H(f)ij(x)=DiDjf(x)

其中 x=(x1,x2,xn), 即 H(f)为:
2fx212fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fx2n

海森矩阵在牛顿法中的应用

一般来说, 牛顿法主要应用在两个方面, 1, 求方程的根; 2, 最优化.

1), 求解方程

并不是所有的方程都有求根公式, 或者求根公式很复杂, 导致求解困难. 利用牛顿法, 可以迭代求解.

原理是利用泰勒公式, 在x0

处展开, 且展开到一阶, 即 f(x)=f(x0)+(xx0)f(x0),求解方程 f(x)=0, 即 f(x0)+(xx0)f(x0)=0, 求解 x=x1=x0f(x0)/f(x0), 因为这是利用泰勒公式的一阶展开, f(x)=f(x0)+(xx0)f(x0)处并不是完全相等, 而是近似相等, 这里求得的 x1并不能让 f(x)=0, 只能说 f(x1)的值比 f(x0)更接近 f(x)=0, 于是乎, 迭代求解的想法就很自然了, 可以进而推出 xn+1=xnf(xn)/f(xn), 通过迭代, 这个式子必然在 f(x)=0

的时候收敛. 整个过程如下图:
牛顿迭代求根

2), 最优化

在最优化的问题中, 线性最优化至少可以使用单纯形法(或称不动点算法)求解, 但对于非线性优化问题, 牛顿法提供了一种求解的办法. 假设任务是优化一个目标函数f

, 求函数 f的极大极小问题, 可以转化为求解函数 f的导数 f=0的问题, 这样求可以把优化问题看成方程求解问题( f=0

). 剩下的问题就和第一部分提到的牛顿法求解很相似了.

这次为了求解f=0

的根, 把 f(x)的泰勒展开, 展开到 2

阶形式:

f(x+Δx)=f(x)+f(x)Δx+12f(x)Δx2

这个式子是成立的, 当且仅当 Δx 无限趋近于0时, f(x+Δx)=f(x), 约去这两项, 并对余项式 f(x)Δx+12f(x)Δx2=0Δx求导(注: f(x), f(x)均为常数项. 此时上式等价与:
f(x)+f(x)Δx=0

求解:
Δx=f(xn)f(xn)

得出迭代公式:
xn+1=xnf(xn)f(xn),n=0,1,...

一般认为牛顿法可以利用到曲线本身的信息, 比梯度下降法更容易收敛(迭代更少次数), 如下图是一个最小化一个目标方程的例子, 红色曲线是利用牛顿法迭代求解, 绿色曲线是利用梯度下降法求解.
曲线对比图

在上面讨论的是2

维( x坐标维度 + y

坐标维度)情况, 高维情况的牛顿迭代公式是:

xn+1=xn[Hf(xn)]1f(xn),n0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值