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可能属于的两个类分别称为负类和正类, ...
随机推荐
- .NET Core技术研究-HttpContext访问的正确姿势
将ASP.NET升级到ASP.NET Core之后,相信大家都会遇到HttpContext.Current无法使用的问题.这也是我们迁移ASP.NET Core必须解决的问题. 本文我们详细讨论一下, ...
- spring的ioc依赖注入的三种方法(xml方式)
常见的依赖注入方法有三种:构造函数注入.set方法注入.使用P名称空间注入数据.另外说明下注入集合属性 先来说下最常用的那个注入方法吧. 一.set方法注入 顾名思义,就是在类中提供需要注入成员的 s ...
- 支付宝小程序获取 user_id(openid) ThinkPHP版
支付宝小程序获取 user_id(openid) ThinkPHP版 近期支付宝小程序个人公测了,就想着玩一下,没想到就获取用户唯一标识都这么麻烦,微信的openid的话Get请求一下就完事了,支付宝 ...
- WSL下卸载了zsh / fish后无法启动bash解决方案
最近在鼓捣wsl,感觉自己用还是蛮好用的.听说1903要更新新的cmd,还蛮期待的 解决步骤: 建议先下载个everything , windows下非常好用的文件查找软件. 启动后搜索.bashrc ...
- 题解 P2070 【刷墙】
前言 \(ZHK\)私人博客体验更佳 这道题目,\(n<=10^5\),显然在暗示我们使用\(n \log n\)的做法,我就是用了一个简单的贪心,通过了此题. 正文 在这道题中,我们发现,可以 ...
- ASP.NET Core 核心特性--宿主、启动、中间件
宿主 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().R ...
- [单调栈] 2018-2019 ACM-ICPC, China Multi-Provincial Collegiate Programming Contest-Maximum Element In A Stack
题目:https://codeforces.com/gym/102222/problem/A Maximum Element In A Stack time limit per test 10.0 s ...
- [Java网络安全系列面试题] 说一说TCP和UDP的区别与联系?
TCP TCP是Transfer Control Protocol(传输控制协议)的简称,是一种面向连接的保证可靠传输的协议. 在TCP/IP协议中,IP层主要负责网络主机的定位,数据传输的路由,由I ...
- ATM 最初版
# 二 一个项目开发前,有一份开发文档 # # 项目: 编写小说阅读程序实现下属功能 # # # 一:程序运行开始时显示 # 0 账号注册 # 1 账号登录 # 2 充值功能 # 3 阅读小说 imp ...
- ArrayList 扩容 和 Vector
public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[siz ...