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