机器学习之softmax回归笔记
本次笔记绝大部分转自https://www.cnblogs.com/Luv-GEM/p/10674719.html
softmax回归
Logistic回归是用来解决二类分类问题的,如果要解决的问题是多分类问题呢?那就要用到softmax回归了,它是Logistic回归在多分类问题上的推广。此处神经网络模型开始乱入,softmax回归一般用于神经网络的输出层,此时输出层叫做softmax层。
1、softmax函数
首先介绍一下softmax函数,这个函数可以将一个向量(x1,x2,...,xK)映射为一个概率分布(z1,z2,...,zK),它将数据的范围映射到(0,1)区间:
那么在多分类问题中,假设类别标签y∈{1, 2, ..., C}有C个取值,那么给定一个样本x,softmax回归预测x属于类别c的后验概率为:
其中wc是第c类的权重向量。
那么样本x属于C个类别中每一个类别的概率用向量形式就可以写为:
其中W=[w1,w2,...,wC]是由C个类的权重向量组成的矩阵,1表示元素全为1的向量,得到是由所有类别的后验概率组成的向量,第c个元素就是预测为第c类的概率,比如[0.05, 0.01, 0.9, 0.02, 0.02],预测为第3类。
2、softmax回归的损失函数和梯度下降
one-hot向量:[0,0,0,1,0,...,0,0]这个向量就表示第四个类别标签,1所在的位置就是那个位置的类标签,其它全设置为0。
假设训练数据集为{(x1,y1),(x2,y2),...(xM, yM)},即有M个样本,softmax回归使用交叉熵损失函数来学习最优的参数矩阵W,对样本进行分类。
由于涉及到多分类,所以损失函数的表示方法稍微复杂一些。我们用C维的one-hot向量y来表示类别标签。对于类别c,其向量表示为:
其中表示指示函数。
则softmax回归的交叉熵损失函数为:
其中表示样本预测为每个类别的后验概率组成的向量。
上面这个式子不太好理解,我们单独拿出一个样本来观察。假设类别有三类,预测一个样本x属于第2类的交叉熵损失为,其中,如果预测正确,如,则交叉熵损失为,而如果预测错误,如,则交叉熵损失为,可见预测错误时损失非常大。
同样的,用梯度下降法对损失函数进行优化求解,首先得到损失对参数向量W的梯度:
初始化W0=0,然后对所有参数WC进行迭代更新,直至收敛。
参考资料:
1、吴恩达:《机器学习》
2、邱锡鹏:《神经网络与深度学习》
3、 https://blog.csdn.net/u010867294/article/details/79138603
机器学习之softmax回归笔记的更多相关文章
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...
- 机器学习之线性回归---logistic回归---softmax回归
在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...
- UFLDL深度学习笔记 (二)SoftMax 回归(矩阵化推导)
UFLDL深度学习笔记 (二)Softmax 回归 本文为学习"UFLDL Softmax回归"的笔记与代码实现,文中略过了对代价函数求偏导的过程,本篇笔记主要补充求偏导步骤的详细 ...
- Machine Learning 学习笔记 (3) —— 泊松回归与Softmax回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 泊松回归 (Poisson ...
- 【机器学习】Softmax 和Logistic Regression回归Sigmod
二分类问题Sigmod 在 logistic 回归中,我们的训练集由 个已标记的样本构成: ,其中输入特征.(我们对符号的约定如下:特征向量 的维度为 ,其中 对应截距项 .) 由于 logis ...
- 机器学习(2):Softmax回归原理及其实现
Softmax回归用于处理多分类问题,是Logistic回归的一种推广.这两种回归都是用回归的思想处理分类问题.这样做的一个优点就是输出的判断为概率值,便于直观理解和决策.下面我们介绍它的原理和实现. ...
- 机器学习(三)—线性回归、逻辑回归、Softmax回归 的区别
1.什么是回归? 是一种监督学习方式,用于预测输入变量和输出变量之间的关系,等价于函数拟合,选择一条函数曲线使其更好的拟合已知数据且更好的预测未知数据. 2.线性回归 于一个一般的线性模型而言,其 ...
- UFLDL教程笔记及练习答案三(Softmax回归与自我学习***)
:softmax回归 当p(y|x,theta)满足多项式分布,通过GLM对其进行建模就能得到htheta(x)关于theta的函数,将其称为softmax回归. 教程中已经给了cost及gradie ...
- 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...
随机推荐
- Cheat Engine TUTORIAL 教程 (8个步骤)
https://www.cnblogs.com/ae6623/archive/2011/04/16/4416874.html https://www.52pojie.cn/thread-828030- ...
- 文献阅读 - Genome-wide consequences of deleting any single gene
现在在做单基因敲除后的转录组数据分析,一个显而易见却又百思不得其解的问题出现了: 为什么敲掉一个基因会导致其他那么多基因的表达发生了变化,甚至是其他很多调控基因(转录因子)? 我敲掉的只是一个普通基因 ...
- oracle导入提示“IMP-00010:不是有效的导出文件,头部验证失败”的解决方案
这是由于导出的dmp文件与导入的数据库的版本不同造成的用Notepad++查看了dmp文件,在头部具修改成你将导入目标数据库的版本号以下对应的版本号: 11g R2:V11.02.00 11g R1: ...
- Linux ps -ef vs. ps aux(ps -aux)
ps aux.ps -aux.ps -ef之间的区别 - wynter_的博客 - CSDN博客 https://blog.csdn.net/wynter_/article/details/73825 ...
- nginx高级玩法之根据来源ip分流
author :headsen chen date : 2019-08-15 16:37:05 notice :个人原创 需求:根据不同的请求的来源ip实现分流到不同的后端上去 方法一:1,在s ...
- 测试一下windowsLiveWriter
一个是看看这个东西能不能发布出博客,还有一个就是准备开始写博客了,所以随便写个作为开始吧,我不想多说什么目标啊,什么的,所以就这一句简单的一句话就够了.
- python 抓取数据 存入 excel
import requestsimport datetimefrom random import choicefrom time import timefrom openpyxl import loa ...
- 泡泡一分钟:Semi-Dense Visual-Inertial Odometry and Mapping for Quadrotors with SWAP Constraints
张宁 Semi-Dense Visual-Inertial Odometry and Mapping for Quadrotors with SWAP Constraints 具有SWAP约束的四旋翼 ...
- mybatis typeHandler类型转换器
typeHandler类型转换器 在JDBC中,需要在PreparedStatement对象中设置那些已经预编译过的SQL语句的参数.执行SQL后,会通过ResultSet对象获取得到数据库的数据,而 ...
- WINDOWS配置WSUS。
wsus的注册表文件! Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows ...