机器学习-线性分类-softmax回归 做多分类-10
1. softmax回归
伯努利分布(0-1分布 二分类),我们采用Logistic回归(用sigmoid函数映射到 0-1之间 输出预测概率)建模。
那么我们应该如何处理多分类问题?(比如要进行邮件分类;预测病情属于哪一类等等)。对于这种多项式分布我们使用softmax回归建模。
什么是多项分布?
多项式分布的目标值yε{1,2,3,...,k};(其中k是类别种数)其概率分布为:
并且:
联合分布的概率函数为:于是,多项分布转变为指数分布族的推导如下:

注意:
代表属于某一类发生的次数

代表某一类发生的概率
公式继续推导:

其中:

我们的目标是要计算出

至此,我们就得到了softmax回归的公式:

任意一条样本xi都能计算出 对应 k个分类的 概率
注意:这里的theta(也就是待求解的模型参数)是一个k行n列的矩阵。 k行是因为有k个分类, n列是应为x有n个维度

softmax多分类的原理:

交叉上损失函数:

m条样本 落在 1-k 类 类别里面
落入1类里面的次数 对应的概率φ1
落入2类里面的次数 对应的概率φ2
...
落入k类里面的次数 对应的概率φk
全部相乘
取对数:


总结:
多分类 使用 one-vs-rest 将多分类拆解成多个二分类 分别输出属于某一类的概率
例如:x有4个维度 4类 拆开成 6个二分类 输出 p1 p2 p3 p4作出预测
求解参数个数 4 * 6 = 24
使用softmax 多项式回归
exp(theta_1 * Xi ) exp(theta_2 * Xi ) exp(theta_3 * Xi ) exp(theta_4 * Xi ) / 总和 输出概率做预测
theta_1 theta_2 ... theta_4
4*4 = 16个参数需要计算
机器学习-线性分类-softmax回归 做多分类-10的更多相关文章
- 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...
- 机器学习(2):Softmax回归原理及其实现
Softmax回归用于处理多分类问题,是Logistic回归的一种推广.这两种回归都是用回归的思想处理分类问题.这样做的一个优点就是输出的判断为概率值,便于直观理解和决策.下面我们介绍它的原理和实现. ...
- 《转》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 ...
- 机器学习之线性回归---logistic回归---softmax回归
在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...
- 机器学习——softmax回归
softmax回归 前面介绍了线性回归模型适用于输出为连续值的情景.在另一类情景中,模型输出可以是一个像图像类别这样的离散值.对于这样的离散值预测问题,我们可以使用诸如 softmax 回归在内的分类 ...
- sklearn实现多分类逻辑回归
sklearn实现多分类逻辑回归 #二分类逻辑回归算法改造适用于多分类问题1.对于逻辑回归算法主要是用回归的算法解决分类的问题,它只能解决二分类的问题,不过经过一定的改造便可以进行多分类问题,主要的改 ...
- 机器学习实战---决策树CART简介及分类树实现
https://blog.csdn.net/weixin_43383558/article/details/84303339?utm_medium=distribute.pc_relevant_t0. ...
- Softmax回归
Reference: http://ufldl.stanford.edu/wiki/index.php/Softmax_regression http://deeplearning.net/tutor ...
随机推荐
- 在Linux上部署.net Core 步骤以及遇到的一些问题
Linux安装部署手册 一.安装.NET Core SDK centos 7 系统命令为: sudo rpm -Uvh https://packages.microsoft.com/config/ce ...
- Ubuntu 下建立 eclipse 启动图标,解决ADT没有菜单栏问题(转载)
原文地址 怎么在这应用程序里边建立图标$sudo gedit /usr/share/applications/Eclipse.desktop输入以下代码 [Desktop Entry]Name=Ecl ...
- 调用含有header的WebService时,跳过证书验证
最近在做Webservice的接口调用,header的用户名和密码都是正确的,地址也是对的,但一直提示:基础连接已关闭,未能与SSL/TLS安全通道建立信任关系. 解决方案: 请求之前加上下面得代码即 ...
- 执行计划缓存,Prepared Statement性能跃升的秘密
摘要:一起看一下GaussDB(for MySQL)是如何对执行计划进行缓存并加速Prepared Statement性能的. 本文分享自华为云社区<执行计划缓存,Prepared Statem ...
- 网络性能总不好?网络调优专家AOE帮你来“看看”
摘要:为提升网络性能.降低人工调优成本,CANN推出了自动化网络调优工具AOE,通过子图调优.算子调优与梯度调优的功能,让网络可以在AI硬件上获得最佳性能. 本文分享自华为云社区<网络性能总不好 ...
- 云图说丨OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse
摘要:ClickHouse是俄罗斯公司 Yandex 在2016年开源的高性能.开源联机分析列式数据库管理系统.开源后,凭借卓越的分析性能.极好的线性扩展能力和丰富的功能,被业界公认为实时分析领域 O ...
- Solon2 开发之IoC,六、提取 Bean 的函数进行定制开发
为什么需要提取Bean的函数?绝不是闲得淡疼.比如:控制器的@Mapping:再比如:Xxl-Job的@XxlJob.这些都是要提取Bean的函数并定制加工的. 1.比如提取 @XxlJob 注解的函 ...
- Java Sprintboot jar 项目启动、停止脚本
将 vipsoft-gateway-1.0.0 替换成自己的包名 start-gateway-dev.sh nohup java -Duser.timezone=GMT+08 -Dfile.encod ...
- python jira 读取表数据批量新建子任务
小李在Jira中处理任务时,发现一个表格数据很有趣.他决定为每一行数据创建一个新的子任务.他复制粘贴,忙得不亦乐乎.同事小张路过,好奇地问:"你在做什么?"小李得意地回答:&quo ...
- 【Java 进阶】Java8 新特性的理解与应用
[进阶]Java8新特性的理解与应用 前言 Java 8是Java的一个重大版本,是目前企业中使用最广泛的一个版本. 它支持函数式编程,新的Stream API .新的日期 API等一系列新特性. 掌 ...