1

我正在用 ruby​​ 编写机器学习/分类算法,我想优化算法中的一些参数。我有 4 个变量 p、x、y 和 z,其中 0 <= x + y + z <= 1 和 0 <= p <= 1。显然,这是一个优化问题。

然而,因为我试图最大化的东西本身不是一个数学函数(即不能用矩阵表示,没有明显的导数概念等),而是对程序的调用,其中返回值是它的分类精度,我找不到适合这项工作的工具。该程序每次运行大约需要 5 分钟,因此开始时非常昂贵。有谁知道任何可以满足我需要的 ruby​​ 库?还是我需要切换到另一种语言?(在这种情况下,如何使用另一种语言的脚本优化用 ruby​​ 编写的程序?)

我试过/看过的东西:

rglpk - 具有线性规划,但我的目标函数(显然)是非线性的

SciRuby - 未完全开发(例如,没有 SciPy.optimize 的等价物)

rbgsl - 如此接近。我可以指定自己的目标函数(非线性)。我可以指定一个阶跃函数和多个要优化的变量。但是我似乎可以指定变量的界限,尽管 multimin 的 c 版本有一个参数来指定这些约束。我错过了什么吗?

4

0 回答 0