Softmax 激活函数的工作原理?2025 年 2 月 3 日 | 阅读 9 分钟 引言在机器学习和深度学习的背景下,激活函数在开发神经网络以帮助它们做出复杂决策和生成预测时非常有益。Softmax 激活函数在类别互斥的问题中尤其常用。在本文中,作者旨在仔细研究 Softmax 函数、它的工作原理、用途以及它在人工智能领域的意义。 Softmax 函数Softmax 函数通常应用于神经网络的最后一层以用于分类问题,它将原始输出分数或 logits 转换为概率。它通过指数化每个输出,然后将这些值除以所有输出的总指数来做到这一点。此步骤使输出值能够被归一化到 (0,1) 范围内并加起来等于一,从而使其值成为概率。 Softmax 函数的数学表达式如下: 假设有一个原始分数或“logits”的向量 z = [z1, z2, ... zn];每个元素的 Softmax 函数 σ(z) 是。 ![]() 说明 这里,e 是自然对数的底,分母中的求和是输入向量的所有 zj 元素的总和。此公式使得返回的值成为介于 0 和 1 之间的概率,并且总和为 1。 在神经网络框架中对(0-9)手写数字进行分类的背景下,Softmax 函数的作用是将最后一层的计算转换为每个数字类别的有意义的概率。 输入: Softmax 积极地作用于实数元素的向量 z,这些元素是神经网络最后一层的输出。 指数化: z 中的每个元素都使用数学常数 e 进行指数化。Sigmoid 分类器通过 z 的指数化以及数学常数 e(约 2.718)来影响给定的方程。这种转换确保所有值都取正号。 归一化: 然后将这些除以向量 z 中所有指数化元素的总和。此归一化步骤确保结果值形成概率分布,其中所有概率的总和等于一。这是概率解释输出的一个必要条件。 这使得神经网络能够给出概率输出,考虑到对于许多任务,例如图像分类,有必要估计每个可能输出(在此例中为数字)的发生概率。 Softmax 函数的属性输出范围: Softmax 函数确保其输出值经过归一化,位于 0 和 1 之间,这指的是概率。 概率总和: 重要的是,Softmax 函数产生的计算总量在任何给定时间都等于 1。由于此属性,Softmax 非常适合将原始分数转换为概率分布。 可解释性: 因此,Softmax 提高了神经网络输出的可解释性,因为它将原始输出转换为概率。这种变化有助于更好地分析网络产生的输出,尤其是在分类等活动中,这些活动不允许区分具有相似特征的两个或多个类别。 Softmax 激活的应用Softmax 激活可应用于所有涉及多个类别的问题,例如图像分类、文本分类和推荐系统。由于它有助于快速管理多个类别,因此它是机器学习模型中的重要工具。例如,在需要从图像中对水果进行排序的神经网络中,Softmax 确保分配给每个类别(即苹果、橙子、香蕉)的概率之和为 1。 Python 中 Softmax 的实现代码 在此示例中
与其他激活函数的比较与 Sigmoid 函数 ReLU 或 ReLU(用于隐藏层进行二元分类或注入非线性)不同,Softmax 函数应用于 MLP 的输出层以用于多类分类问题。
Softmax 实战:多类分类Softmax 函数在多类分类问题中非常有用,在这些问题中,输入 x 理论上可以属于任何指定的类别。以下是其应用的一些实际示例: 图像识别
垃圾邮件检测
情绪分析
在这里,Softmax 函数接收神经网络的实值分数,并将它们转换为概率分布。正是这种概率解释使其能够与网络的预测一起工作,因此 Softmax 在所有多类分类问题中都是必不可少的部分。 使用 Softmax 的优点Softmax 激活函数的一些优点使其在许多神经网络应用中最为可取,包括:以下是一些关键优势: 概率分布
可解释性
数值稳定性
因此,本文表明 Softmax 函数是多类分类问题领域中的一个有用工具,因为它在提高神经网络模型的性能、可理解性和稳定性方面具有这些优势。 Softmax 激活函数教程Softmax 函数实现分步教程 步骤 1:获取并加载所需的库 对于数值计算和数据绘图,需要安装 NumPy 和 Matplotlib 这两个库。确保您对这些库有足够的了解。Python 拥有执行数值计算的库,NumPy 是其中之一,而 Matplotlib 用于数据绘图。 步骤 2:导入库 为您的脚本或笔记本加载依赖项。对于任何需要数值计算的计算,请使用 NumPy,对于图形表示,请使用 Matplotlib。 步骤 3:使用 Softmax 函数 Softmax 函数将神经网络的输出(即类别上的概率分布)从 logits 空间映射出来。这对于分类类问题特别有帮助,因为它有助于计算另一数据实例属于给定类别的概率。 步骤 4:学习如何建立独立的 Logits 集 解释 logits 集是什么,知道它们是模型输出的结果分数。出于某些原因,这些 logits 需要转换为概率。 步骤 5:应用 Softmax 函数 接下来,将上面定义的 Softmax 函数应用于 logits 以将其转换为概率。 步骤 6:可视化 以下结果的可视化可能有助于理解将信息视为企业评估资源的概念。 为了弄清楚 Softmax 函数的工作原理,请使用 Matplotlib 绘制该段的 logits 和生成的概率。这有助于了解从原始分数到概率的转变。 代码 输出 Probabilities: [0.65900114 0.24243297 0.09856589] ![]() 挑战与注意事项虽然 Softmax 激活函数在多类分类任务中非常强大,但也有几个挑战和注意事项需要牢记:
结论Softmax 函数是神经网络用于多类分类任务的重要组成部分。它将原始分数转换为概率预测,增强了网络输出的可解释性。随着深度学习的不断发展,Softmax 函数将继续是一个基石,为神经网络的原始计算与可解释概率的世界之间架起桥梁。 |
我们请求您订阅我们的新闻通讯以获取最新更新。