python牛顿法寻找极值_【Python讲优化】S06E10 利用牛顿法求多元函数的极值

本文介绍了牛顿法在多元函数极值求解中的应用,讲解了向量微分基础,包括标量、向量和矩阵函数的分类。牛顿法利用一阶和二阶导数确定搜索方向,效率优于一阶方法。文章详细阐述了牛顿法的原理和迭代公式推导,并提供了算法的代码实现。
摘要由CSDN通过智能技术生成

这一讲里,我们进入到多元函数求极值的最后一部分,即牛顿法的内容中。

在前面的两讲内容里,我们所介绍的梯度下降法和最速下降法都只用到了目标函数的一阶导数(也就是梯度)来确定每一次迭代的搜索方向,因此也可以被称作为是一阶方法。

而另一种算法的优化思路是这样的,在迭代方法中引入高阶导数,其迭代效率可能会优于最速下降法,而牛顿法就是其中的典型代表,他的核心是同时使用一阶导(梯度)和二阶导(黑塞矩阵)来确定搜索方向,效率上要优于一阶的方法。

1.向量微分基础

1.1.函数的分类

在介绍牛顿法的具体算法之前,我们先来介绍一下向量微分的基础知识,这些内容在算法的实现中将会用到。

其实从多元函数的内容开始,我们对于函数的认识就应该深了一层,这里我们趁此机会把函数的种类全部梳理一遍。

我们看看三种函数,标量函数、向量函数和矩阵函数:

对于标量函数$f$,他的自变量可以是标量x,向量$x$,和矩阵$X$,然而函数的结果只能是标量,也就是说无论是标量、向量还是矩阵,经过标量函数的映射,得到的最终都是标量。

类似的,对于向量函数$f$和矩阵函数$F$,他的自变量同样可以是标量x,向量$x$或者矩阵$X$,但是通过向量函数$f$的映射,最终得到的结果都是向量,而通过矩阵函数$F$的映射,最终得到的结果都是矩阵。

而我们这几讲里所重点讨论的一元函数$f(x)$和多元函数$f(x_1,x_2,...,x_n)$属于什么类型?由于他们最终得到的结果值都是一个标量,因此我们所讨论的范畴依然还只是标量函数,而一元函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值