2019.5.6激活函数

一、激活函数的作用
激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题
参考:激活函数作用
二、激活函数的性质
(1)单调可微
(2)限制输出值的大小
(3)非线性
三、分类
1.线性函数
方程:f(x)=ax+b
代码:def linear (x,a,b)
return a*x+b
2.sigmoid 函数
函数式:
在这里插入图片描述
优点
(1).sigmoid函数输出映射在[0,1]之间,输出还可以被表示作概率,或用于输入的归一化
(2).sigmoid函数连续,光滑,严格单调,以(0,0.5)中心对称,是一个非常良好的阈值函数
缺点
(1).sigmoid也有其自身的缺陷,最明显的就是饱和性。从上图可以看到,其两侧导数逐渐趋近于0
(2).输出分布不均匀,存在偏差
代码:
def sigmoid (x,w=1):
return 1/(1+np.sum(np.exp(-wx))
3.双曲正切函数
函数式:
在这里插入图片描述
tanh也是一种非常常见的激活函数。与sigmoid相比,它的输出均值是0,使得其收敛速度要比sigmoid快,减少迭代次数。然而,从途中可以看出,tanh一样具有软饱和性,从而造成梯度消失。
4.Relu 函数
函数式:在这里插入图片描述
可以看到,当x<0时,ReLU硬饱和,而当x>0时,则不存在饱和问题。所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。这让我们能够直接以监督的方式训练深度神经网络,而无需依赖无监督的逐层预训练。
参考:激活函数
5.softmax 函数
主要用于分类问题
函数式:
softmax(x)=exp(x)/sum(exp(x))
代码 :
def Softmax(x):
return np.exp(x)/np.sum(np.exp(x))
四、激活函数的选择
一般隐层选择leak relu,
tanh函数可以代替sigmoid函数注意观察精确度的曲线图
如果使用Relu 函数,梯度下降算法的学习率不能太大,
输出层一般使用softmax获得高概率的输出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值