Hessian海森矩阵与牛顿最优化方法

本文介绍了海森矩阵的概念,它是函数的二阶偏导数组成的方块矩阵。接着详细阐述了牛顿法解方程的原理和迭代公式,并解释了牛顿最优化方法如何通过求解函数的一阶导数为0来寻找极值点。最后,展示了多自变量情况下牛顿迭代公式的应用。

Hessian矩阵

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

f(x1,x2,xn)

如果f的所有二阶导数都存在, 那么f的海森矩阵即:

H(f)ij(x)=DiDjf(x)

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

2fx212fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fx2n

牛顿法解方程

在讲牛顿最优化方法之前,我们先来回顾一下计算方法中的牛顿法解方程,这其实是一个迭代的过程。

我们用牛顿法求解f(x)=0这个问题, 首先对将f(x)x(k)处做一阶泰勒展开,那么我们就会得到:

f(x)=f(x(k))+(xx(k))f(x(k))

因为f(x)=0,那么我们可以得到:

0=f(x(k))+(xx(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取值,x表示精确解, 这个迭代过程就是不断逼近x的过程,其实就是不断的用曲线的切线与x轴交点的横坐标来近似表达曲线与x轴交点的横坐标,所以牛顿法也叫切线法。

这里写图片描述

牛顿最优化方法

最优化的问题其实就是求解一个目标函数f(x)的极大极小值问题。我们知道函数的极值点其实就是该函数一阶倒数为0的点,即求解方程f(x)=0的解,这可以通过刚刚提到的牛顿法求解方程组解决.

我们对f(x)xk处做二阶泰勒展开,那么我们会得到:

f(x)=f(x(k))+f(x(k))(xx(k))+12f′′(x(k))(xx(k))2

我们对f(x)求导,可以得到:

f(x)=f(x(k))+f′′(x(k))(xx(k))

f(x)=0,即可得到:

0=f(x(k))+f′′(x(k))(xx(k))

解方程,求得x等于:

x=xkf(x(k))f′′(x(k))

即,迭代格式为:

x(k+1)=x(k)f(x(k))f′′(x(k))

在上面讨论的是y=f(x)这种只包含x这1个自变量的情况, 多个自变量情况时的牛顿迭代公式是:

x(k+1)=x(k)[Hf(x(k))]1f(x(k)),n0

其中Hf(x(k))即为Hessian矩阵,f(x(k))是一个向量,向量中的每个元素分别是f(x)对各个自变量求偏导后的函数在x=x(k)时的函数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值