基于 Elo 适应的差分进化
项目描述
基于 Elo 适应的差异进化
概述
差分进化 (DE) 优化算法即使在高维复杂问题上也能令人满意地执行。但是,很难先验地选择最优参数。在这个包中,我们提出了 DElo(基于 Elo 评级系统进行改编的 DE)。Elo 评分最初用于国际象棋,是一种衡量动态适应度的方法。
安装
导航到存储库根文件夹并执行命令
pip install -e .
这将安装开发人员版本 - 对包源中文件的任何更改都将立即生效。无需重新安装。
要安装常规版本,只需不带-e选项执行即可。
例子
import delo
如果一个函数接受一个参数并返回一个值,像这样:
def my_single_argument_function(x):
return np.sum(x ** 2)
必须像这样包装它:
def my_multi_argument_wrapping(x):
return np.array([my_single_argument_function(xi) for xi in x])
described_my_function = delo.DescribedFunction(my_multi_argument_wrapping,
dimension=5,
domain_lower_limit=-5,
domain_upper_limit=5)
然后,可以使用 DElo 找到函数的最优值:
algorithm = delo.DElo(100)
solution, best_f_value = algorithm.optimize(described_my_function, max_f_evals=10000)
print(solution, best_f_value)
# [0.0 0.0 -0.0 0.0 0.0], 8.5e-09
或者可以使用 DEloTQI 找到函数的最优值:
algorithm = delo.DElo_ties_and_QI(100)
solution, best_f_value = algorithm.optimize(described_my_function, max_f_evals=10000)
print(solution, best_f_value)
# [0.0 -0.0 -0.0 -0.0 0.0], 1.1e-11
参考:
- 阴影
- “有关 ES 的更全面介绍,请参阅 Beyer 和 Schwefel (2002)”~ 2021 年的预印本:“超参数优化:基础、算法、最佳实践和开放挑战”
- Beyer, H.-G., & Schwefel, H.-P. (2002 年)。进化策略 - 全面介绍。自然计算,1, 3–52。 弹簧链接
国际象棋ELO系统解释:
一般的想法是比较两个解决方案/基因组/样本时。如果一个人有更好的分数,不要认为它更好,而是它将是一个更有可能变得更好的人。
它基于其中 S 是 sigmoid 函数
,
是评分函数,
是第 i 个样本。
致谢
在 Michal Okulewicz 博士的监督下,作为 Przemyslaw Adam Chojecki 和 Pawel Morgen 的联合工程师论文的一部分开发。在华沙理工大学。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
delo-0.9.0.tar.gz
(31.6 kB
查看哈希)
内置分布
delo-0.9.0-py3-none-any.whl
(32.7 kB
查看哈希)