前言:softmax中的求导包含矩阵与向量的求导关系,记录的目的是为了回顾。

  下图为利用softmax对样本进行k分类的问题,其损失函数的表达式为结构风险,第二项是模型结构的正则化项。

  首先,每个queue:x(i)的特征维度是 n , 参数 θ 是一个 n×k 的矩阵,输出的结果 y(i) 为一个 k×1 的向量,其中第 j 个元素对应元素的 e 指数为该 queue 属于第 j 类的概率(未归一化)。所以虽然损失函数 J(θ) 是一个常数,但是它的自变量为一个矩阵 Θ 和 一个特征向量 x(i) ,这就牵涉到本文的重难点:矩阵、向量以及变量之间的求导。

  更新 θj 的过程就是标量 J(θ) 对向量  θj 求导的过程,向量对标量求导的具体方式不想写,结论见文末,参考(https://blog.csdn.net/daaikuaichuan/article/details/80620518)。

  

  第一项的求导过程:

    将与 j 无关的乘项(-1/m)×∑i ×1{ j } 拉到最前面,对log中内容做变换得到((θj×x(i))) - log(∑L)。前者根据变量对向量求导可以得到为x(i),后者根据链式法则可以求出为{ [exp(θj*x(i)] / ∑L}* x(i), 与前面的项相乘就可以得到下式中的第一项。

  第二项为 Θ 中所有列向量二范数之和,可以写成 ∑θjTθj ,其中与 θj 有关的内容为 θjTθj ,求导后为  2θj 。求导的结果为第二项。

   J(θ) 对 θj 求导的结果如文中第二式。

标量对向量求导

向量对标量求导

向量对向量求导

softmax 损失函数求导过程的更多相关文章

  1. Deep Learning基础--Softmax求导过程

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

  2. softmax交叉熵损失函数求导

    来源:https://www.jianshu.com/p/c02a1fbffad6 简单易懂的softmax交叉熵损失函数求导 来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福 ...

  3. 【转载】softmax的log似然代价函数(求导过程)

    全文转载自:softmax的log似然代价函数(公式求导) 在人工神经网络(ANN)中,Softmax通常被用作输出层的激活函数.这不仅是因为它的效果好,而且因为它使得ANN的输出值更易于理解.同时, ...

  4. 深度学习:Sigmoid函数与损失函数求导

    1.sigmoid函数 ​ sigmoid函数,也就是s型曲线函数,如下: 函数: 导数: ​ 上面是我们常见的形式,虽然知道这样的形式,也知道计算流程,不够感觉并不太直观,下面来分析一下. 1.1 ...

  5. 简单易懂的softmax交叉熵损失函数求导

    参考: https://blog.csdn.net/qian99/article/details/78046329

  6. Logistic回归中损失函数求导证明过程

  7. softmax分类器+cross entropy损失函数的求导

    softmax是logisitic regression在多酚类问题上的推广,\(W=[w_1,w_2,...,w_c]\)为各个类的权重因子,\(b\)为各类的门槛值.不要想象成超平面,否则很难理解 ...

  8. 【机器学习】BP & softmax求导

    目录 一.BP原理及求导 二.softmax及求导 一.BP 1.为什么沿梯度方向是上升最快方向     根据泰勒公式对f(x)在x0处展开,得到f(x) ~ f(x0) + f'(x0)(x-x0) ...

  9. 【机器学习基础】对 softmax 和 cross-entropy 求导

    目录 符号定义 对 softmax 求导 对 cross-entropy 求导 对 softmax 和 cross-entropy 一起求导 References 在论文中看到对 softmax 和 ...

随机推荐

  1. .NET MVC+angular导入导出

    cshtml: <form class="form-horizontal" id="form1" role="form" ng-sub ...

  2. 详解angular2组件中的变化检测机制(对比angular1的脏检测)

    组件和变化检测器 如你所知,Angular 2 应用程序是一颗组件树,而每个组件都有自己的变化检测器,这意味着应用程序也是一颗变化检测器树.顺便说一句,你可能会想.是由谁来生成变化检测器?这是个好问题 ...

  3. spring-data-mongodb与mongo shell的对应关系

    除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...

  4. hadoop.create.0.1

    #!/bin/shexit 0 linux单机分布式实验环境数据策略#数据:不同源  -v ,link 各自独立的文件夹#配置:同源,写时复制  存于docker images#程序体,基本不改变.或 ...

  5. Nim函数调用的几种形式

    Nim函数调用的几种形式 Nim 转载条件:如果你需要转载本文,你需要做到完整转载本文所有的内容,不得删改文内的作者名字与链接.否则拒绝转载. 关于nim的例行介绍: Nim 是一门静态编译型的系统级 ...

  6. 通过Mybatis原始Dao来实现curd操作

    环境的配置见我上一篇博客. 首先,在上一篇博客中,我们知道,SqlSession中封装了对数据库的curd操作,通过sqlSessionFactory可以创建SqlSession,而SqlSessio ...

  7. 函数QFileSystemModelPrivate::_q_fileSystemChanged

    由于Qt的体系过于庞大,即使是某个模块,分析起来也十分困难.对于QFileSystemModel,我们在这里对单个重要函数慢慢分析 1 /*! \internal The thread has rec ...

  8. HttpInvoker客户端动态调用Demo

    private static <T> T getHttpInvokerService(String serverUrl, Class<T> serviceInterface) ...

  9. Python_02

    Python 判断语句  if,while if ture: print(1) else: print(0) for循环和内嵌函数range() range(a,b,c)   a:起始位置  b:终止 ...

  10. 2018-软工机试-C-和你在一起

    C. 和你在一起 单点时限: 1.0 sec 内存限制: 256 MB 我想和你在一起 直到我不爱你 宝贝 人和人 一场游戏 我愿意为你死去 如果我还爱你 宝贝 反正活着 也没意义 宝贝 我也只能 这 ...