Задайте начальные параметры нелинейной аппроксимации без информации

Мне было интересно, существует ли технический способ выбора начальных параметров для такого рода задач (поскольку они могут принимать практически любую форму). Мой вопрос возникает из-за того, что мое решение мало зависит от исходных параметров (как обычно). Моя подгонка состоит из 10 параметров и примерно 5120 точек данных (x, y, z) и имеет нелинейные ограничения. Я делал это методом грубой силы, то есть произвольно пробовал параметры и пытался наблюдать закономерность, но это ни к чему не привело.

Я также пробовал использовать генетический алгоритм MATLAB (чтобы найти глобальный оптимум), но безуспешно, поскольку, похоже, моя функция имеет тонну локальных минимумов.

Для моей задачи мне нужно каким-то образом объяснить причины выбора начальных параметров.


person Jorge    schedule 27.04.2018    source источник


Ответы (2)


Без какого-либо понимания модели и вероятных значений параметров пространство поиска слишком велико для чего-либо возможного. Подумайте, что простая попытка десяти значений для каждого параметра соответствует десяти миллиардам комбинаций. Нет волшебного черного ящика.

person Yves Daoust    schedule 16.05.2018

Вы можете попробовать байесовскую оптимизацию, чтобы найти глобальный оптимум для дорогостоящих функций черного ящика. Matlab описывает свою реализацию [bayesopt] [2] как

Выберите оптимальные гиперпараметры машинного обучения с помощью байесовской оптимизации

но вы можете использовать его для оптимизации любой функции. Байесовская оптимизация работает, обновляя априорное мнение о распределении функций с помощью наблюдаемых данных.

Чтобы ускорить оптимизацию, я бы рекомендовал добавить существующие данные с помощью входных аргументов InitialX и InitialObjective.

person Alex bGoode    schedule 27.04.2018