mlpack/ensmallen

A header-only C++ library for numerical optimization --

解決する課題

数値最適化は複雑な数学的問題を解決するために不可欠ですが、堅牢で効率的なアルゴリズムをゼロから実装するのは困難です。このライブラリは、さまざまな非線形最適化タスクを処理するための、高品質でそのまま使える最適化手法のコレクションを提供します。

仕組み

ヘッダーオンリーのC++ライブラリであるため、既存のプロジェクトに簡単に統合できます。Armadillo線形代数ライブラリを利用しており、パフォーマンス向上のためにOpenBLAS、Intel MKL、またはLAPACKを活用できます。このライブラリは、勾配ベースの手法、勾配フリーの手法、および制約付き最適化を含む、幅広い最適化技術を提供します。

対象者

線形回帰やその他の複雑な数学的モデリングなどのタスクに信頼できる数値最適化ツールを必要とする、C++で作業を行う開発者や研究者向けに設計されています。

特徴

  • L-BFGS、SGD、CMAES、Simulated Annealingを含む多くの種類の最適化手法をサポート
  • 勾配降下法、勾配フリー、および制約付き最適化技術を含む
  • 最適化プロセスをカスタマイズするためのオプションのコールバックを提供
  • Armadilloおよび最適化されたBLAS/LAPACKライブラリを使用した高性能な実装