Преобразование параметра в L-BFGS-B - сумма до 1 - PullRequest
0 голосов
/ 08 декабря 2018

Я использую функцию SciPy minimize с алгоритмом L-BFGS-B, так как я хотел бы получить матрицу Гессе после завершения оптимизации.

Мне требуются определенные параметры для формирования распределения вероятностей (все лежат между 0 и 1 и суммой в 1), и поэтому это накладывает ограничение.

Как мне преобразовать параметры в теле функции так, чтобы записи в гессиане все еще действовали для этих параметров?

Я пытался, для (скажем, 3) рассматриваемых параметров: x/sum(x) для всех x в векторе, ограничивая значения x в пределах от 0 до 1 (что можно сделать с помощью L-BFGS-B).Я полагаю, что вы также можете применить функцию softmax к этим значениям, но я не знаю, почему это было бы предпочтительнее, чем просто масштабирование.

...