python - 为 scipy.differential_evolution 设置初始参数
问题描述
在scipy的差分进化优化算法中,如果我有一些好的起点,是否可以设置初始参数?
例如,假设我知道最好x
的是[0.1, 0.5,0.3]
,是否可以将其添加到里面scipy.differential_evolution
解决方案
该scipy.optimize.differential_evolution
函数有两个可以使用的参数:
bounds : sequence
变量的界限。
(min, max)
中每个元素的对,定义funcx
的优化参数的下限和上限。[切]你可以试试:
>>> bounds = [(0.0, 0.2), (0.4, 0.6), (0.2, 0.4)] >>> result = differential_evolution(my_func, bounds)
该库的最新版本(来自 SciPy v1.1.0)允许通过
init
关键字指定执行哪种类型的人口初始化:init : str or array-like, optional
指定执行哪种类型的人口初始化。应该是以下之一:
- '拉丁超立方体'</li>
- '随机'</li>
- 指定初始种群的数组。数组应该有 shape
(M, len(x))
,其中len(x)
是参数的数量。init
在使用前被剪裁到边界。
[切]
例如,可以使用数组来指定总体子集,以便在已知存在解的位置创建一组紧密的初始猜测,从而减少收敛时间。
推荐阅读
- oracle - 从 PL/SQL 调用 HTTPS 站点的参数错误
- powerbi - 用 dax 计算 power bi 的总方差
- javascript - req.body 在 Node.js 中是未定义的,即使当我记录 req 时它会显示正文及其内容
- android-studio - 如何将 Firebase 连接到颤振应用程序?
- python - TypeError:无法使用非整数键按位置索引进行索引
- ios - 如果我通过 cocoapod 使用最新版本的 Firbase 安装 googleApis,iOS 应用程序崩溃
- marklogic - 修复 MLCP 导入中的内存分配错误
- node.js - ExportToCsv 不是构造函数
- sql - LIKE 条件中的多个字符串 - Presto SQL
- c++ - 哈夫曼树插入/检索值不正确