机器学习之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从零开始的实现 获取训练集数据和测试集数据 模型参 ...
随机推荐
- RGB(204,204,204) 转 #cccccc
RGB 是十进制 ,转换成相应的十六进制即可. 例如 255 的十六进制 是 F ,204 的十六进制是 C (不区分大小写)
- css3的选择器有哪几种?
*通用选择器,ID选择器 ,.类选择器class,标签选择器,标签组合选择器,伪类选择器:,+相邻元素选择器,>子元素选择器,~同辈选择器,x[title]属性选择器[type="bu ...
- ubuntu18源码包安装openresty
author: headsen chen date : 2019-07-30 15:42:24 #在ubuntu18.04 环境下,openresty的依赖库有:PCRE.OpenSSL.zlib, ...
- Leetcode: Most Stones Removed with Same Row or Column
On a 2D plane, we place stones at some integer coordinate points. Each coordinate point may have at ...
- CentOS7搭建时间服务器-chrony
系统:centos7防火墙:关闭防火墙和selinux软件:chrony centos6我们一直用的ntp时间服务器,虽然到CentOS7上也可以装ntp.但是各种问题.所以建议centos7使用 ...
- WPF 插件开发(.NET Framework 3.5 System.Addin)
http://www.cnblogs.com/lc329857895/archive/2009/07/22/1528640.html http://www.cnblogs.com/huihui0630 ...
- netty5拆包问题解决实例
基于之前的例子(参见netty5自定义私有协议实例),我们修改下客户端handler,让发送的数据超过1024字节: NettyClientHandler: /** * 构造PCM请求消息体 * * ...
- 在 ServiceModel 客户端配置部分中,找不到引用协定“WebServiceSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素找不到与此协定匹配的终结点元素(转)
按语: 在项目中实现自动升级过程,在类库中调用webservice取升级update.xml文件,添加服务调用,但在类库中调用时就出现异常,但在简单的测试工程中没有问题.解决方法采用下面介绍的方法 在 ...
- 【计算机视觉】OpenCV篇(5) - 仿射变换与透视变换
参考: 图像处理的仿射变换与透视变换(https://www.imooc.com/article/27535) http://ex2tron.wang/opencv-python-extra-warp ...
- JS中search查找某些内容,正则表达式|查找分隔的任何项
JS中可以用indexOf来查找某个字符串里的某些内容的索引,也就是在字符串的位置.如果存在该字符串,会返回该字符串的索引,如果不存在会返回-1,可以通过某些内容的索引是否为-1判断是否存在该字符串. ...