【ML】softmax简单理解。

2023-12-14 03:13:08

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=1n?exj?exi??其中, x i x_i xi?表示神经网络输出向量中第 i i i个元素的值, n n n表示输出向量的长度。这个公式的作用是将一个向量中的每个元素归一化成[0,1]之间的数值,并且使得归一化后的元素之和为1,用于多分类问题的输出。

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

文章来源:https://blog.csdn.net/weixin_43002640/article/details/134854195
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。