Softmax Function
Sigmoid Function
sigmoid(z)=11−e−zsigmoid(z)=11−e−z\operatorname {sigmoid} (z) = \dfrac {1} {1 - e ^{-z}}
Softmax Function
softmax(zi;Z)=ezi∑i=1nezi,1≤i≤nsoftmax(zi;Z)=ezi∑i=1nezi,1≤i≤n\operatorname {softmax} (z_i; Z) = \dfrac {e ^{z _{i}}} { \sum \limits_{i = 1} ^{n} e ^{z_i} } ,1 \le i \le n
即 softmax(Z)=eZ∥eZ∥1softmax(Z)=eZ‖eZ‖1\operatorname {softmax} (Z) = \dfrac {e ^{Z}} { \lVert e ^{Z} \rVert _{1} }
Relationship
n=2n=2n = 2 时, sigmoidsigmoid\operatorname {sigmoid} 与 softmaxsoftmax\operatorname {softmax} 等价。这是因为:
softmax(z1;Z)=ez1∑i=12ezisoftmax(z1;Z)=ez1∑i=12ezi\operatorname {softmax} (z _{1}; Z) = \dfrac {e ^{z _{1}}} { \sum \limits_{i = 1} ^{2} e ^{z _{i}} }
=ez1ez1+ez2=ez1ez1+ez2= \dfrac {e ^{z _{1}}} {e ^{z _{1}} + e ^{z _{2}} }
=11+e−(z1−z2)=11+e−(z1−z2)= \dfrac {1} {1 + e ^{- \left ( z _{1} - z _{2} \right ) }}
=sigmoid(z1−z2)=sigmoid(z1−z2)= \operatorname {sigmoid} \left ( z _{1} - z _{2} \right )
Gradient to Z[L]Z[L]Z ^{[L]}
loss(Y^,Y)=−∑i=1nyilnyi^loss(Y^,Y)=−∑i=1nyilnyi^\operatorname {loss} \left ( \hat Y, Y \right ) = - \sum \limits_{i = 1} ^{n} y_{i} \ln \hat {y_{i}}
=−∑i=1nyiln⎛⎝⎜⎜⎜ezi∑k=1nezk⎞⎠⎟⎟⎟=−∑i=1nyiln(ezi∑k=1nezk) = - \sum \limits_{i = 1} ^{n} y_{i} \ln \left ( \dfrac {e ^{z _{i}}} { \sum \limits_{k = 1} ^{n} e ^{z _{k}} } \right )
=−∑i=1nyizi+∑i=1nyiln(∑k=1nezk)=−∑i=1nyizi+∑i=1nyiln(∑k=1nezk) = - \sum \limits_{i = 1} ^{n} y_{i} z _{i} + \sum \limits_{i = 1} ^{n} y_{i} \ln \left ( \sum \limits_{k = 1} ^{n} e ^{z _{k}} \right )
=−∑i=1nyizi+ln(∑k=1nezk)∑i=1nyi=−∑i=1nyizi+ln(∑k=1nezk)∑i=1nyi = - \sum \limits_{i = 1} ^{n} y_{i} z _{i} + \ln \left ( \sum \limits_{k = 1} ^{n} e ^{z _{k}} \right ) \sum \limits_{i = 1} ^{n} y_{i}
=−∑i=1nyizi+ln(∑i=1nezi)=−∑i=1nyizi+ln(∑i=1nezi)= - \sum \limits_{i = 1} ^{n} y_{i} z _{i} + \ln \left ( \sum \limits_{i = 1} ^{n} e ^{z _{i}} \right )
因此
∂∂ziloss(Y^,Y)=−yi+ezi∑i=1nezi∂∂ziloss(Y^,Y)=−yi+ezi∑i=1nezi\dfrac {\partial}{\partial z _{i}} \operatorname {loss} \left ( \hat Y, Y \right ) = - y_{i} + \dfrac {e ^{z _{i}}} {\sum \limits_{i = 1} ^{n} e ^{z _{i}}}
=ezi∑i=1nezi−yi=ezi∑i=1nezi−yi= \dfrac {e ^{z _{i}}} {\sum \limits_{i = 1} ^{n} e ^{z _{i}}} - y_{i}
=softmax(zi;Z)−yi=softmax(zi;Z)−yi= \operatorname {softmax} (z_i; Z) - y_{i}
则 ∂∂Zloss(Y^,Y)=softmax(Z)−Y∂∂Zloss(Y^,Y)=softmax(Z)−Y\dfrac {\partial}{\partial Z} \operatorname {loss} \left ( \hat Y, Y \right ) = \operatorname {softmax} (Z) - Y
=Y^−Y=Y^−Y= \hat Y - Y
Gradient to Z[l]Z[l]Z ^{[l]}
由于 softmax(Z[l])=A[l]softmax(Z[l])=A[l]\operatorname {softmax} (Z ^{[l]}) = A ^{[l]}
则 ∂∂z[l]iloss(Y^,Y)=∑j=1n[l]∂∂a[l]jloss(Y^,Y)⋅∂∂z[l]ia[l]j∂∂zi[l]loss(Y^,Y)=∑j=1n[l]∂∂aj[l]loss(Y^,Y)⋅∂∂zi[l]aj[l]\dfrac {\partial}{\partial z _{i} ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) = \sum \limits_{j = 1} ^{n ^{[l]}} \dfrac {\partial}{\partial a _{j} ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) \cdot \dfrac {\partial}{\partial z _{i} ^{[l]} } a _{j} ^{[l]}
=∑j=1n[l]∂∂a[l]jloss(Y^,Y)⋅∂∂z[l]i⎛⎝⎜⎜⎜⎜ez[l]j∑k=1n[l]ez[l]k⎞⎠⎟⎟⎟⎟=∑j=1n[l]∂∂aj[l]loss(Y^,Y)⋅∂∂zi[l](ezj[l]∑k=1n[l]ezk[l])= \sum \limits_{j = 1} ^{n ^{[l]}} \dfrac {\partial}{\partial a _{j} ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) \cdot \dfrac {\partial}{\partial z _{i} ^{[l]} } \left ( \dfrac {e ^{z _{j} ^{[l]} }} { \sum \limits_{k = 1} ^{n^{[l]}} e ^{z_{k} ^{[l]} } } \right )
=∑j=1n[l]∂∂a[l]jloss(Y^,Y)⋅⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪ez[l]j∑k=1n[l]ez[l]k−(ez[l]j)2(∑k=1n[l]ez[l]k)2,⎡⎣⎢⎢⎢⎢⎢⎢−ez[l]jez[l]i(∑k=1n[l]ez[l]k)2⎤⎦⎥⎥⎥⎥⎥⎥,i=jotherwise=∑j=1n[l]∂∂aj[l]loss(Y^,Y)⋅{ezj[l]∑k=1n[l]ezk[l]−(ezj[l])2(∑k=1n[l]ezk[l])2,i=j[−ezj[l]ezi[l](∑k=1n[l]ezk[l])2],otherwise= \sum \limits_{j = 1} ^{n ^{[l]}} \dfrac {\partial}{\partial a _{j} ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) \cdot \begin{cases} \dfrac {e ^{z _{j} ^{[l]} } \sum \limits_{k = 1} ^{n^{[l]}} e ^{z_{k} ^{[l]} } - \left (e ^{z _{j} ^{[l]} } \right ) ^{2}} { \left ( \sum \limits_{k = 1} ^{n^{[l]}} e ^{z_{k} ^{[l]} } \right ) ^{2} }, & i = j \\ \left [ - \dfrac {e ^{z _{j} ^{[l]} } e ^{z _{i} ^{[l]} }} { {\left ( \sum \limits_{k = 1} ^{n^{[l]}} e ^{z_{k} ^{[l]} } \right )} ^2 } \right ] , & \text{otherwise} \end{cases}
=∑j=1n[l]∂∂a[l]jloss(Y^,Y)⋅softmax(z[l]j;Z[l])⋅{1−softmax(z[l]i;Z[l]),−softmax(z[l]i;Z[l]),i=jotherwise=∑j=1n[l]∂∂aj[l]loss(Y^,Y)⋅softmax(zj[l];Z[l])⋅{1−softmax(zi[l];Z[l]),i=j−softmax(zi[l];Z[l]),otherwise= \sum \limits_{j = 1} ^{n ^{[l]}} \dfrac {\partial}{\partial a _{j} ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) \cdot \operatorname {softmax} (z _{j} ^{[l]}; Z ^{[l]}) \cdot \begin{cases} 1 - \operatorname {softmax} (z _{i} ^{[l]}; Z ^{[l]}), & i = j \\ - \operatorname {softmax} (z _{i} ^{[l]}; Z ^{[l]}), & \text{otherwise} \end{cases}
因此
∂∂Z[l]loss(Y^,Y)=(I−softmax(Z[l])11×n[l])(∂∂A[l]loss(Y^,Y)∗softmax(Z[l]))∂∂Z[l]loss(Y^,Y)=(I−softmax(Z[l])11×n[l])(∂∂A[l]loss(Y^,Y)∗softmax(Z[l]))\dfrac {\partial}{\partial Z ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) = \left (I - \operatorname {softmax} (Z ^{[l]}) 1_{1 \times n ^{[l]}} \right ) \left ( \dfrac {\partial}{\partial A ^{[l]} } \operatorname {loss} \left ( \hat Y, Y \right ) * \operatorname {softmax} (Z ^{[l]}) \right )
Softmax Function相关推荐
- sigmoid function vs softmax function
DIFFERENCE BETWEEN SOFTMAX FUNCTION AND SIGMOID FUNCTION 二者主要的区别见于, softmax 用于多分类,sigmoid 则主要用于二分类: ...
- 机器学习笔记(十)——Logistic Function AND Softmax Function
一.说明 在逻辑回归和一些机器学习算法中, Logistic函数和Softmax函数是常用到的,今天就先讨论下这两个函数. 二.Logistic Function Logistic function一 ...
- What is the Softmax Function?详解机器学习中的Softmax函数【小白菜可懂】
目录 定义 公式 计算 Softmax vs Sigmoid Softmax vs Sigmoid 计算 Softmax vs Argmax Softmax vs Argmax 计算 应用 神经网络中 ...
- 激活函数之softmax介绍及C++实现
下溢(underflow):当接近零的数被四舍五入为零时发生下溢.许多函数在其参数为零而不是一个很小的正数时才会表现出质的不同.例如,我们通常要避免被零除或避免取零的对数. 上溢(overflow): ...
- 干货 | 浅谈 Softmax 函数
点击上方"视学算法",马上关注 真爱,请设置"星标"或点个"在看" 来自 | 知乎 作者 | LinT 链接丨https://zhuan ...
- 解决softmax后列和不为1的bug记录 :问题原因为 s为1维的,来除torch.exp(x)(64x10)时候,维数不对应,需要将s也要转换为2维的即维数为(64x1),才可以广播按行对应相除
def softmax(x): ## TODO: Implement the softmax function here #print("torch.exp(x)=" ...
- Softmax vs. SoftmaxWithLoss 推导过程
Softmax vs. SoftmaxWithLoss Softmax function: Softmax Loss function(cross-entropy): SoftmaxWithLoss的 ...
- softmax函数_干货 | 浅谈 Softmax 函数
点击上方"视学算法",马上关注 来自 | 知乎 作者 | LinT链接丨https://zhuanlan.zhihu.com/p/79585726编辑 | 深度学习这件小事公众号仅 ...
- 探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 刚看到一个有意思的结论: 对于任意实数 x 及偶数 n,总有 ,即 的偶次泰勒展开式总是正的. 下面我们来 ...
- 关于softmax loss这个概念
注意: 网上有很多softmax loss全称指的是:softmax layer with cross entropy loss. 但是: softmax layer with cross entro ...
最新文章
- 【新技术】不用开发者账号申请ios证书真机调试
- HDU3507 Print Article —— 斜率优化DP
- iOS 利用长按手势移动 Table View Cells
- html 星空效果,使用css实现星空效果!
- adobe 书签怎么设置_让我们设置一些规则…没有Adobe Analytics处理规则
- js Ajax跨域访问
- 《Java学习指南》—— 1.4 设计安全
- Python笔记-UiSelector中resourceId定位方式
- ubuntu下编译安装mysql记录
- 深度学习必备的几款流行网络与数据集
- SpringBoot学习(第一天)
- C语言基础选择题100道(附答案)01
- chrome浏览器小恐龙自动跑
- 创业之前必须要做的八个测试(上)
- python二级题库(百分之九十原题) 刷题软件推荐 第六套
- java角谷_[蓝桥杯]角谷猜想问题
- 图论3之图的最短路径算法
- (C)输入一个字符串(串长不超过60),删除字符串中所有的空格符
- SLAM代码(SVO ros )
- flowable-ui(v6.7.2)简单的请假流程审批操作(一)
热门文章
- NeHe OpenGL第九课:移动图像
- ERP选型需把握主动权!
- Web2.0:天使投资与VC的竞技场
- Spring的bean管理(注解创建对象)
- 安装MySQL出现 Install/Remove of the Service Denied!
- 无法发送电子邮件,可能原因:您的主机禁用了mail()函数
- 悟空 mobile.php,悟空CRM无需任何权限的SQL注入漏洞2(ThinkPHP特性)
- ping 代理_linux命令行代理神器-proxychains
- oracle创建默认序列号,PLS-00103:为序列号oracle创建触发器(PLS-00103: Create trigger for sequence number oracle)...
- JMETER安装中遇到的问题(not able to find Java executable or version.Please check your java installation)