【14】Softmax回归
在下面的内容中,我们用C来表示需要分的类数。
最后一层的隐藏单元个数为4,为所分的类的数目,输出的值表示属于每个类的概率。
Softmax函数的具体步骤如下图:
简单来说有三步:
计算z值(4×1矩阵)
将z作为指数,得到中间变量t(维度同z)
对t归一化,得到a(维度同t,同z)。
Softmax激活函数的特殊之处在于,输入一个向量,最后输出一个向量。
Softmax的示例
下面我们来来考虑一个只有输出层没有隐藏层的神经网络。
在这张图表中,我们所做的是选择图中的数据作为训练集,用数据的C种标签来训练Softmax分类器。图中的颜色显示了Softmax分类器的输出的阈值(输入的着色是基于三种输出中概率最高的那个)。
由此我们可以看出,Softmax回归是logistic回归的一般形式,有类似线性的决策边界,但有超过两个分类。
需要注意的是,以上所有的线都是线性决策边界,将数据分到C个类中。
Softmax的损失函数
损失函数的定义:
y是预期结果 y冒是实际结果
分割线下面的是向量化的实现,Y是所有样本的预期结果的集合,维度是(4,m)m是样本数,4是指的最后的输出结果向量是4维的。Y帽是所有样本的实际计算结果的集合。
梯度下降的实现
J对z[l]的梯度是y帽-y。z[l]的含义在上面,往上翻一下就能看见。是将z[l]代入到softmax分类器得到概率结果的。
但现有的深度学习框架不需要我们计算梯度了,只要我们完成正向传播,系统会自动实现反向传播。
【14】Softmax回归的更多相关文章
- TensorFlow实现Softmax回归(模型存储与加载)
# -*- coding: utf-8 -*- """ Created on Thu Oct 18 18:02:26 2018 @author: zhen "& ...
- logistic回归和softmax回归
logistic回归 在 logistic 回归中,我们的训练集由 个已标记的样本构成:.由于 logistic 回归是针对二分类问题的,因此类标记 . 假设函数(hypothesis functi ...
- 【深度学习】softmax回归——原理、one-hot编码、结构和运算、交叉熵损失
1. softmax回归是分类问题 回归(Regression)是用于预测某个值为"多少"的问题,如房屋的价格.患者住院的天数等. 分类(Classification)不是问&qu ...
- 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个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件 ...
- DeepLearning之路(二)SoftMax回归
Softmax回归 1. softmax回归模型 softmax回归模型是logistic回归模型在多分类问题上的扩展(logistic回归解决的是二分类问题). 对于训练集,有. 对于给定的测试 ...
- 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回归做一个简单的小结: 给定一个待分 ...
随机推荐
- Go语言实现:【剑指offer】连续子数组的最大和
该题目来源于牛客网<剑指offer>专题. HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向 ...
- kali重置root密码
像这样,kali系统的root密码忘记了,只需一分钟时间,快速重置root密码 第一步: 电脑开机后kali系统会进入引导界面,这是我们只需 “e” 进入启动前编辑命令(若系统没有出现这个页面,大家在 ...
- javascript HierarchicalTaskAnalysis-hta编程(.hta)
main.hta code: <script>window.resizeTo(400,300);</script> <head> <hta:applicat ...
- java虚拟机jvm启动后java代码层面发生了什么?
java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, ...
- nginx官网版本说明
nginx软件下载:http://nginx.org/en/download.html Mainline version:Nginx 正在主力开发的版本Stable version:最新稳定版,生产环 ...
- 花 1 小时,开源设计 LoRa 继电器开关
提示1:锐米所有 LoRa 产品严格遵循国标标准的 LoRaWAN 协议. 提示2:您可以免费复制,修改和商用本项目,请注明锐米原创. 提示3:如果您有其他 LoRa 需求或建议,欢迎联系锐米 sup ...
- redis教程-基础数据结构
需要整套redis缓存高可用集群教学视频的加qq:1324981084,本套视频从安装到集群的搭建和源码的解析,从零基础讲解. 一.Redis 有 5 种基础数据结构,分别为:string (字符串) ...
- codewars--js--Large Factorials--阶乘+大数阶乘
问题描述: In mathematics, the factorial of integer n is written as n!. It is equal to the product of n a ...
- npm/gulp/nodejs
npm淘宝镜像:https://npm.taobao.org/ vscode先安装npm淘宝镜像 再安装gulp:https://www.cnblogs.com/xiaoleiel/p/1116056 ...
- Kubernetes 部署 Nebula 图数据库集群
Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应 ...