softmax 可以理解为归一化,如目前图片分类有一百种,那经过 softmax 层的输出就是一个一百维的向量。向量中的第一个值就是当前图片属于第一类的概率值,向量中的第二个值就是当前图片属于第二类的概率值...这一百维的向量之和为1.

softmax的输入层和输出层的维度是一样的,如果不一眼,就在输入至 softmax 层之前通过一层全连接层。

激活函数softmax和损失函数会一起使用。
激活函数会根据输入的参数(一个矢量,表示每个分类的可能性),计算每个分类的概率(0, 1)。
损失函数根据softmax的计算结果y^和期望结果y,根据交叉熵方法(cross entropy loss) 可得到损失L

softmax函数

softmax:yti^=softmax(oti)=eoti∑keotkyt^=softmax(zt)=[⋯eoti∑keotk⋯]softmax′(zt)=∂yt∂zt={yti^(1−yti^),−yti^ytj^,if i=jif i≠j

证明

softmax′(zt)=∂yt^∂ztif i=j∂yti^∂otiif i≠j∂ytj^∂oti=(eoti∑keotk)′=(1−S∑keotk)′ // set S=∑k≠ieotk=(1−SS+eoti)′=S⋅eoti(S+eoti)2=SS+eoti⋅eotiS+eoti=SS+eoti⋅eotiS+eoti=(1−eotiS+eoti)⋅eotiS+eoti=(1−eoti∑keotk)⋅eoti∑keotk=(1−yti^)⋅yti^=(eotj∑keotk)′=(eotjS+eoti)′ // set S=∑k≠ieotk=−eotj⋅eoti(S+eoti)2=−eotjS+eoti⋅eotiS+eoti=−eotj∑keotk⋅eoti∑keotk=−ytj^⋅yti^(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)

什么是归一化?

数据归一化,就是将数据映射到[0,1]或[-1,1]区间或更小的区间,比如(0.1,0.9) 。

为什么要归一化处理?

<1>输入数据的单位不一样,有些数据的范围可能特别大,导致的结果是神经网络收敛慢、训练时间长。

<2>数据范围大的输入在模式分类中的作用可能会偏大,而数据范围小的输入作用就可能会偏小。

<3>由于神经网络输出层的激活函数的值域是有限制的,因此需要将网络训练的目标数据映射到激活函数的值域。例如神经网络的输出层若采用S形激活函数,由于S形函数的值域限制在(0,1),也就是说神经网络的输出只能限制在(0,1),所以训练数据的输出就要归一化到[0,1]区间。

<4>S形激活函数在(0,1)区间以外区域很平缓,区分度太小。例如S形函数f(X)在参数a=1时,f(100)与f(5)只相差0.0067。

人工神经网络之激活函数 -softmax函数相关推荐

  1. 人工神经网络之激活函数 -tanh函数

    tanh函数 tanh(x)=e2x−1e2x+1tanh′(x)=1−tanh(x)2 证明 ∂tanh(x)∂x=(1−2e2x+1)′=2⋅2e2x(e2x+1)2=4e2x(e2x+1)2=( ...

  2. 人工神经网络之激活函数 -RELU函数

    一句话概括:不用simgoid和tanh作为激活函数,而用ReLU作为激活函数的原因是:加速收敛. 因为sigmoid和tanh都是饱和(saturating)的.何为饱和?个人理解是把这两者的函数曲 ...

  3. 【神经网络】激活函数softmax,sigmoid,tanh,relu总结

    激活函数使用原因 如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合. 如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性 ...

  4. 人工神经网络之激活函数总结

    激活函数: 传统神经网络中最常用的两个激活函数,Sigmoid系(Logistic-Sigmoid.Tanh-Sigmoid)被视为神经网络的核心所在.从数学上来看,非线性的Sigmoid函数对中央区 ...

  5. What is the Softmax Function?详解机器学习中的Softmax函数【小白菜可懂】

    目录 定义 公式 计算 Softmax vs Sigmoid Softmax vs Sigmoid 计算 Softmax vs Argmax Softmax vs Argmax 计算 应用 神经网络中 ...

  6. softmax函数_数学证明深度学习激活函数从Softmax到Sparsemax

    Sparsemax封闭形式解及其损失函数的推导 本文目标是三个方面.第一部分讨论了sparsemax背后的动机及其与softmax的关系,首次介绍了该激活函数的原始研究论文摘要,以及使用sparsem ...

  7. DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想)

    DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想) 目录 输出结果 代码实现 输出结果 代码实现 #DL之NN:利用numpy ...

  8. 使用python构建三层神经网络、softmax函数

    [机器学习]使用python手写三层神经网络 输入层到第一层的传递表示 第一层到第二层的传递表示 第二层到第三层的传递表示 全过程传递表示代码 输入层到第一层的传递表示 首先看输入层到第一层的第一个神 ...

  9. 神经网络中的Softmax激活函数

    Softmax回归模型是logistic回归模型在多分类问题上的推广,适用于多分类问题中,且类别之间互斥的场合. Softmax将多个神经元的输出,映射到(0,1)区间内,可以看成是当前输出是属于各个 ...

最新文章

  1. SysAid 9.0 发布,增加移动设备管理功能
  2. Linux 3D 编程学习总结
  3. 这些Java代码优化细节,你需要注意!
  4. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能...
  5. 如何写_如何写博士论文?博士生如何写期刊论文?
  6. Intel(R) 处理器产品型号/CPUID标识/签名对照表 (Family Model)
  7. Node.js下载安装及各种npm、nvm、nrm配置(保姆式教程---提供全套安装包)---node.js的安装与配置(1)
  8. Lvs别样的自动部署监控shell脚本
  9. Mac 下配置XAMPP
  10. 学习笔记-模块之xml文件处理
  11. zepto在整个屏幕中左滑动右滑动
  12. ibmx系列服务器装系统,IBM X系列服务器 系统安装指南.pdf
  13. BarTender对单个二维码/文本添加多个域(数据库字段)/嵌入的数据,并对数据添加后缀等处理;扩展更多域
  14. Failed to instantiate [com.XXX.entity.People]
  15. 第八章 - 轮廓 - 查找轮廓、表示轮廓、绘制轮廓
  16. 海康摄像头SDK抓图计划
  17. Laravel中pluck的使用——返回指定的字段值信息列表
  18. ConvE:Convolutional 2D Knowledge Graph Embeddings
  19. 铱金属配合物Ir(dpbpa)2bphen+PF6-|Ir(dtbpa)3|Ir(dtq)2bpy+PF6-的合成
  20. 微信支付服务器system error,微信企业支付--遇到不明确结果的err_code:SYSTEMERROR,NOT_FOUND...

热门文章

  1. 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度
  2. 【详解】()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法。
  3. 软件测试部分练习题答案
  4. 17行代码AC——习题5-3 卡片游戏(Throwing cards away I, UVa 10935,约瑟夫环)_解题报告
  5. Here Document和Expect概述(免交互,变量设定,控制,注释,)(shell里使用EOF报错)
  6. linux fedora14 u盘运行,怎么把fedora 14 装进U盘里
  7. 幼儿园带括号算式口诀_幼儿园数学作业括号题型.doc
  8. pip 设置超时时间_pip install 超时
  9. Java中的DatagramPacket与DatagramSocket的初步
  10. 微型计算机最早出现在第三代计算机中,微型计算机最早出现在第三代计算机中。...