首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >负对数似然最小化对参数的约束

负对数似然最小化对参数的约束
EN

Stack Overflow用户
提问于 2020-07-11 21:56:12
回答 1查看 104关注 0票数 1

我试图拟合一个5参数(a,b,c,d,e)模型,其中一个参数受另一个参数的约束,比如说,

0< d<1

E<\x{e76f}d

我目前使用的是 zfit ,据我所知,它使用 iMinuit

我只创建了zfit.Parameters,并将限制设置为它们可以访问的范围是有效的,同样地,让我们假设:

d = zfit.Parameter('d', value=0.5, lower_limit=0.3, upper_limit=1.0, step_size=0.01)

e = zfit.Parameter('e', value=0.1, lower_limit=0.0, upper_limit=0.3, step_size=0.01)

到目前为止,它一直运作良好,但我认为这不是正确的方法。

那么,我的问题是,怎样才能正确地处理这种限制呢?

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-11 22:09:33

我会谨慎地使用这个限制,因为它们会阻塞变量,理想情况下,它们应该远离最终值。

要实现你想要的,有两种方法:

  • 或者“从数学上”施加约束作为逻辑结果,因此使用组合参数(这是其他参数的函数)从另一个参数定义一个参数。如果可能的话,这应该是首选的方法。
  • 另一种选择是在可能的情况下加上一个额外的期限来施加这种限制。然而,当您修改可能性时,这可能会产生影响。最小化器会找到最小值,但这可能不是您所寻找的最小值。您可以使用的是SimpleConstraints,并在可能违反上述任何内容的情况下添加一个惩罚项(例如,tf.cast(tf.greater(d, 1), tf.float64) * 100.)。也许也要确保使用use_minuit_grad运行的分钟。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62855017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档