【ML】softmax简单理解。

softmax 和 hardmax

即然有 softmax,那必然有 hardmax,不然怎么能称为 soft ?

所谓 hardmax 其实就是 max,比如有数组:[3,2,4,5,1,7,9],hardmax 就是找最大值,这里的 hardmax 是 :9

softmax举例

相对于 softmax,不像 hardmax 那么硬,只给第一名展示的机会,而是把所有可能列出来。
比如说对于一个图片分类任务

  • 将一个图片识别为猫的概率是 60%
  • 识别为狗的概率是 30%
  • 识别为老鼠的概率是 10%

即:我既想知道最可能是什么,也想知道可能是别的什么。这个时候就是 softmax 上场了,总的概率是 100%,然后区分出每种可能所占的百分比(这也是常说的置信度)

softmax详细

以神经网络为例,有别于二分类任务,只有一个输出,通过 sigmod 函数等实现进行 0,1 分类。对于多分类任务,神经网络会有多个输出值,通过 softmax 实现每个分类占比的计算。形如下图:
在这里插入图片描述
那 softmax 是怎么计算的呢?
Softmax公式如下: s o f t m a x ( x i ) = e x i ∑ j = 1 n e x j softmax(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{n}{e^{x_j}}} softmax(xi)=j=1nexjexi其中, x i x_i xi表示神经网络输出向量中第 i i i个元素的值, n n n表示输出向量的长度。这个公式的作用是将一个向量中的每个元素归一化成[0,1]之间的数值,并且使得归一化后的元素之和为1,用于多分类问题的输出。

很简单吧,类似求各个数在总数中的占比,但是加了个 e 的底,使得越大的数获得加成,算出的占比更大。越大越有可能嘛。

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值