牛顿法

来源:互联网 发布:数据库exists 编辑:程序博客网 时间:2024/05/18 01:37

用途:

给定函数f(x),输出其极值

约束 :

f(x)必须是凸(凹)函数,且二阶可导

优点

二阶收敛,收敛速度比批下降快(因为考虑到了二阶方向,能够在宏观上选择下降速度最快的方向)

缺点

计算黑塞矩阵的逆需要时间过长

解决方法

拟牛顿法[这里写链接内容](%E2%80%9C%E6%8B%9F%E7%89%9B%E9%A1%BF%E6%B3%95%E2%80%9D)

算法:

这里写图片描述
gk是f(x)对当前xk的一阶导,
Hk是黑塞矩阵这里写图片描述

原理:

根据二阶泰勒展开式
这里写图片描述
如果Xk+1是驻点 那么在Xk处二阶泰勒展开,令x=Xk+1 原式变为
这里写图片描述
若Hk非奇异(行列式值不为0/可逆)

这里写图片描述

即获得递推式

这里写图片描述

可以视为 x向着一阶导的方向上走了一步,那么也可以设定一个步幅

这里写图片描述

将其带回二阶泰勒展开式

这里写图片描述

得到这里写图片描述

0 0