【发布时间】:2020-10-29 03:02:48
【问题描述】:
我正在尝试模拟一些数据,其中响应可能是正确的 (1) 或错误的 (0)。因此,我试图找到一个有四个条件的分布(在这种情况下是圆的度数)。
因此,x 轴是 pi/2, pi, pi1.5, 2pi。我已将其从 0 标准化为 1,以使其更容易。在 y 轴上,我希望回答正确的概率是 0-1 或 0-100 等。我正在尝试生成/绘制一个 sigmoid 函数,这样当条件接近 1 时概率更高,而当条件接近 1 时概率更低条件更接近于 0。
我似乎无法生成 0 到 1 之间的 sigmoid,除非我设置 x = np.linspace (-10,10,10),否则它只会给我一条直线。我怎样才能做到这一点?我目前拥有的代码如下。谢谢!
我最初打算使用 beta 分布,因为它更适合(因为它是围绕一个圆的度数),但似乎无法将它变成我想要的形状。任何帮助将不胜感激!
def sigmoid(x,x0=0,k=0.5):
return (1 / (1 + np.exp(-x)))
x = np.linspace(0,1,10)
【问题讨论】:
-
那么 sigmoid 是
0表示负无穷大,1表示正无穷大。因此,这个想法是永远不会真正达到0anc1。 -
啊,我明白了,谢谢!然后你会建议将我的 4 个条件标准化以适应 -10 到 +10 还是这是不好的做法?
标签: numpy matplotlib distribution sigmoid beta-distribution