gpt4 book ai didi

python - pymc3 海维赛阶跃函数

转载 作者:行者123 更新时间:2023-12-01 06:21:44 25 4
gpt4 key购买 nike

在 pymc3 中,如何将 Heaviside 阶跃函数应用为确定性变换?

任何阶跃函数都可以工作,但我特意询问了 Heaviside 阶跃函数,以将其与文档中提到的“阶跃函数”(指的是采样步骤)区分开来,这与我正在寻找的内容无关,并且使得查找相关文档(如果存在)变得困难。另外,我无法找到记录所有支持的转换的地方。

我想要 1 if x >= 0 else 0,但是像这样逐字编写是行不通的,因为大概 x >= 0 计算结果为一个对象,并且因此 if 表达式将立即计算为 1,然后 h 将始终为 1。

import pymc3 as pm

with pm.Model() as model:
x = pm.Normal('x', mu=0, sigma=1)
h = pm.Deterministic('h', 1 if x >= 0 else 0) # ???

最佳答案

尝试使用theano.tensor.switch 。也就是说,

import pymc3 as pm
import theano.tensor as tt

with pm.Model() as model:
x = pm.Normal('x', mu=0, sigma=1)
h = pm.Deterministic('h', tt.switch(x < 0, 0, 1))

关于python - pymc3 海维赛阶跃函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60325764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com