4种激活函数

本文详细介绍了四种常用的激活函数:Sigmoid、Tanh、ReLU及其改进版Leaky ReLU,以及用于多分类的Softmax函数。Sigmoid和Tanh在神经网络中各有优缺点,Tanh缓解了Sigmoid的梯度消失问题。ReLU因其简单和高效而广泛使用,但存在神经元熄灭问题,Leaky ReLU则解决了这一问题。Softmax函数将神经元输出转换为概率分布,适用于多类别预测。这些函数在神经网络模型的训练中起到关键作用。
部署运行你感兴趣的模型镜像

4种激活函数

1,sigmoid函数

在这里插入图片描述
特点:1,输出值落于[0,1]连续区间;
2,输入值从横坐标左侧移动到右侧的过程中,其输出值呈现从平缓到加速再到平缓的特点;
3,sigmoid函数的导数值落于[0,0.25]的连续区间;
注意:在神经网络中,sigmoid函数其实有很大的局限性,在逆向参数调整back propagation过程中,使用链式法则chain rule,可以推导出下面的公式:
在这里插入图片描述
并对深度神经网络模型的权重调整幅度进行计算,中间是sigmoid函数导数的乘积,多个小于0.25的值相乘后,会严重影响最终的权重调整幅度,所以第一层的初始权重很难通过back propagation再产生变换,这个问题被称为梯度消失(vanishing Gradient)。另外,sigmoid函数在进行指数计算时,会消耗较多的算力资源。

函数实现

import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):
    y = 1/(1+np.exp(-x))
    return y


X = np.arange(-10, 10, 0.01)
Y = sigmoid(X)

plt.plot(X, Y)
plt.xlim(-11,11)
plt.ylim(0, 1)
plt.scatter(0,0.5,marker='*',c='r')
plt.show()

在这里插入图片描述

2,Tanh函数(与sigmoid类似)

在这里插入图片描述
**特征:**1,值落在[-1,1]之间;
2,导数落于[0,1]之间,因此Tanh能缓解sigmoid梯度消失的问题,在激活函数的选择时,优先于sidmoid.

import numpy as np
import matplotlib.pyplot as plt

def tanh(x):
    y = (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
    return y

X = np.arange(-10, 10, 0.1)
y = tanh(X)
plt.plot(X, y)
plt.scatter(0,0,marker='+',c='r')
plt.show()

在这里插入图片描述
3,ReLu(Rectified Linear Unit)
在这里插入图片描述
在这里插入图片描述

import matplotlib.pyplot as plt

def relu(x):
    return np.maximum(0, x)

x = np.arange(-10, 10, 0.1)
y= relu(x)

plt.plot(x,y)
plt.show()

在这里插入图片描述

leakReLu
在这里插入图片描述
在负数区间内,通过添加一个较小斜率的线性部分,使负数区域内也能够产生梯度调整值,完美解决之前的神经元熄灭问题(指ReLU函数在取值小于0时会等于0,这时神经元不激活,称为神经熄灭状态 )

4,softmax

它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。
假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是在这里插入图片描述
在最后选取输出结点的时候,我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标。

import numpy as np
import numpy as np
import matplotlib.pyplot as plt

def softmax(a):
    exp_a = np.exp(a)
    sum_exp_a = np.sum(exp_a)
    return exp_a/sum_exp_a

X = np.arange(-5, 5, 0.1)
y = softmax(X)
plt.plot(X, y)
plt.show()

在这里插入图片描述
1)分子:通过指数函数,将实数输出映射到零到正无穷。

2)分母:将所有结果相加,进行归一化。

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值