LR多分类推广 - Softmax回归*
LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果。一般来说,可以采取的拆分策略有:
one vs one策略
假设我们有N个类别,该策略基本思想就是不同类别两两之间训练一个分类器,这时我们一共会训练出种不同的分类器。在预测时,我们将样本提交给所有的分类器,一共会获得N(N+1)个结果,最终结果通过投票产生。
one vs all策略
该策略基本思想就是将第i种类型的所有样本作为正例,将剩下的所有样本作为负例,进行训练得到一个分类器。这样我们就一共可以得到N个分类器。在预测时,我们将样本提交给所有的分类器,一共会获得N个结果,我们选择其中概率值最大的那个作为最终分类结果。
softmax回归
softmax是LR在多分类的推广。与LR一样,同属于广义线性模型。什么是Softmax函数?假设我们有一个数组A,表示的是数组A中的第i个元素,那么这个元素的Softmax值就是
也就是说,是该元素的指数,与所有元素指数和的比值。那么 softmax回归模型的假设函数又是怎么样的呢?
由上式很明显可以得出,假设函数的分母其实就是对概率分布进行了归一化,使得所有类别的概率之和为1;也可以看出LR其实就是K=2时的Softmax。在参数获得上,我们可以采用one vs all策略获得K个不同的训练数据集进行训练,进而针对每一类别都会得到一组参数向量。当测试样本特征向量
输入时,我们先用假设函数针对每一个类别
估算出概率值
。因此我们的假设函数将要输出一个K维的向量(向量元素和为1)来表示K个类别的估计概率,我们选择其中得分最大的类别作为该输入的预测类别。Softmax看起来和one vs all 的LR很像,它们最大的不同在与Softmax得到的K个类别的得分和为1,而one vs all的LR并不是。
softmax的代价函数
类似于LR,其似然函数我们采用对数似然,故:
加入正则项的损失函数为:
此处的为符号函数。对于其参数的求解过程,我们依然采用梯度下降法。
softmax的梯度的求解
正则化项的求导很简单,就等于,下面我们主要讨论没有加正则项的损失函数的梯度求解,即
的导数(梯度)。为了使得求解过程看起来简便、易于理解,我们仅仅只对于一个样本(x,y)情况(SGD)进行讨论,
此时,我们令
可以得到
故:
所以,正则化之后的损失函数的梯度为
然后通过梯度下降法最小化 ,我们就能实现一个可用的 softmax 回归模型了。
多分类LR与Softmax回归
有了多分类的处理方法,那么我们什么时候该用多分类LR?什么时候要用softmax呢?
总的来说,若待分类的类别互斥,我们就使用Softmax方法;若待分类的类别有相交,我们则要选用多分类LR,然后投票表决。
LR多分类推广 - Softmax回归*的更多相关文章
- Machine Learning 学习笔记 (3) —— 泊松回归与Softmax回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 泊松回归 (Poisson ...
- 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模 ...
- 家乐的深度学习笔记「4」 - softmax回归
目录 softmax回归 分类问题 softmax回归模型 softmax运算 矢量表达式 单样本分类的矢量计算表达式 小批量样本分类的矢量计算表达式 交叉熵损失函数 模型预测及评价 图像分类数据集( ...
- 《转》Logistic回归 多分类问题的推广算法--Softmax回归
转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...
- Softmax回归——logistic回归模型在多分类问题上的推广
Softmax回归 Contents [hide] 1 简介 2 代价函数 3 Softmax回归模型参数化的特点 4 权重衰减 5 Softmax回归与Logistic 回归的关系 6 Softma ...
- 逻辑回归,多分类推广算法softmax回归中
转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...
- Softmax回归(Softmax Regression, K分类问题)
Softmax回归:K分类问题, 2分类的logistic回归的推广.其概率表示为: 对于一般训练集: 系统参数为: Softmax回归与Logist ...
- 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...
- Logistic回归(逻辑回归)和softmax回归
一.Logistic回归 Logistic回归(Logistic Regression,简称LR)是一种常用的处理二类分类问题的模型. 在二类分类问题中,把因变量y可能属于的两个类分别称为负类和正类, ...
随机推荐
- GCD之barrier
1.在并行队列执行任务中,如果想让某一个任务先执行完后再执行其后面的任务,此时可以用dispatch_barrier_async,下图是dispatch_barrier_async函数的处理流程. 2 ...
- window、linux系统与linux服务器之间使用svn同步及自动部署代码的方法
摘要: 在家用PC,在公司用办公电脑对一个项目的代码进行修改时,会遇到代码同步的问题.本文讲解了代码同步及自动部署的解决办法. 实现方法: 1.首先在linux服务器上和linux上安装svn(sud ...
- 设计模式学习之“观察者模式” [C#]
<深入浅出设计模式>学习笔记第二章 需求: 开发一套气象监测应用,如图: 气象站,目前有三种装置,温度.湿度和气压感应装置. WeatherData对象追踪气象站的数据,并更新到布告板,布 ...
- DOM中的parentNode总结
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 教你ASP.NET中如何防止注入攻击
你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程序中提供表单字段,查询字串,客户端cookies和浏览器环境值比如用户代理字串和IP地址等. 弱输入校验通常为注 ...
- 【转】 Python subprocess模块学习总结
从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn*.os.popen*.popen2.*.comman ...
- Jquery仿京东分类导航层简单实现
<script src="/js/jquery-1.11.1.min.js" type="text/javascript"></script& ...
- python codis集群客户端(一) - 基于客户端daemon探活与服务列表维护
在使用codis时候,我们遇到的场景是,公司提供了HA的Proxy(例如N个),但是不暴露zookeeper(也就是说没有codis后端服务列表). 如果暴露zk的话,可以看这一篇,http://ww ...
- jquery系列教程6-ajax的应用全解
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- MySQL(十五)之数据备份中mysqldump详解
前言 其实前面一篇数据备份已经是非常的详细了,这里我想单独的讲解一下mysqldump,相信很多程序员都是用过这个命令的! 一.MySQL数据库的备份与还原 1.1.MySQL数据库备份 1)语法 m ...