激活函数(Activation Function)有什么用处,有哪几种?

        人工智能中,激活函数在神经网络中扮演着非常重要的角色。它们引入非线性性质,使得神经网络可以学习和表示更为复杂的函数。激活函数将神经网络的输入转换为输出,通常是在神经元的输出上应用非线性变换。

  以下是几种常见的激活函数及其特点:

  1.Sigmoid函数

  Sigmoid函数将输入值映射到0到1之间的连续输出。它具有平滑的曲线形状,适用于二元分类问题。然而,由于其在输入远离零时梯度接近于零,容易出现梯度消失的问题。

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

  2.双曲正切函数(Tanh函数):

  Tanh函数将输入值映射到-1到1之间的连续输出。与Sigmoid函数类似,Tanh函数也是平滑的曲线,但其输出范围更广,可以解决二元分类问题。Tanh函数的梯度在输入接近于零时不会消失。

import numpy as np

def tanh(x):
    return np.tanh(x)

  3.ReLU函数

  ReLU函数(Rectified Linear Unit)将负数输入映射为零,正数输入保持不变。它在实践中非常流行,因为它不会引入饱和区域,并且计算速度相对较快。但是,ReLU函数对于负数输入的梯度为零,可能导致神经元永久失活。

import numpy as np

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

  4.Leaky ReLU函数

  Leaky ReLU函数是ReLU函数的变体,当输入为负数时引入一个小的斜率,以解决ReLU函数中的神经元失活问题。

import numpy as np

def leaky_relu(x, alpha=0.01):
    return np.maximum(alpha * x, x)

  5.Softmax函数:

  Softmax函数将一组实数转换为概率分布,常用于多类分类问题。它将输入的指数函数归一化为概率值,并且输出总和为1。

import numpy as np

def softmax(x):
    exp_values = np.exp(x - np.max(x, axis=1, keepdims=True))
    return exp_values / np.sum(exp_values, axis=1, keepdims=True)

  这些是常见的激活函数,每个函数都有不同的特点和适用场景。在神经网络中,可以根据任务的需求和网络的结构选择适当的激活函数。代码示例中使用了NumPy库来进行函数的实现。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值