讨论最简单情况:

以神经网络为例:

假设在softmax层,输入的数据是N维的一维数组,输出结果是多分类的各个概率,假设为C类。

--1. input: x --> import data with dimension N, can be writen as ,  in neural network, means the last hidden layer output.

W, b --> the affine weight with shape:(N, C) and (C, )

y --> the target label of the data, the value of y is in (0, C-1). I will transform y to be an one-hot vector. In the form .

--2: Derivation

定义隐层输出为.

定义损失函数:

求反向传播参数dx, dW:

这里我把它变成求中间变量dz, 然后用dz 推导dx, dW.

So:

where:

改写成:

, one-hot 性质决定了结果中实际只有一个值有效。因此这个形式可以化简成其中为1的那项。

同理可以求出其他z,然后根据z求出dx, dW.

欢迎讨论!

Softmax Derivation相关推荐

  1. 理解 softmax 和 NLL 损失函数 (the negative log-likelihood) 以及求导过程

    本文转载自 https://ljvmiranda921.github.io/notebook/2017/08/13/softmax-and-the-negative-log-likelihood/ 有 ...

  2. pytorch之expand,gather,squeeze,sum,contiguous,softmax,max,argmax

    目录 gather squeeze expand sum contiguous softmax max argmax gather torch.gather(input,dim,index,out=N ...

  3. PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数...

    1.softmax 函数 Softmax(x) 也是一个 non-linearity, 但它的特殊之处在于它通常是网络中一次操作. 这是因为它接受了一个实数向量并返回一个概率分布.其定义如下. 定义 ...

  4. 机器学习入门(13)— Affine 仿射层、Softmax 归一化指数函数层实现

    1. 一维 Affine 仿射层 我们回顾下之前为了计算加权信号的总和,使用了矩阵的乘积运算 NumPy 中是 np.dot() , 参照代码如下: In [7]: X = np.random.ran ...

  5. 机器学习入门(06)— 输出层多元分类、softmax 归一化指数函数以及输出层的神经元数量

    输出层所用的激活函数,要根据求解问题的性质决定.一般地, 回归问题可以使用恒等函数,也就是说会将输入按原样输出: 二元分类问题可以使用 sigmoid 函数: 多元分类问题可以使用 softmax 函 ...

  6. Deep Learning 学习随记(三)续 Softmax regression练习

    上一篇讲的Softmax regression,当时时间不够,没把练习做完.这几天学车有点累,又特别想动动手自己写写matlab代码 所以等到了现在,这篇文章就当做上一篇的续吧. 回顾: 上一篇最后给 ...

  7. logisitic和softmax函数

    1,logistic函数 其实logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线.logistic函数的公式形式如下: 其中,x0表示了函数曲线的中心(si ...

  8. 激活函数之softmax介绍及C++实现

    下溢(underflow):当接近零的数被四舍五入为零时发生下溢.许多函数在其参数为零而不是一个很小的正数时才会表现出质的不同.例如,我们通常要避免被零除或避免取零的对数. 上溢(overflow): ...

  9. 今日头条李磊等最新论文:用于文本生成的核化贝叶斯Softmax

    译者 | Raku 出品 | AI科技大本营(ID:rgznai100) 摘要 用于文本生成的神经模型需要在解码阶段具有适当词嵌入的softmax层,大多数现有方法采用每个单词单点嵌入的方式,但是一个 ...

最新文章

  1. 经常用得到的安卓数据库基类
  2. 操作系统结构-单体内核结构
  3. 装个Redmine真是麻烦啊
  4. 程序员学习网站备份(小众+不定时更新ing...)建议收藏
  5. 标识符的命名规定java 0126
  6. extern C用法详解
  7. Matplotlib Line2D设置
  8. 跨域-(jsonp cors)
  9. 查询oracle表空间有什么数据,oracle查询表空间使用情况与查询有哪些数据库实例在运行...
  10. Bailian2977 生理周期【枚举+中国剩余定理】
  11. 本地存储Sqlite的用法:
  12. 详解2进制,10进制,16进制,8进制,36进制
  13. 未来大龄程序员出路有哪些?
  14. SpringBoot使用爬虫(初级阶段)
  15. Columns函数:返回数据表区域的总列数。
  16. 【2017今日头条】头条校招(JAVA)
  17. dsf5.0获取嵌入页面的数据
  18. 魔兽世界怀旧服务器无限刷怪点,魔兽世界怀旧服法师A怪升级路线地点 法师刷怪速升60全攻略...
  19. mysql not exists无效_MySQL MATCH AGAINST无效
  20. 日语计算机专业学生自我介绍,计算机系毕业生的自我介绍

热门文章

  1. Tomcat可以在eclipse里启动,可是不能訪问首页的问题
  2. Linux 基本命令(自学笔记)
  3. 线性回归的从零开始实现-08-p3
  4. Oracle IO问题解析(一)
  5. 【图】二分图最大权匹配
  6. LeetCode-179:数组自动排序工具Arrays.sort(),比较器Comparator的正确打开方式
  7. outermost shell_outermost是什么意思_outermost怎么读_outermost翻译_用法_发音_词组_同反义词_最外面的_离中心最远的-新东方在线英语词典...
  8. 【转载】什么时候该选C语言实现业务逻辑,什么时候该选Python?
  9. 从二进制数据流中构造GDAL可以读取的图像数据(C#)
  10. 使用阿富汗和巴基斯坦地区的SRTM数据生成山体阴影和彩色地形图