0


机器学习和深度学习中的logit

系列博客目录


文章目录


图像分类任务中,“logit” 是指模型在输出层的未经过激活函数(如 Softmax 或 Sigmoid)处理的原始输出值。下面通过一个具体的例子来说明 logit 的概念,以及它如何用于图像分类任务。

背景

假设我们有一个简单的图像分类任务,目标是对输入图像进行 3 类分类(例如,类别 A、类别 B 和类别 C)。神经网络模型的最后一层是一个全连接层,它输出 3 个 logit 值(每个类别对应一个 logit)。

这些 logit 值通常被解释为“未归一化的分数”,用于衡量输入图像属于某个类别的可能性大小。

模型假设

  1. 输入图像特征:假设经过卷积网络处理后,我们得到了特征向量 f = [ 0.5 , 0.8 , 1.2 ] \mathbf{f} = [0.5, 0.8, 1.2] f=[0.5,0.8,1.2]。
  2. 最后一层权重和偏置: - 权重矩阵 (W): W = [ 1.0 − 1.0 0.5 0.8 0.5 − 0.3 − 0.5 1.2 1.0 ] W = \begin{bmatrix} 1.0 & -1.0 & 0.5 \ 0.8 & 0.5 & -0.3 \ -0.5 & 1.2 & 1.0 \end{bmatrix} W=​1.00.8−0.5​−1.00.51.2​0.5−0.31.0​​- 偏置向量 (b = [0.2, -0.1, 0.5])。

计算 logit

logit 值通过以下公式计算:

  1. z
  2. =
  3. W
  4. f
  5. +
  6. b
  7. \mathbf{z} = W \cdot \mathbf{f} + b
  8. z=Wf+b

其中:

    1. z \mathbf{z} z logit 值(模型的原始输出)。
    1. W W W 是权重矩阵。
    1. f \mathbf{f} f 是输入特征。
    1. b b b 是偏置。

逐步计算:

  1. 点积计算:- 对类别 A: z 1 = ( 1.0 ⋅ 0.5 ) + ( − 1.0 ⋅ 0.8 ) + ( 0.5 ⋅ 1.2 ) = 0.5 − 0.8 + 0.6 = 0.3 z_1 = (1.0 \cdot 0.5) + (-1.0 \cdot 0.8) + (0.5 \cdot 1.2) = 0.5 - 0.8 + 0.6 = 0.3 z1​=(1.0⋅0.5)+(−1.0⋅0.8)+(0.5⋅1.2)=0.5−0.8+0.6=0.3- 对类别 B: z 2 = ( 0.8 ⋅ 0.5 ) + ( 0.5 ⋅ 0.8 ) + ( − 0.3 ⋅ 1.2 ) = 0.4 + 0.4 − 0.36 = 0.44 z_2 = (0.8 \cdot 0.5) + (0.5 \cdot 0.8) + (-0.3 \cdot 1.2) = 0.4 + 0.4 - 0.36 = 0.44 z2​=(0.8⋅0.5)+(0.5⋅0.8)+(−0.3⋅1.2)=0.4+0.4−0.36=0.44- 对类别 C: z 3 = ( − 0.5 ⋅ 0.5 ) + ( 1.2 ⋅ 0.8 ) + ( 1.0 ⋅ 1.2 ) = − 0.25 + 0.96 + 1.2 = 1.91 z_3 = (-0.5 \cdot 0.5) + (1.2 \cdot 0.8) + (1.0 \cdot 1.2) = -0.25 + 0.96 + 1.2 = 1.91 z3​=(−0.5⋅0.5)+(1.2⋅0.8)+(1.0⋅1.2)=−0.25+0.96+1.2=1.91
  2. 加上偏置:- 对类别 A: z 1 = 0.3 + 0.2 = 0.5 z_1 = 0.3 + 0.2 = 0.5 z1​=0.3+0.2=0.5- 对类别 B: z 2 = 0.44 − 0.1 = 0.34 z_2 = 0.44 - 0.1 = 0.34 z2​=0.44−0.1=0.34- 对类别 C: z 3 = 1.91 + 0.5 = 2.41 z_3 = 1.91 + 0.5 = 2.41 z3​=1.91+0.5=2.41

最终 logit 值为:

  1. z
  2. =
  3. [
  4. 0.5
  5. ,
  6. 0.34
  7. ,
  8. 2.41
  9. ]
  10. \mathbf{z} = [0.5, 0.34, 2.41]
  11. z=[0.5,0.34,2.41]

解释 logit

这些 logit 值

  1. [
  2. 0.5
  3. ,
  4. 0.34
  5. ,
  6. 2.41
  7. ]
  8. [0.5, 0.34, 2.41]
  9. [0.5,0.34,2.41] 表示模型对每个类别的未归一化预测分数:
  • 类别 A 的分数为 0.5 0.5 0.5。
  • 类别 B 的分数为 0.34 0.34 0.34。
  • 类别 C 的分数为 2.41 2.41 2.41。

这些分数尚未转换为概率,因此不能直接用于分类决策。

从 logit 转为概率

logit 值可以通过 Softmax 激活函数 转换为概率分布:

  1. Softmax
  2. (
  3. z
  4. i
  5. )
  6. =
  7. exp
  8. (
  9. z
  10. i
  11. )
  12. j
  13. =
  14. 1
  15. 3
  16. exp
  17. (
  18. z
  19. j
  20. )
  21. \text{Softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j=1}^3 \exp(z_j)}
  22. Softmax(zi​)=∑j=13exp(zj​)exp(zi​)​

进行逐步计算:

  1. 计算每个类别的指数值:- 对类别 A: exp ⁡ ( 0.5 ) ≈ 1.65 \exp(0.5) \approx 1.65 exp(0.5)≈1.65- 对类别 B: exp ⁡ ( 0.34 ) ≈ 1.41 \exp(0.34) \approx 1.41 exp(0.34)≈1.41- 对类别 C: exp ⁡ ( 2.41 ) ≈ 11.14 \exp(2.41) \approx 11.14 exp(2.41)≈11.14
  2. 计算指数值的总和: ∑ j = 1 3 exp ⁡ ( z j ) = 1.65 + 1.41 + 11.14 = 14.2 \sum_{j=1}^3 \exp(z_j) = 1.65 + 1.41 + 11.14 = 14.2 j=1∑3​exp(zj​)=1.65+1.41+11.14=14.2
  3. 计算每个类别的概率:- 对类别 A: P ( A ) = exp ⁡ ( 0.5 ) 14.2 = 1.65 14.2 ≈ 0.116 P(A) = \frac{\exp(0.5)}{14.2} = \frac{1.65}{14.2} \approx 0.116 P(A)=14.2exp(0.5)​=14.21.65​≈0.116- 对类别 B: P ( B ) = exp ⁡ ( 0.34 ) 14.2 = 1.41 14.2 ≈ 0.099 P(B) = \frac{\exp(0.34)}{14.2} = \frac{1.41}{14.2} \approx 0.099 P(B)=14.2exp(0.34)​=14.21.41​≈0.099- 对类别 C: P ( C ) = exp ⁡ ( 2.41 ) 14.2 = 11.14 14.2 ≈ 0.785 P(C) = \frac{\exp(2.41)}{14.2} = \frac{11.14}{14.2} \approx 0.785 P(C)=14.2exp(2.41)​=14.211.14​≈0.785

最终概率分布为:

  1. P
  2. =
  3. [
  4. 0.116
  5. ,
  6. 0.099
  7. ,
  8. 0.785
  9. ]
  10. P = [0.116, 0.099, 0.785]
  11. P=[0.116,0.099,0.785]

分类决策

根据 Softmax 的输出概率,类别 C 的概率最大 (

  1. P
  2. (
  3. C
  4. )
  5. =
  6. 0.785
  7. P(C) = 0.785
  8. P(C)=0.785),因此模型将输入图像分类为类别 C

总结

  1. logit 值是模型在最后一层的原始输出值,未经过激活函数处理。例如,本例中的 logit 值为 [ 0.5 , 0.34 , 2.41 ] [0.5, 0.34, 2.41] [0.5,0.34,2.41]。
  2. logit 值可以通过 Softmax 函数 转换为概率分布,用于分类任务。
  3. 通过计算,最终概率分布为 [ 0.116 , 0.099 , 0.785 ] [0.116, 0.099, 0.785] [0.116,0.099,0.785],模型将图像分类为类别 C。

本文转载自: https://blog.csdn.net/buyaotutou/article/details/143839347
版权归原作者 醒了就刷牙 所有, 如有侵权,请联系我们删除。

“机器学习和深度学习中的logit”的评论:

还没有评论