在下面的内容中,我们用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回归的更多相关文章

  1. TensorFlow实现Softmax回归(模型存储与加载)

    # -*- coding: utf-8 -*- """ Created on Thu Oct 18 18:02:26 2018 @author: zhen "& ...

  2. logistic回归和softmax回归

    logistic回归 在 logistic 回归中,我们的训练集由  个已标记的样本构成:.由于 logistic 回归是针对二分类问题的,因此类标记 . 假设函数(hypothesis functi ...

  3. 【深度学习】softmax回归——原理、one-hot编码、结构和运算、交叉熵损失

    1. softmax回归是分类问题 回归(Regression)是用于预测某个值为"多少"的问题,如房屋的价格.患者住院的天数等. 分类(Classification)不是问&qu ...

  4. Softmax回归

    Reference: http://ufldl.stanford.edu/wiki/index.php/Softmax_regression http://deeplearning.net/tutor ...

  5. Softmax回归(Softmax Regression)

    转载请注明出处:http://www.cnblogs.com/BYRans/ 多分类问题 在一个多分类问题中,因变量y有k个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件 ...

  6. DeepLearning之路(二)SoftMax回归

    Softmax回归   1. softmax回归模型 softmax回归模型是logistic回归模型在多分类问题上的扩展(logistic回归解决的是二分类问题). 对于训练集,有. 对于给定的测试 ...

  7. Machine Learning 学习笔记 (3) —— 泊松回归与Softmax回归

    本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 泊松回归 (Poisson ...

  8. Softmax 回归原理介绍

    考虑一个多分类问题,即预测变量y可以取k个离散值中的任何一个.比如一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件.由于y仍然是一个离散值,只是相对于二分类的逻辑回归多了一些类别.下面将根据多项 ...

  9. UFLDL教程(四)之Softmax回归

    关于Andrew Ng的machine learning课程中,有一章专门讲解逻辑回归(Logistic回归),具体课程笔记见另一篇文章. 下面,对Logistic回归做一个简单的小结: 给定一个待分 ...

随机推荐

  1. vue的组件传值

    1.父组件向子组件传值 父组件: 123456789101112 <template> <child :name="name"></child> ...

  2. pytorch之 compare with numpy

    import torch import numpy as np # details about math operation in torch can be found in: http://pyto ...

  3. Vue.js 计算属性computed和methods的区别

    在vue.js中,有methods和computed两种方式来动态当作方法来用的 如下: 两种方式在这种情况下的结果是一样的 写法上的区别是computed计算属性的方式在用属性时不用加(),而met ...

  4. 你们见过java类型转换,自己转自己失败的情况吗?很神奇的操作

    问题就是上面这个问题. List<SlaughterProductModelForm> slaughterProducts = slaughterForm.getSlaughterProd ...

  5. pycharm(迅雷下载链接)

    pycharm2020迅雷下载链接: https://download.jetbrains.com/python/pycharm-professional-2019.3.3.exe?_ga=2.146 ...

  6. Sunset-Sunrise: Vulnhub Walkthrough

    靶机链接: https://www.vulnhub.com/entry/sunset-sunrise,406/ 主机扫描: 端口扫描: HTTP 80 目录枚举未果 HTTP 8080 Google ...

  7. mysql数据库批量执行sql文件对数据库进行操作【windows版本】

    起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: ...

  8. centos7使用fdisk:创建和维护MBR分区表

    1.在VMware选择要添加硬盘的虚拟机,添加一块硬盘. 这样就有两块硬盘 2.重启虚拟机. cd /dev #dev是设备目录,下面有很多很多设备,其中就包含硬盘 ll grep | sd #过滤s ...

  9. 选择排序 C++实现

    实现思想: 1.寻找[i, n)区间里的最小值min ( i>= 0 ) 2.交换min和第i的数 ( i>= 0 ) #include <iostream> #include ...

  10. 使用ASP.NET Core 3.x 构建 RESTful API - 5.1 输入验证

    说到验证,那就需要做三件事: 定义验证规则 按验证规则进行检查 报告验证的错误.在把错误报告给API消费者的时候,报告里并不包含到底是服务端还是API消费者引起的错误,这是状态码的工作.而通常响应的B ...