softmax回归推导
向量\(y\)(为one-hot编码,只有一个值为1,其他的值为0)真实类别标签(维度为\(m\),表示有\(m\)类别):
\]
向量\(z\)为softmax函数的输入,和标签向量\(y\)的维度一样,为\(m\):
\]
向量\(s\)为softmax函数的输出,和标签向量\(y\)的维度一样,为\(m\):
\]
\]
交叉熵损失函数:
\]
损失函数对向量\(z\)中的每个\(z_i\)求偏导:
=-\sum_{j=1}^{m}\frac{y_j}{s_j}*\frac{\partial s_j}{\partial z_i}
\]
当j=i时:
=\frac{e^{z_i}*\sum_{k=1}^{m}e^{z_k}-e^{z_i}*e^{z_i}}{(\sum_{k=1}^{m}e^{z_k})^2}
=\frac{e^{z_i}}{\sum_{k=1}^{m}e^{z_k}}*\frac{\sum_{k=1}^{m}e^{z_k}-e^{z_i}}{\sum_{k=1}^{m}e^{z_k}}
=\frac{e^{z_i}}{\sum_{k=1}^{m}e^{z_k}}*(1-\frac{e^{z_i}}{\sum_{k=1}^{m}e^{z_k}})
=s_i*(1-s_i)
\]
当j!=i时:
=\frac{0*\sum_{k=1}^{m}e^{z_k}-e^{z_j}*e^{z_i}}{(\sum_{k=1}^{m}e^{z_k})^2}
=-\frac{e^{z_j}}{\sum_{k=1}^{m}e^{z_k}}*\frac{e^{z_i}}{\sum_{k=1}^{m}e^{z_k}}
=-s_js_i
\]
所以:
\]
损失函数对向量\(z\)中的每个\(z_i\)求偏导:
=-\sum_{j=1}^{m}\frac{y_j}{s_j}*\frac{\partial s_j}{\partial z_i}
=-(\frac{y_i}{s_i}*\frac{\partial s_i}{\partial z_i}+\sum_{j\neq{i}}^{m}\frac{y_j}{s_j}*\frac{\partial s_j}{\partial z_i})
=-(\frac{y_i}{s_i}*s_i(1-s_i)+\sum_{j\neq{i}}^{m}\frac{y_j}{s_j}*(-s_js_i))
\]
=-y_i+s_iy_i+\sum_{j\neq{i}}^{m}y_js_i
=-y_i+\sum_{j=1}^{m}y_js_i
=s_i-y_i
\]
softmax回归推导的更多相关文章
- Softmax回归推导过程
http://www.cnblogs.com/Deep-Learning/p/7073744.html http://www.cnblogs.com/lutingting/p/4768882.html ...
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...
- UFLDL深度学习笔记 (二)SoftMax 回归(矩阵化推导)
UFLDL深度学习笔记 (二)Softmax 回归 本文为学习"UFLDL Softmax回归"的笔记与代码实现,文中略过了对代价函数求偏导的过程,本篇笔记主要补充求偏导步骤的详细 ...
- Softmax回归
Reference: http://ufldl.stanford.edu/wiki/index.php/Softmax_regression http://deeplearning.net/tutor ...
- Softmax回归(Softmax Regression)
转载请注明出处:http://www.cnblogs.com/BYRans/ 多分类问题 在一个多分类问题中,因变量y有k个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件 ...
- Machine Learning 学习笔记 (3) —— 泊松回归与Softmax回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 泊松回归 (Poisson ...
- Softmax 回归原理介绍
考虑一个多分类问题,即预测变量y可以取k个离散值中的任何一个.比如一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件.由于y仍然是一个离散值,只是相对于二分类的逻辑回归多了一些类别.下面将根据多项 ...
- UFLDL教程(四)之Softmax回归
关于Andrew Ng的machine learning课程中,有一章专门讲解逻辑回归(Logistic回归),具体课程笔记见另一篇文章. 下面,对Logistic回归做一个简单的小结: 给定一个待分 ...
- Logistic回归(逻辑回归)和softmax回归
一.Logistic回归 Logistic回归(Logistic Regression,简称LR)是一种常用的处理二类分类问题的模型. 在二类分类问题中,把因变量y可能属于的两个类分别称为负类和正类, ...
随机推荐
- Python——项目-小游戏2-动画绘制
实现游戏循环还有事件的监听 在上一讲中 你需要完成这样的这样的效果, 如果你还没有完成,请不要继续往下阅读!!切记切记切记.,重要的事情说三遍 我们来看一下什么是游戏循环 所谓的游戏循环很好的理解 就 ...
- angular http 节流
有时候点列表但是由于查询问题,后端返回数据的速度很慢,导致回来的顺序错乱,后端解决不了,前端来 在jq年代 像标志位 防抖 节流等 在angular里使用了rxjs //错误示范 getIntelli ...
- div或者p标签单行和多行超出显示省略号
单行文本溢出显示省略号 overflow: hidden;text-overflow:ellipsis;white-space: nowrap;多行文本显示省略号 display: -webkit-b ...
- 包和访问权限修饰符,.单例设计模式,.Object类常用方法,.内部类
1.包和访问权限修饰符 1.1 包 为什么要导包? 将字节码文件(.class)文件进行分类存放 --->包 其实就是文件夹 import java.util.Arrays; 包的划分规则 方案 ...
- 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
数据查询 例: 一.单表查询 1.定义 是指仅涉及一个表的查询 2.选择表中的若干列 查询指定列 例: 查询全部列 例: 查询经过计算的值 例: 3.选择表中的若干元组 消除取值重复的行 例: 查询满 ...
- mysql两表合并,对一列数据进行处理
加班一时爽,一直加班~一直爽~ 欢迎收看http://www.996.icu/ 今天弄了下MySQL中两表合并的并且要处理一列数据,这列数据原来都是小写字母,处理时将这列数据改成驼峰命名的~~ 基本 ...
- 完整说明使用SpringBoot+js实现滑动图片验证
常见的网站验证方式有手机短信验证,图片字符验证,滑块验证,滑块图片验证.本文主要讲解的是滑块图片验证的实现流程.包括后台和前端的实现. 实现效果 使用的API java.awt.image.Buffe ...
- Redis学习笔记1-java 使用Redis(jedis)
一.远程操作Redis 1. 在windows环境下安装RedisDesktopManager 2. 打开RedisDesktopManager 3. Add New Connection 4. 右击 ...
- java并发安全
本次内容主要线程的安全性.死锁相关知识点. 1.什么是线程安全性 1.1 线程安全定义 前面使用8个篇幅讲到了Java并发编程的知识,那么我们有没有想过什么是线程的安全性?在<Java并发编程 ...
- 7.Maven命令
在eclipse中运行maven 一.首先要对pom.xml文件右键→Run As→Maven build 二.输入Maven命令 三.常见的Maven命令有: [1]clean 清理 [2]comp ...