Softmax 函数

前言

上一篇中我们使用逻辑回归OvR策略来解决多分类问题,本篇介绍一下使用Softmax回归模型来解决多分类问题,但由于Softmax回归模型涉及内容过多,本篇先从Softmax函数原理讲起。

原理理解

我们在线性回归中,很清晰地理解了实现过程:实现一个损失函数(用于计算当前计算结果和目标值的差距),再通过梯度下降来优化全局损失(所有训练对象的损失降到最低)。在Softmax回归模型中同样分成这两个步骤,先实现一个损失函数(Softmax回归中常用交叉熵损失函数),再优化全局损失。

在多分类问题中,Softmax函数通常被用作交叉熵损失函数的前置步骤。其主要作用是将数据转换为概率分布,这样就可以使用交叉熵损失函数来评估这个概率分布的效果了。本篇中主要讨论的就是这个前置步骤Softmax函数

概念

Softmax函数是一种将任意实数向量转换为概率分布的函数。它的作用是将一个包含任意实数的 K 维向量压缩成另一个 K 维实向量,其中每个元素的范围都在 (0, 1) 之间,并且所有元素的总和为 1。这样,每个元素都可以被解释为某个类别的概率。

示例

举个例子原有向量 Z Z Z [ 2 , 1 , 0.1 ] [2,1,0.1] [2,1,0.1]Softmax函数将其转换成:

  • 对于类别 1: p 1 = e 2 e 2 + e 1 + e 0.1 p_1 = \frac{e^2}{e^2 + e^1 + e^{0.1}} p1=e2+e1+e0.1e2
  • 对于类别 2: p 2 = e 1 e 2 + e 1 + e 0.1 p_2 = \frac{e^1}{e^2 + e^1 + e^{0.1}} p2=e2+e1+e0.1e1
  • 对于类别 3: p 3 = e 0.1 e 2 + e 1 + e 0.1 p_3 = \frac{e^{0.1}}{e^2 + e^1 + e^{0.1}} p3=e2+e1+e0.1e0.1

用自己/总和获得概率,这个很好理解,但是这里为啥要用 e z e^z ez而不是直接用 z z z呢?
主要有以下几个原因:

  1. 非线性:指数函数提供了一种非线性的转换方式。在机器学习和深度学习中,非线性变换非常重要,因为它允许模型捕捉更复杂的关系和模式。如果仅使用线性操作(如直接使用 z z z而不是 e z e^z ez),模型的表达能力将受到限制。
  2. 梯度的特性:指数函数 e z e^z ez的导数仍然是 e z e^z ez,这意味着梯度不会为零。这在使用基于梯度的优化算法(如梯度下降)时非常重要,因为它保证了梯度不会过早消失,有助于更有效的训练过程。
  3. 放大差异:指数函数能够放大输入值之间的差异。对于Softmax函数来说,这意味着即使是输入值中较小的差异,也会在输出的概率分布中变得更加明显。这有助于模型在做出决策时更加“自信”,即更倾向于某些类别而不是其他类别。

总结就是 e z e^z ez比直接用 z z z效果好的多。所以对于向量 Z = [ z 1 , z 2 , . . . , z K ] Z = [z_1, z_2, ..., z_K] Z=[z1,z2,...,zK],其中 z i z_i zi表示未归一化的预测,代表对应类别的“得分”。Softmax 函数将这些得分转换为概率 P = [ p 1 , p 2 , . . . , p K ] P = [p_1, p_2, ..., p_K] P=[p1,p2,...,pK],其中每个 p i p_i pi计算如下:
p i = e z i ∑ j = 1 K e z j p_i = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}} pi=j=1Kezjezi

每个 p i p_i pi都是对应类别的预测概率,所有的 p i p_i pi加起来总和为 1。这样,Softmax 为多分类问题提供了一种有效的将模型输出转换为概率分布的方式。

Softmax将数据转换为概率分布,为交叉熵损失函数计算打下了良好基础,下一篇我们讲解一下交叉熵损失函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值