AI学习日记——激活函数
激活函数是将输入信号的加权总和a转换为输出信号y的函数h(a)激活函数不能为是线性函数,因为h(h(h(x)))=c*c*c*x=a*x。由此可见如果是线性函数,多层永远可以被单层替代,无法发挥多层神经网络优势。本文比较了感知机和神经网络的异同,还介绍了三种常见的激活函数:阶跃函数,sigmoid函数,relu函数。同:结构形状相同(输入层,中间层,隐藏层)异:感知机激活函数是阶跃函数,神经网络可
目录
一、神经网络
1.结构
形状和感知机一样,但神经网络可以自动地从数据中学习到合适的权重参数。分为:输入层,中间层(隐藏层),输出层。
二、激活函数
1.定义
激活函数是将输入信号的加权总和a转换为输出信号y的函数 h(a)
激活函数不能为是线性函数,因为h(h(h(x)))=c*c*c*x=a*x。由此可见如果是线性函数,多层永远可以被单层替代,无法发挥多层神经网络优势。
2.常见激活函数
(1)阶跃函数
感知机所使用的激活函数,在0处发生急剧变化,y取值范围是0/1
#x只能为实数
def step(x):
if x>0:
return 1
else:
return 0;
#x可以是数组
def step(x):
y=x>0
return np.astype(np.int)
(2)Sigmoid函数
与阶跃函数相比,更具有平滑性,y取值范围是0~1
def sigmoid(x):
return 1 / (1 + np.exp(-x))
(3)ReLU函数
在输入大于0时,直接输出该值;在输入小于等于0时,输出0,缓解梯度消失问题,y取值范围是0~正无穷
def ReLU(x):
return np.maximam(1,x)
总结
本文比较了感知机和神经网络的异同,还介绍了三种常见的激活函数:阶跃函数,sigmoid函数,relu函数。
- 同:结构形状相同(输入层,中间层,隐藏层)
- 异:感知机激活函数是阶跃函数,神经网络可以是任意激活函数
更多推荐
所有评论(0)