Я пытался закодировать следующую проблему. Я определил функцию, зависящую от ряда параметров (в моем случае брэгговского зеркала и рентгеновского луча). Теперь я пытаюсь сравнить результаты с результатами, смоделированными другой программой по той же формуле, но, похоже, некоторые из моих параметров отключены, поэтому результаты не совсем то же самое.
Что мне делать, если я хочу выяснить правильные параметры? Единственное, что у меня есть, это формула f (x1, x2,..), экспериментальная кривая, с которой я сравниваю свои результаты, и некоторое представление о том, как должны выглядеть параметры (x1 +- dx1, x2 +- dx2,.. ).
Что я использую, чтобы минимизировать остаток? Я знаю, что Multifitting использует формат алгоритм Левенберга-Марквардта, и я читал, что это возможно с помощью генетический алгоритм или стохастический градиентный спуск (хотя, насколько я понимаю, они чаще используются для задач с нейронными сетями). У меня возникли проблемы с тем, чтобы понять, что и как мне кодировать: вычисление функции занимает пару минут, поэтому генетический алгоритм может быть не идеальным, и я признаю, что не могу понять известную мне SCG, реализованную на Python.
Что бы вы предложили мне использовать в моем более простом случае? Если здесь должны быть реализованы другие алгоритмы, кроме того, который использует модуль GA, есть ли для них четкое базовое объяснение? Я задаю этот вопрос в правильном месте? Заранее спасибо.