深度学习——激活函数

Sigmoid

h(x) = \frac{1}{1 + exp(-x)}

实现

def sigmoid(x):

return 1 / (1 + np.exp(-x))

图形

import numpy as np

import matplotlib.pylab as plt

x = np.arange(-5.0, 5.0, 0.1)

y = sigmoid(x)

plt.plot(x, y)

plt.ylim(-0.1, 1.1) # 指定y轴的范围

plt.show()

阶跃函数

实现

def step_function(x):

y = x > 0

return y.astype(np.int)

图形

阶跃函数以0为界,输出从0切换到1(或者从1切换到0),它的值呈阶梯式变化,所以称为阶跃函数。

import numpy as np

import matplotlib.pylab as plt

def step_function(x):

return np.array(x > 0, dtype=np.int)

x = np.arange(-5.0, 5.0, 0.1)

y = step_function(x)

plt.plot(x, y)

plt.ylim(-0.1, 1.1) # 指定y轴的范围

plt.show()

Sigmoid函数和阶跃函数的比较

不同

        平滑性不同,阶跃函数只能返回0或1,而sigmoid可以返回连续实数。

共同

        输入小时,输出接近0(为0);随着输入增大,输出向1靠近(变成1);

        不管输入信号有多小,或者有多大,输出信号的值都在0到1之间;

        均为非线性函数。

Relu

在输入大于0时,直接输出该值;在输入小于等于0时,输出0

实现

def relu(x):

return np.maximum(0, x)

参考书籍《深度学习入门:基于python的理论与实现》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值