自学内容网 自学内容网

【机器学习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输出的相互关系。 


原文地址:https://blog.csdn.net/qq_39780701/article/details/137572220

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!