Class3Softmax回归
回归VS分类
回归是估计一个连续值
分类是预测一个离散类别
回归 | 分类 |
---|---|
单连续值输出 | 通常为多个输出 |
自然区间R | 输出i是预测为第i类的置信度 |
跟真实值的区别作为损失 |
生活中的分类问题
1.垃圾分类
类别:
可回收物
湿垃圾(厨余垃圾)
干垃圾
有害垃圾
2.邮件分类
类别:
正常邮件
垃圾邮件(广告、钓鱼)
从回归到多类分类
均方损失
判断当前元素为该类,设置为1,其余类别归为0
无校验比例
为什么需要校验?
因为Softmax 的输出不是总是可靠的概率,原因是模型可能过于自信或不够自信。
举例:
模型预测某图像为 “猫” 的概率为 0.95,但是实际上模型只有 70% 的概率是正确的。这种情况下:
无校验比例是 0.95(原始 softmax 输出)
校验比例是 0.70(经过校准的真实置信度)
常见的配置为:
训练比例:80%
校验比例:20%
Softmax
Softmax 是一个常用在 分类模型输出层 的函数,主要作用是将一组实数转换为概率分布,即每个输出值都是 0 到 1 之间的数,并且所有输出加起来等于 1。
公式:
给定一个向量
𝑧=[𝑧1,𝑧2,…,𝑧𝑛],softmax输出 𝜎(𝑧)𝑖为:
对每个元素求指数𝑒𝑧𝑖
然后除以所有指数的总和
得到的是每个类别的“相对概率”
Softmax 的作用:
归一化:输出变成概率分布(所有值相加等于 1)。
区分强弱:大值被放大,小值被压缩,更容易做出决策。
适合分类任务:常用于神经网络多分类的最后一层。
左图是模型的原始输出(logits),右图是通过 softmax 转换后的概率分布。可以看到:
logits 数值差距不大,但 softmax 后的概率差距被放大。
最大的 logits(Class A)对应最高的概率(约 65%)。
所有概率加起来正好是 1,适合用于多分类预测。
交叉熵损失
交叉熵常用来衡量两个概率分布的区别。
公式:
𝑝:真实的概率分布(比如 one-hot 标签)
𝑞:模型预测的概率分布(经过 softmax 得到)
理解:
如果预测𝑞越接近真实标签𝑝,那么交叉熵越小(越好)
如果预测错了,尤其是把正确类的概率预测得很低,损失会很大(因为 log 变负很快)
本质上,交叉熵就是衡量预测概率分布与真实 one-hot 分布的差距
梯度推导公式
这是 softmax + cross entropy 的梯度
含义:
损失函数对第 𝑖个输出的梯度 = 预测概率 - 真实值
它使得训练过程的反向传播特别高效(简洁且数值稳定)
常被称作 “softmax with log loss” 的“简化公式”
总结