为了账号安全,请及时绑定邮箱和手机立即绑定

sigmoid函数图可以是线性的吗?

sigmoid函数图可以是线性的吗?

千万里不及你 2022-01-18 17:11:00
我想我有一个“愚蠢”的问题。我有一个计算 sigmoid 函数的 python 代码:def sigmoid(z):        return 1 / (1 + np.exp(-z))我想看看什么样的图形是给定数据的 sigmoid 函数,所以我将函数更改为:def sigmoid(z):    s = 1 / (1 + np.exp(-z))    plt.plot(s)    plt.title("Sigmoid")    plt.show()    return s我得到的是:数据取自https://www.kaggle.com/azzion/credit-card-fraud-detection-using-neural-network所以问题是:sigmoid 函数可以与某些特定参数成线性关系,还是我做错了什么?
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

不,它不可能是线性的。我没有你的完整代码,但试试


 x = np.linspace(-3, 3)

 y = sigmoid(x)

 plt.plot(x, y)

看形状


查看完整回答
反对 回复 2022-01-18
?
www说

TA贡献1775条经验 获得超8个赞

您看到的是您绘制 sigmoid 的范围的伪影。考虑以下三个绘图范围。正如您将看到的,第一个图看起来或多或少是线性的。此外,当你这样做时,你只是在绘制sigmoid plt.plot(s)。所以基本上你扔掉了你这样做之间s的所有关系。z您应该将因变量和自变量绘制为ax.plot(z, s)


fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(14, 3))


z1 = np.linspace(0, 1, 100)

z2 = np.linspace(-5, 5, 100)

z3 = np.linspace(-50, 50, 100)


def sigmoid(z, ax):

    s = 1 / (1 + np.exp(-z))

    ax.plot(z, s)

    ax.set_title("Sigmoid")

    return 


for ax, z in zip(axes.flatten(), [z1, z2, z3]):

    sigmoid(z, ax)

plt.tight_layout()    

//img1.sycdn.imooc.com//61e684560001a17f19940415.jpg

查看完整回答
反对 回复 2022-01-18
  • 2 回答
  • 0 关注
  • 301 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号