【机器学习300问】64、简写出常见的激活函数及其导数?

        在机器学习特别是深度学习中,激活函数是用于增加模型的非线性特性。对于一个给定的输入信号,激活函数定义了输出信号的形式。以下是一些常见的激活函数及其导数:

一、Sigmoid函数

函数

\sigma(x) = \frac{1}{1 + e^{-x}}

导数

\sigma'(x) = \sigma(x)(1 - \sigma(x))

二、Tanh双曲正切函数

函数

\tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}

导数

\tanh'(x) = 1 - \tanh^2(x)

三、ReLU线性整流单元函数

函数

ReLU(x) = \max(0, x)

导数

ReLU'(x) = \begin{cases} 0 & \text{if } x < 0 \\ 1 & \text{if } x > 0 \\ undefined & \text{if } x = 0 \end{cases}

        ReLU函数在( x = 0 )处导数不明确是因为实际使用中通常不会发生计算问题,并且在实现时通常会返回0或1。 

四、Leaky ReLU函数

函数

LeakyReLU(x) = \begin{cases} \alpha x & \text{if } x < 0 \\ x & \text{if } x \geq 0 \end{cases}

其中α是一个小常数 

导数

LeakyReLU'(x) = \begin{cases} \alpha & \text{if } x < 0 \\ 1 & \text{if } x \geq 0 \end{cases}

五、Softmax函数

函数(对第i个输入)

\text{Softmax}(x)_i = \frac{e^{x_i}}{\sum\limits_{j} e^{x_j}}

导数(对第i个输入)

\text{Softmax}'(x)_i = \text{Softmax}(x)_i \cdot (1 - \text{Softmax}(x)_i)

        Softmax函数的导数较为复杂,这里的表述为了简单化并未展现交叉项。在实际计算梯度时,需要考虑Softmax输出之间的相互作用。对于其他输入( j \neq i ),导数会涉及到Softmax输出的相互关系。 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 10:44:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 10:44:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 10:44:03       87 阅读
  4. Python语言-面向对象

    2024-04-10 10:44:03       96 阅读

热门阅读

  1. 自动化运维(十七)Ansible 之Kubernetes模块

    2024-04-10 10:44:03       40 阅读
  2. 未来AI技术创业机会

    2024-04-10 10:44:03       41 阅读
  3. CentOS 7详细介绍。

    2024-04-10 10:44:03       39 阅读
  4. 文心一言和GPT-4全面比较

    2024-04-10 10:44:03       40 阅读
  5. 三种芯片:ASIC、FPGA、SoC

    2024-04-10 10:44:03       38 阅读
  6. Vue将iconfont封装成全局组件,自定义类名

    2024-04-10 10:44:03       38 阅读
  7. List接口(1) | ArrayList

    2024-04-10 10:44:03       42 阅读
  8. 关于yolov8x-p2.yaml

    2024-04-10 10:44:03       38 阅读
  9. 链表,栈,队列的区别及其应用

    2024-04-10 10:44:03       34 阅读
  10. 如何生成 ssh 秘钥?

    2024-04-10 10:44:03       35 阅读
  11. 7-11完全二叉树的层序遍历

    2024-04-10 10:44:03       37 阅读