当前位置:网站首页>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.求导
边栏推荐
- Getting to know regular expressions
- [swagger close] The production environment closes the swagger method
- The server time zone value ‘й‘ is unrecognized or represents more than one time zone
- [Cloud native] Simple introduction and use of microservice Nacos
- (Crypto essential dry goods) Detailed analysis of the current NFT trading markets
- Several solutions for mysql startup error The server quit without updating PID file
- kotlin 插件更新到1.3.21
- cocos2d-x 实现跨平台的目录遍历
- quick-3.5 无法正常显示有混合纹理的csb文件
- Build DVWA with phpstudy
猜你喜欢
带你搞懂MySQL隔离级别,两个事务同时操作同一行数据会怎样?
MySQL compressed package installation, fool teaching
(Crypto essential dry goods) Detailed analysis of the current NFT trading markets
Global scope and function scope in js
UiBot has an open Microsoft Edge browser and cannot perform the installation
flutter arr 依赖
What is the difference between NFT and digital collection?
QT VS中双击ui文件无法打开的问题
微信小程序源码获取与反编译方式
动态规划(一)| 斐波那契数列和归递
随机推荐
Eternal blue bug reappears
2021 Mianjing - Embrace Change
5 methods of MySQL paging query
cocoscreator 显示刘海内容
Yuan prospect and four track of the universe
MySQL高级语句(一)
cocoscreator3.5.2打包微信小游戏发布到QQ小游戏修改
[Cloud native] Ribbon is no longer used at the bottom layer of OpenFeign starting from the 2020.0.X version
QT VS中双击ui文件无法打开的问题
MySQL面试题大全(陆续更新)
break and continue exit in js
quick lua加密
SSH自动重连脚本
Understanding of js arrays
sqlite 查看表结构 android.database.sqlite.SQLiteException: table splitTable has no column named
Artifact SSMwar exploded Error deploying artifact.See server log for details
cocos2d-x-3.2 Physics
npm WARN config global `--global`, `--local` are deprecated. Use `--location solution
MYSQL事务与锁问题处理
sqlmap injection tutorial common commands