scipy相关内容

我可以将目标函数和派生函数传递给scipy.optimize.minimize作为一个函数吗?

我正在尝试使用scipy.optimize.minimize来最小化复杂的功能.事后看来,我注意到minimize函数将目标函数和派生函数作为单独的参数.不幸的是,我已经定义了一个函数,该函数将目标函数值和一阶导数值一起返回-因为这两个函数是在for循环中同时计算的.我不认为没有一种好方法可以将我的函数分为两个,而无需程序运行两次相同的for循环. 有没有办法将此组合函数传递给minimiz ..
发布时间:2020-05-06 11:54:46 Python

python中的并行/多线程差分进化

我正在尝试对生化过程进行建模,并且将我的问题构造为一个优化问题,我可以使用scipy中的differential_evolution来解决. 到目前为止,一切都很好,我非常满意使用15-19个参数的简化模型的实现. 我扩展了模型,现在带有32个参数的模型花费的时间太长了.并非完全出乎意料,但仍然是一个问题,因此是个问题. 我看过: -关于R 并行差分进化 -和github问题 htt ..

整数的Scipy微分进化

我正在尝试使用scipy.optimize.differential_evolution进行优化.该代码要求x中每个变量的范围.但是我想要一个解决方案,其中x的部分必须是整数,而其他部分则可以自由浮动.我的代码的相关部分看起来像 bounds = [(0,3),(0,3),(0,3),???,???] result = differential_evolution(func, ..

使用`scipy.optimize.minimize`使具有大梯度的函数最小化

我需要在高维空间中优化标量函数.该函数随参数变化而快速变化,以使(的绝对值)梯度很大. scipy.optimize.minimize中的优化器失败,因为最小化过程采取了太大的步骤.以下代码使用简单的二次函数说明了该问题. from scipy.optimize import minimize def objective(x, scalar=1): """ Quadrati ..
发布时间:2020-05-06 11:53:29 Python

告诉scipy.optimize.minimize失败

我正在使用scipy.optimize.minimize对目标函数进行无限制的优化,该目标函数接收几个参数并基于这些参数运行复杂的数值模拟.在某些情况下,在某些情况下,我使目标函数返回inf,在这种情况下,该模拟并不总是收敛. 我认为,这种破解将阻止最小化收敛于使模拟发生分歧的一组参数附近的任何地方.取而代之的是,我遇到了这样一种情况,即模拟甚至不会针对初始参数集收敛,但是优化没有失败,而是 ..
发布时间:2020-05-06 11:53:14 Python

使用scipy.optimize最小化多元可微函数

我正在尝试使用scipy.optimize最小化以下功能: 它的渐变是这样的: (对于感兴趣的人来说,这是用于成对比较的Bradley-Terry-Luce模型的似然函数.与logistic回归紧密相关.) 很显然,向所有参数添加常量不会更改函数的值.因此,我让\ theta_1 =0.这是目标函数和python中的渐变的实现(theta在此处变为x): def objec ..
发布时间:2020-05-06 11:53:05 Python

如何对矩阵执行离散函数优化?

我想对条目为0或1的所有30×30矩阵进行优化.我的目标函数是行列式.一种实现此目的的方法是某种随机梯度下降或模拟退火. 我查看了 scipy.optimize ,但它似乎不支持这种据我所知优化. scipy.optimize.basinhopping 看起来很诱人,但它似乎需要连续变量. Python中是否有用于此类常规离散优化的工具? 解决方案 我认为遗传算法可能效果很好. ..

如何定量测量SciPy的拟合优度?

我想找出最适合给定数据的方法.我要做的是遍历n的各种值,并使用公式((y_fit-y_actual)/y_actual)x 100计算每个p的残差.然后,我计算每个n的平均值,然后找到最小残差均值以及相应的n值,并使用该值进行拟合.可复制的代码包括: import numpy as np import matplotlib.pyplot as plt from scipy import op ..
发布时间:2020-05-06 11:52:51 Python

恢复scipy.optimize中的优化?

scipy.optimize提供了用于多元和局部优化全局系统的许多不同方法.但是,我有一个很长的优化运行需要,可能会被中断(在某些情况下,我可能想故意中断它).有什么办法可以重启...好吧,其中的任何一个吗?我的意思是,显然可以提供一组最初始,最优化的参数作为初始猜测,但这并不是唯一的参数-例如,还存在梯度(例如,美洲鳄),差异进化种群等我显然不希望这些也重新开始. 我看不出有什么办法可以证 ..
发布时间:2020-05-06 11:52:38 Python

Python中的随机优化

我正在尝试将 cvxopt (优化求解器)和作为参考,使用pip安装两个软件包都很简单: pip install cvxopt pip install pymc 两个程序包都可以很好地独立运行.这是一个如何使用cvxopt解决LP问题的示例: # Testing that cvxopt works from cvxopt import matrix, solvers # Exa ..
发布时间:2020-05-06 11:52:25 Python

多线程调用scipy.optimize.leastsq的目标函数

我将scipy.optimize.leastsq与模拟器结合使用. leastsq调用用户定义的目标函数并将输入向量传递给它.反过来,目标函数返回误差向量. leastsq以使误差矢量的平方和最小的方式优化输入矢量. 在我的情况下,目标函数每次调用都会运行整个模拟.所使用的模拟器是单线程的,每次运行需要几分钟.因此,我想一次运行模拟器的多个实例.但是,对目标函数的调用是串行执行的. 如 ..
发布时间:2020-05-06 11:51:00 Python