用于Multinoulli(多项分布)输出分布的softmax单元

本文探讨了Softmax和Sigmoid函数的应用场景及其在机器学习中的重要性。Softmax函数用于多分类任务,能够将输入向量转换为概率分布;而Sigmoid函数则适用于二分类问题。文中还对比了二者的特点及如何进行求导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:https://blog.youkuaiyun.com/weixin_40516558/article/details/79962674

单独拿一篇文章出来讲softmax单元是因为昨天去鹅厂面试,被要求给softmax求导,这么简单的事情,我竟然没有做到,所以只好以文铭志了。

话不多说。

任何时候,当我们想要表示一个具有n个可能取值的离散型随机变量的分布时,都可以使用softmax函数。它可以看作sigmoid函数的扩展,sigmoid函数用来表示二值型变量的分布。

softmax函数的形式如下:

当使用最大化对数似然训练softmax来输出目标值y时,使用指数函数工作地非常好。

对softmax函数取对数,之后的结果很容易得到。而且,我们容易观察出,当样本分类正确时,它对于整体训练代价贡献很小,这个代价主要由其他的未本正确分类的样本产生。

对于softmax的情况,它有多个输出值。当输入值之间的差异变得极端时,这些输出值可能饱和。从softmax函数中可以得到。

softmax函数更接近于argmax函数而不是max函数。“soft”这个术语来源于softmax函数是连续可微的。“agemax”函数的结果表示为一个one-hot向量,不是连续可微的。softmax函数因此提供了argmax的“软化版本”。可能最好是把softmax函数称为“softargmax”。

 

https://blog.youkuaiyun.com/u014422406/article/details/52805924

sigmoid将一个real value映射到(0,1)的区间(当然也可以是(-1,1)),这样可以用来做二分类。 
而softmax把一个k维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)其中bi是一个0-1的常数,然后可以根据bi的大小来进行多分类的任务,如取权重最大的一维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值