激活函数 为什么使用非线性激活函数

Sigmoid函数:
g(z) = a = 1 / (1 + e ^(-z))
g'(z) = g(z) * (1 - g(z)) = a * (1-a)
while z = 10 g(z) 1 g'(z) = 1 * (1 - 1) 0
z = -10 g(z) 0 g'(z) = 0 * (1 - 0) 0
z = 0 g'(z) 0.5 g'(z) = 0.5 * (1 - 0.5) = 0.25

Tanh函数:
g(z) = a = tanh(z) = (e^z - e^(-z)) / (e^z + e^(-z))
g'(z) = 1 - (tanh(z))^2 = 1 - a^2
while z = 10 g(z) 1 g'(z) 0
z = -10 g(z) -1 g'(z) 0
z = 0 g'(z) 0 g'(z) = 1

ReLU函数和Leaky ReLU函数:
ReLU函数:
g(z) = a = max(0 , z)
g'(z) = 0 if z < 0
g'(z) = z if z >= 0
Leaky ReLU函数:
g(z) = a = max(0.01z , z)
g'(z) = 0.01 if z < 0
g'(z) = z if z >= 0


为什么使用非线性的激活函数:
因为如果使用线性的激活函数, 那么输入x跟输出y之间的关系为线性的 ,便可以不需要网络结构,直接使用线性组合便可以.只有在输出层极小可能使用线性激活函数,在隐含层都使用非线性激活函数.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿也可以很哲学

让我尝下打赏的味道吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值