Уважаемые участники форума помогите пожалуйста разобраться
имеется нелинейная система
имеется критерий оптимизации
для этого критерия удалось вычислить градиент и матрицу Гёссе,
так, что можно использовать для оптимизации метод Ньютона (правда область сходимости оказалась очень узкой, но это решаемо),
классический алгоритм имеет вид
,
где
- номер итерации,
- матрица Гёссе,
- вектор градиента,
- вектор оптимизируемых параметров.
В принципе алгоритм работает, но проблема в том, что все параметры
по своей физической природе положительны, а в ходе оптимизации часть из них "вылетает" в область отрицательных чисел, что естественно не устраивает.
Единственное, что мне пока пришло в голову, то это наложить ограничения на параметры путём L2 регуляризации решения.
Опробовал несколько вариантов:
1) градиент модифицируется следующим образом:
,
где
- градиент без регуляризации,
- априорное значение вектора
,
2) градиент модифицируется следующим образом:
,
3) градиент модифицируется следующим образом:
.
Матрица Гёссе во всех случаях модифицируется следующим образом:
, где
- единичная матрица.
Путём подбора параметра регуляризации
удаётся добиться того, чтобы все параметры оставались положительными, целевая функция улучшается, но есть серьёзные опасения, что получаемое решение весьма далеко от оптимального, так как эти ограничения лишь опосредованно ограничивают знак за счёт привязки значений к некоторому положительному уровню, они же ограничивают и рост значений выше заданного уровня, а это уже не совсем хорошо.
Подскажите пожалуйста, можно ли ввести ограничения так, чтобы они строго ограничивали знак параметров но не влияли, или хотя бы не очень сильно влияли, на их величину?