深度学习


常见的几种激活函数及python实现 ...



激活函数

  • 深度学习
  • 前言
  • 一、激活函数作用
  • 二、常见的四种激活函数
  • 2.1 Sigmoid函数
  • 2.2 Tanh(双曲正切)函数
  • 2.3 ReLU-修正线性单元
  • 2.3 Softmax函数
  • 总结


前言

在这篇文章中我将介绍几种常见的激活函数及作用


一、激活函数作用

  激活函数的作用在于提供网络的非线性建模能力。如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。
  如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

二、常见的四种激活函数

2.1 Sigmoid函数

  Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间 。公式如下:

            

Python的激活账户和激活码怎么获得 python中的激活函数_深度学习


其python代码为:

import numpy as np
def sigmoid(z):
    return 1 / (1 + np.exp(-z))

函数图像为:

Python的激活账户和激活码怎么获得 python中的激活函数_机器学习_02

2.2 Tanh(双曲正切)函数

  Tanh是双曲函数中的一个,Tanh()为双曲正切。在数学中,双曲正切"Tanh"是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下:

              

Python的激活账户和激活码怎么获得 python中的激活函数_深度学习_03


优点:

1)比Sigmoid函数收敛速度更快。

2)输出以0为中心。

缺点:

1)由于饱和性产生的梯度消失

其python代码为:

import math
import numpy as np
def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

函数图像为:

Python的激活账户和激活码怎么获得 python中的激活函数_python_04

2.3 ReLU-修正线性单元

  线性整流函数,又称为修正性线性单元,ReLU是一个分段函数,其公式:为:f(x)=max(0,x),

优点:
1)比Sigmoid函数收敛速度更快。
2)输出以0为中心。
缺点:
1)由于饱和性产生的梯度消失

其python代码为:

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

其函数图像为:

Python的激活账户和激活码怎么获得 python中的激活函数_激活函数_05

2.3 Softmax函数

  softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。

其公

Python的激活账户和激活码怎么获得 python中的激活函数_激活函数_06


式为:

其python代码为:

def softmax(z):
    c=np.max(z)
    exp_z=np.exp(z-c)
    return exp_z/np.sum(exp_z)

其函数图像为:

Python的激活账户和激活码怎么获得 python中的激活函数_python_07

总结

期待大家和我交流,留言或者私信,一起学习,一起进步!