Ruby で機械学習/分類アルゴリズムを作成しています。アルゴリズムのいくつかのパラメーターを最適化したいです。p、x、y、z の 4 つの変数があり、0 <= x + y + z <= 1 および 0 <= p <= 1 です。明らかに、これは最適化問題です。
ただし、私が最大化しようとしているのは数学関数自体ではなく (つまり、行列で表現できない、導関数の明白な概念がないなど)、むしろ戻り値がその分類精度であるプログラムへの呼び出しであるためです。 、仕事に適したツールが見つかりません。このプログラムは 1 回の実行に約 5 分かかるため、最初は非常にコストがかかります。私が必要とすることを行うルビーライブラリを知っている人はいますか? または、別の言語に切り替える必要がありますか? (その場合、Ruby で書かれたプログラムを別の言語のスクリプトを使用して最適化するにはどうすればよいでしょうか?)
私が試した/見たこと:
rglpk - 線形計画法がありますが、私の目的関数は (明らかに) 非線形です
SciRuby - 完全には開発されていません (たとえば、SciPy.optimize に相当するものはありません)
rbgsl - とても近いです。独自の目的関数 (非線形) を指定できます。最適化するステップ関数と複数の変数を指定できます。しかし、c バージョンの multimin にはこれらの制約を指定する引数があるにもかかわらず、変数の境界を指定できるようです。何か不足していますか?