首先四种激活函数分别为:
(1)Sigmoid函数
(2)Tahn函数
(3)ReLu函数
(4)SoftMax函数

1.Sigmoid函数(该函数是将取值为(-∞,+∞)的数映射到(0,1)之间)

优点:在特征相差比较复杂或是相差不是特别打的效果比较好;
缺点:当z值非常大或着非常小时,sigmoid函数的导数将接近0.着会导致权重W的梯度将接近0,使得梯度更新十分缓慢,即梯度消失;
sigmoid函数可用在网络最后一层,作为输出层进行二分类,尽量不要使用在隐藏层。
代码如下:

import numpy as np
import matplotlib.pyplot as plt
def sigmoid(z):return 1/(1+np.exp(-z))nums=np.arange(-10,10,step=1)
fig,ax=plt.subplots(figsize=(12,8))
ax.plot(nums,sigmoid(nums),'r')
plt.title('sigmoid')
plt.show()

图像:

2.Tanh函数(该函数是将取值为(-∞,+∞)的数映射到(-1,1)之间)

优点:tanh函数在0附近很短一段区域内可看作线性的。由于tanh函数均值为0,因此弥补了sigmoid函数均值为0.5的缺点。
缺点:当z很大或很小时,导函数接近于0,会导致梯度很小,权重更新非常缓慢,即梯度消失问题。
代码如下:

import numpy as np
import matplotlib.pyplot as plt
def tanh(x):return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)x = np.linspace(-10, 10)
y = tanh(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.set_xticks([-10, -5, 0, 5, 10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
ax.set_yticks([-1, -0.5, 0.5, 1])plt.plot(x, y, label="Tanh", color="red")
plt.legend()
plt.show()

图像:

3.Relu函数(是一种分段线性函数,弥补了sigmoid函数以及tanh函数的梯度消失问题)

优点:
(1)在输入为正数的时候(对于大多数输入z空间来说),不存在梯度消失问题。
(2)计算速度快很多,Relu函数只有线性关系,不管是前向传播还是反向传播,都比sigmoid和tanh要快很多。(sigmoid和tanh要计算指数,计算速度会比较慢)。
缺点:当输入为负时,梯度为0,会产生梯度消失问题。
代码如下:

import numpy as np
import matplotlib.pyplot as plt
def ReLU(x):return np.maximum(0,x)
fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(111)x = np.linspace(-10, 10)
y = ReLU(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.set_xticks([-10,10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
ax.set_yticks([0, 10])plt.plot(x, y, label="ReLU(x)", color="red")
plt.legend()
plt.show()

图像:

4.SotfMax函数(sotfmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以堪称概率理解,从而进行多分类)
假设有一个数组,V, Vi表示V中的第i个元素,那么这个元素的softmax值就是

代码如下:

import numpy as np
def softmax(x):D = np.max(x)exp_x = np.exp(x-D)return exp_x / np.sum(exp_x)

图像:

深度学习的四种激活函数相关推荐

  1. 线性Frequency Principle动力学:定量理解深度学习的一种有效模型

    关于作者:本文的作者是来自上海交通大学致远学院 08 级理科班的四位研究人员.本文由许志钦执笔,张耀宇修改,罗涛和马征审阅校正.这个小组的研究兴趣主要是深度学习理论. 深度学习的广泛成功吸引了大量的科 ...

  2. 『深度学习项目四』基于ResNet101人脸特征点检测

    相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别 [深度学习项目二]卷积神经网络LeNet实现minst数字识别 [深度学习项目三]ResNet50多分类任务[十二生肖分类] 『深度 ...

  3. 基于深度学习的犬种识别软件(YOLOv5清新界面版,Python代码)

    摘要:基于深度学习的犬种识别软件用于识别常见多个犬品种,基于YOLOv5算法检测犬种,并通过界面显示记录和管理,智能辅助人们辨别犬种.本文详细介绍博主自主开发的犬种检测系统,在介绍算法原理的同时,给出 ...

  4. 深度学习的三种硬件方案:ASIC,FPGA,GPU;你更看好?

    原文链接:http://www.sohu.com/a/123574005_465947 深度学习的三种硬件方案:ASIC,FPGA,GPU:你更看好? 2017-01-06 10:59 硬件十万个为什 ...

  5. 花书+吴恩达深度学习(四)多分类 softmax

    目录 0. 前言 1. 二分类 sigmoid 2. 多分类 softmax 3. 多分类 softmax 梯度下降推导 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书 ...

  6. 系统学习深度学习(四十一)--AlphaGo Zero强化学习原理

    转自:https://www.cnblogs.com/pinard/p/10609228.html 本篇主要参考了AlphaGo Zero的论文, AlphaGo Zero综述和AlphaGo Zer ...

  7. 系统学习深度学习(九)--激活函数总结

    https://zhuanlan.zhihu.com/p/22142013这个文章,写的接地气,强烈推荐. http://www.cnblogs.com/rgvb178/p/6055213.html类 ...

  8. 计算机视觉的深度学习实战四:图像特征提取

    更多精彩内容请关注微信公众号:听潮庭. 计算机视觉的深度学习实战四:图像特征提取 综述: 颜色特征 量化颜色直方图.聚类颜色直方图 几何特征 Edge,Corner,Blob 基于关键点的特征描述子 ...

  9. 动图+独家思维导图!让你秒懂李宏毅2020深度学习(四)—— CNN(Convolutional Neural network)

    动图+独家思维导图!让你秒懂李宏毅2020深度学习(四)-- CNN(Convolutional Neural network) 系列文章传送门: 文章目录 动图+独家思维导图!让你秒懂李宏毅2020 ...

  10. 支持移动端深度学习的几种开源框架

    原文:http://blog.csdn.net/zchang81/article/details/74280019 支持移动端深度学习的几种开源框架 1.Caffe的移动端项目 caffe项目连接如下 ...

最新文章

  1. 关于javascript的keycode
  2. 4.12 《硬啃设计模式》 第29章 行为型设计模式小结
  3. Vue实现仿音乐播放器14-实现搜索页面以及功能
  4. 计算机资产管理,▪ 资产管理
  5. 第十四周学习进度报告
  6. 目标检测之Mtcnn网络详解(人脸检测)
  7. UVA12541 LA6148 Birthdates【最值】
  8. (转)android拨打电话崩溃6.0以上实时动态权限申请
  9. 【预测模型】基于遗传算法优化最小二乘支持向量机lssvm实现数据预测matlab代码
  10. 外贸建站五大必备要领
  11. [html] 微软雅黑是有版权的,在页面中使用font-family:Microsoft YaHei会不会有版权问题呢?
  12. pandas_计算年化收益率
  13. 构建一阶谓词逻辑和有限域上多项式方程的同构
  14. java调起本地摄像头,利用openCV进行人脸识别(一)
  15. HTML5期末大作业:电影网站设计——我的电影(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  16. Android开发——贝塞尔曲线解析
  17. html5 驾考 答题样式,考驾照答题软件
  18. 使用php创建WebSocket服务
  19. HDU 献给杭电五十周年校庆的礼物
  20. hohohoho...^_^

热门文章

  1. 乡村少年宫计算机教师简介,乡村少年宫教师感言
  2. Calendar获取上个月第一天和最后一天,上周第一天和最后一天
  3. Navicat 将 psc备份文件还原
  4. PNG格式的证件照怎么转成JPG格式?教你一招轻松转换
  5. java定义静态常量_如何在Java中定义常量
  6. 360儿童手表显示服务器错误,360儿童卫士刷机失败怎么办 刷机方法
  7. 12306 抢票 python + selenium + chrome (一) 搜索和参考
  8. OpenWrt之DNS域名解析系统(/etc/resolv.conf)
  9. java 查询条件的封装_java封装前端查询条件通用版|chu
  10. 清华大学计算机科学学院刘钊,姚 骏-清华大学生命学院