python 优化求解器_Python SciPy 优化器(Optimizers)

本文介绍了如何利用Python的SciPy库进行优化,包括寻找方程根和函数最小化。通过示例展示了使用`scipy.optimize.root`找到非线性方程的根以及运用`scipy.optimize.minimize`函数最小化问题,方法如BFGS。
摘要由CSDN通过智能技术生成

1、SciPy优化器

优化器是SciPy中定义的一组过程,它们可以找到函数的最小值或方程式的根。

2、优化函数

本质上,机器学习中的所有算法不过是一个复杂的方程式,需要借助给定的数据将其最小化。

3、方程的根

NumPy能够找到多项式和线性方程式的根,但无法找到非线性方程式的根,如下所示:

x + cos(x)

为此,可以使用SciPy的optimize.root函数。

此函数接受两个必需的参数:

fun-表示方程的函数。

x0-根的初始猜测。

该函数返回一个对象,其中包含有关解决方案的信息。

实际的解决方案在返回对象的属性x下给出:

例如:

找出等式的根x + cos(x):from scipy.optimize import root

from math import cos

def eqn(x):

return x + cos(x)

myroot = root(eqn, 0)

print(myroot.x)

注意:返回的对象具有有关解决方案的更多信息。

例如:

打印有关解决方案的所有信息(而不仅仅是根的x)print(myroot)

4、函数最小化

在此,函数代表曲线,曲线具有高点和低点。

高点称为最大值。

低点称为极小值。

整个曲线中的最高点称为全局最大值,而其余曲线称为局部最大值。

整个曲线的最低点称为全局最小值,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值