神经元的激活函数是什么?

激活函数(Activation Function)是神经元中最重要的一个组成部分,它决定了神经元的输出值。常见的激活函数有:

  1. Sigmoid:S形函数,输出范围在(0,1)。适用于二分类任务。
def sigmoid(x):
    return 1 / (1 + np.exp(-x))
  1. Tanh:双曲正切函数,输出范围在(-1,1)。也属于Logistic函数,效果略优于Sigmoid。
def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
  1. ReLU:线性整流函数,输出范围在(0,+∞)。简单高效,常用于隐藏层。可以解决梯度消失问题。
def relu(x):
    return np.maximum(0, x)
  1. LeakyReLU:修正线性整流函数,输出范围在(-∞,+∞)。在Relu基础上增强了数值稳定性。
def leaky_relu(x):
    return np.maximum(0.01*x, x)
  1. Softmax:多分类激活函数,输出范围在(0,1)且归一化为1。常用于多分类任务的输出层。
def softmax(x):
    exp_x = np.exp(x)
    return exp_x / exp_x.sum()

举例:

  • Sigmoid用于二分类输出:
output = sigmoid(inputs * weights + bias) 
  • ReLU用于隐藏层:
hidden = relu(inputs * weights + bias)
  • Softmax用于多分类输出:
outputs = softmax(hidden * weights + bias)

激活函数是神经网络的重要组成部分,理解各个激活函数的作用和特点,选择恰当的激活函数,可以显著提高神经网络的表达能力和效果。