激活函数汇总,包含公式求导过程以及numpy实现,妥妥的万字干货

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了激活函数汇总,包含公式求导过程以及numpy实现,妥妥的万字干货相关的知识,希望对你有一定的参考价值。

1、激活函数的实现

1.1 sigmoid

1.1.1 函数

函数: f ( x ) = 1 1 + e − x f(x)=\\frac{1}{1+e^{-x}} f(x)=1+ex1

1.1.2 导数

求导过程:

根据: ( u v ) ′ = u ′ v − u v ′ v 2 \\left ( \\frac{u}{v} \\right ){}'=\\frac{{u}'v-u{v}'}{v^{2}} (vu)=v2uvuv
f ( x ) ′ = ( 1 1 + e − x ) ′ = 1 ′ × ( 1 + e − x ) − 1 × ( 1 + e − x ) ′ ( 1 + e − x ) 2 = e − x ( 1 + e − x ) 2 = 1 + e − x − 1 ( 1 + e − x ) 2 = ( 1 1 + e − x ) ( 1 − 1 1 + e − x ) = f ( x ) ( 1 − f ( x ) ) \\begin{aligned} f(x)^{\\prime} &=\\left(\\frac{1}{1+e^{-x}}\\right)^{\\prime} \\\\ &=\\frac{1^{\\prime} \\times\\left(1+e^{-x}\\right)-1 \\times\\left(1+e^{-x}\\right)^{\\prime}}{\\left(1+e^{-x}\\right)^{2}} \\\\ &=\\frac{e^{-x}}{\\left(1+e^{-x}\\right)^{2}} \\\\ &=\\frac{1+e^{-x}-1}{\\left(1+e^{-x}\\right)^{2}} \\\\ &=\\left(\\frac{1}{1+e^{-x}}\\right)\\left(1-\\frac{1}{1+e^{-x}}\\right) \\\\ &=\\quad f(x)(1-f(x)) \\end{aligned} f(x)=(1+ex1)=(1+ex)21×(1+ex)1×(1+ex)=(1+ex)2ex=(1+ex)21+ex1=(1+ex1)(11+ex1)=f(x)(1f(x))

1.1.3 代码实现

import numpy as np

class Sigmoid():
    def __call__(self, x):
        return 1 / (1 + np.exp(-x))

    def gradient(self, x):
        return self.__call__(x) * (1 - self.__call__(x))

1.2 softmax

1.2.1 函数

softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!

假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是:
S i = e i ∑ j e j S_{i}=\\frac{e^{i}}{\\sum _{j}e^{j}} Si=jejei
更形象的如下图表示:


y 1 = e z 1 e z 1 + e z 2 + e z 3 y 2 = e z 2 e z 1 + e z 2 + e z 3 y 3 = e z 3 e z 1 + e z 2 + e z 3 (1) y1=\\frac{e^{z_{1}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}}\\\\ y2=\\frac{e^{z_{2}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}}\\\\ y3=\\frac{e^{z_{3}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}}\\\\ \\tag{1} y1=ez1+ez2+ez3ez1y2=ez1+ez2+ez3ez2y3=ez1+e转载softmax的log似然代价函数(求导过程)

深度学习激活函数比较

矩阵求导相关公式汇总

帮我发一张函数的求导公式和特殊函数的求导公式,谢谢!

隐函数求导公式(多元隐函数存在定理)

04 解链式法则和乘积法则