【深度学习小知识】sigmoid和softmax的纠葛

Sigmoid 与 Softmax 详解

Sigmoid是什么?

首先看一下sigmoid的函数表达式和对应函数图像,会发现sigmoid函数的可以将输入的值限定在(0,1)之间
下面是sigmoid的函数表达式:
在这里插入图片描述
这里只用python实现sigmoid函数图形:sigmoid函数图形
实现代码如下:

import matplotlib.pyplot as plt  
import numpy as np
x = np.arange(-10,10,0.2)
y = 1.0 /(1.0 + np.exp(-x))
plt.plot(x,y)
plt.show()  

Softmax是什么?

softmax函数的意义是将事件Y转换为概率P
下面是softmax的函数表达式:
在这里插入图片描述
具体过程如图所示:
在这里插入图片描述
图中过程简述为:
—>输入一个数组[0.2, 0.4, 0.3]
—>经过softmax计算后
—>得出0.2、0.4,0.3三个事件发送的概率

softmax实现相关代码如下:

import numpy as np

# 按照softmax的函数表达式,构造一个自定义函数
def softmax(y):
    # y为列表,[0.2, 0.4, 0.3]
    # y中元素依次取对数,放入列表exps中
    exps = [np.exp(logit) for logit in y]
    # 指数求和
    sum_of_exps = sum(exps)
    #分别计算概率
    softmax = [j / sum_of_exps for j in exps]
    return softmax


if __name__ == '__main__':

    y = [0.2, 0.4, 0.3]  # 这里可以更改输入列表的值
    softmax = softmax(y)
    print(softmax)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值