博客
关于我
softmax算法——处理分类问题
阅读量:178 次
发布时间:2019-02-28

本文共 732 字,大约阅读时间需要 2 分钟。

一 介绍
softmax基本可以算是分类任务的标配。本篇介绍softmax是什么,以及softmax图解和举例。
二 什么是softmax
现实生活中需要对某一问题进行多种分类,例如对图片进行分类的例子,这时就需要使用softmax算法。
softmax,就是如果判断输入属于某一个类的概率大于属于其他类的概率,那么这个类对应的值就逼近于1,其他类的值就逼近于0.该算法主要应用就是多分类,而且是互斥的,即只能属于其中的一个类。与sigmoid类的激活函数不同的是,一般的激活函数值只能分两类,所以可以理解Softmax是Sigmoid类的激活函数的扩展,其定义如下:
假设我们有一个数组V,Vi表示V中的第i个元素,那么这个元素的Softmax值就是
也就是说,是该元素的指数,与所有元素指数和的比值,所有比值之和能保证总和为1
三 图解公式
四 举例
某个样本经过生成的值为y1为5,y2为3,y3为2,那么对于的概率y1=5/10=0.5.y2=3/10,y3=2/10,于是取最大值的值y1为最终分类。
softmax在机器学习中有非常广泛的应用,MNIST的每一张图都表示一个数字,从0到9.我们希望得到给定图片代表某个数字的概念。例如,训练的模型可能推测一张包含9的图片代表9的概念未80%,但是判断8的概念为5%(因为8和9都是上半部分相似的小圆),判断它代表其他数字的概率更小。于是取最大概率的对应数值,就是这个图片的分类。这个是一个实用softmax回归模型的经典案例。
五 小技巧
在实际实用中,softmax伴随的分类标签都是one_hot编码,而且这里还有个小技巧,在softmax时候需要将目标分成几类,就在最后这层放几个节点。
六 参考
你可能感兴趣的文章
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>
navicat连接远程mysql数据库
查看>>
Navicat通过存储过程批量插入mysql数据
查看>>
Navicat(数据库可视化操作软件)安装、配置、测试
查看>>