Документация Engee

OptimizationPolyalgorithms.jl

Страница в процессе перевода.

OptimizationPolyalgorithms.jl — это пакет, в котором собраны полиалгоритмы, образованные путем комбинирования популярных решателей оптимизационных задач с различными характеристиками.

Установка: OptimizationPolyalgorithms

Чтобы использовать этот пакет, установите пакет OptimizationPolyalgorithms:

import Pkg;
Pkg.add("OptimizationPolyalgorithms");

Алгоритмы

В настоящее время мы поддерживаем следующие полиалгоритмы:

PolyOpt: выполняет алгоритм Adam, а затем BFGS с одинаковым количеством итераций. Это полезно в сценариях научного машинного обучения: поверхность потерь исследуется с помощью стохастического оптимизатора, а схождение к минимумам происходит быстрее благодаря BFGS.

using Optimization, OptimizationPolyalgorithms
rosenbrock(x, p) = (p[1] - x[1])^2 + p[2] * (x[2] - x[1]^2)^2
x0 = zeros(2)
_p = [1.0, 100.0]

optprob = OptimizationFunction(rosenbrock, Optimization.AutoForwardDiff())
prob = OptimizationProblem(optprob, x0, _p)
sol = Optimization.solve(prob, PolyOpt(), maxiters = 1000)
retcode: Success
u: 2-element Vector{Float64}:
 1.0000000000000009
 1.0000000000000018