当前位置:网站首页>softmax函数详解
softmax函数详解
2022-07-31 05:15:00 【龙虾在剥我的壳】
softmax函数
1.softmax函数理解
我们知道Logistic回归只能进行二分类,因为它的随机变量的取值只能是0或者1,那么如果我们面对多分类问题怎么
办?比如要将一封新收到的邮件分为垃圾邮件,个人邮件,还是工作邮件;根据病人的病情预测病人属于哪种病;那么今天要说的softmax回归能解决这类分类的问题。
softmax它将多个神经元的输出,映射到(0,1)区间内,其输出向量其实就是概率,为样本在某个类的概率
如下图只需先了解左边输入,右边输出概率就行了

softmax直白来说就是将原来输出是3,1,-3通过softmax函数一作用,就映射成为(0,1)的值,而这些值的累和为1(满足概率的性质),那么我们就可以将它理解成概率,在最后选取输出结点的时候,我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标!
假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是
2.求导

我们能得到下面公式:
z4 = w41o1+w42o2+w43*o3
z5 = w51o1+w52o2+w53*o3
z6 = w61o1+w62o2+w63*o3
z4,z5,z6分别代表结点4,5,6的输出,01,02,03代表是结点1,2,3往后传的输入.
那么我们可以经过softmax函数得到
3.softmax损失函数
根据求梯度,然后利用梯度下降方法更新梯度!
要使用梯度下降,肯定需要一个损失函数,这里我们使用交叉熵(称它为损失函数)作为我们的损失函数,为什么使用交叉熵损失函数,不是这篇文章重点(大家只要知道用这个就可以了)
公式
y:代表真实值
a:代表softmax求出的值
i:代表的是输出结点的标号!在上面例子,i就可以取值为4,5,6三个结点(当然我这里只是为了简单,真实应用中可能有很多结点)
由于 log 运算符不会影响函数的单调性,我们对 Si 进行 log 操作:
我们希望 Si 越大越好,即正确类别对应的相对概率越大越好,那么就可以对 Si 前面加个负号,来表示损失函数:

对上式进一步处理,把指数约去:
这样,Softmax 的损失函数就转换成了简单的形式。
4.softmax实际应用
使用 Softmax 线性分类器,对 图片集进行分类。
总结
其实说白了softmax函数就是处理多分类问题的。在左边输入值,出来的是概率。重头戏就是中间这个转换的过程
1.交叉熵(作为损失函数)
2.求导
边栏推荐
- Principle analysis of famous website msdn.itellyou.cn
- Gradle sync failed: Uninitialized object exists on backward branch 142
- Flow control statement in js
- The latest MySql installation teaching, very detailed
- [Cloud native] Simple introduction and use of microservice Nacos
- sql 外键约束【表关系绑定】
- 2021美赛C题M奖思路
- MYSQL事务与锁问题处理
- cocos2d-x 实现跨平台的目录遍历
- Understanding of js arrays
猜你喜欢
随机推荐
quick-3.6源码修改纪录
网页截图与反向代理
cocos2d-x-3.2 不能混合颜色修改
The server time zone value ‘й‘ is unrecognized or represents more than one time zone
[Cloud native] Simple introduction and use of microservice Nacos
flutter arr 依赖
mysql password modification method in Linux (pro-test available)
[Ubuntu20.04 installs MySQL and MySQL-workbench visualization tool]
cocos2d-x-3.x 修改和纪录
2021 Mianjing - Embrace Change
podspec自动化升级脚本
cocos2d-x 实现跨平台的目录遍历
微信小程序启动优化
Take you to understand the MySQL isolation level, what happens when two transactions operate on the same row of data at the same time?
【云原生】开源数据分析 SPL 轻松应对 T+0
Access database query
为什么bash中的read要配合while才能读取/dev/stdin的内容
cocos2d-x-3.2 Physics
VS通过ODBC连接MYSQL(一)
js中流程控制语句








