多类别分类中,标签的 “独热编码” 形式与输出层神经元的位置处理过程

在多类别分类中,标签的 "独热编码" 形式(如狗的标签[1,0,0])与输出层神经元的位置是一一对应的:输出层的第 1 个神经元对应标签的第 1 个位置(狗),第 2 个神经元对应标签的第 2 个位置(猫),第 3 个神经元对应标签的第 3 个位置(鸟)。这种对应关系是在训练前通过 "类别索引定义" 预先确定的,是交叉熵损失计算的基础。

具体来说:

  1. 类别索引的预先定义

在训练前,我们会给每个类别分配一个唯一的索引(人为定义)。例如:

    • 狗 → 索引 0
    • 猫 → 索引 1
    • 鸟 → 索引 2
  1. 标签的独热编码与神经元的对应

标签会根据索引转换为独热向量:

同时,输出层的神经元按顺序对应这些索引:

    • 狗的标签为[1,0,0](索引 0 对应的位置为 1,其他为 0)
    • 猫的标签为[0,1,0](索引 1 对应的位置为 1)
    • 鸟的标签为[0,0,1](索引 2 对应的位置为 1)
    • 第 1 个神经元 → 对应索引 0(狗),输出 "狗的分数"
    • 第 2 个神经元 → 对应索引 1(猫),输出 "猫的分数"
    • 第 3 个神经元 → 对应索引 2(鸟),输出 "鸟的分数"
  1. 交叉熵损失的计算逻辑

交叉熵损失衡量的是 "输出层神经元经 Softmax 后的概率分布" 与 "标签的独热分布" 之间的差距。对于狗的图像:

    • 理想情况下,第 1 个神经元的概率应接近 1(对应标签的[1,0,0]),第 2、3 个神经元的概率接近 0;
    • 若实际输出中第 1 个神经元的概率为 0.3(低),第 2 个为 0.5(高),则损失会很大,因为与标签的差距大;
    • 损失值通过反向传播回传时,会针对性调整第 1 个神经元的权重(让其概率升高),同时调整第 2、3 个神经元的权重(让其概率降低)。

总结

输出层神经元的位置与标签的独热编码位置是人为定义的一一对应关系(如第 1 个神经元对应狗的标签位置)。这种对应关系是交叉熵损失能够 "定位错误" 并指导权重优化的前提 ------ 确保损失能准确告诉网络:"哪个类别的神经元输出错了,需要调整"。

相关推荐
spencer_tseng6 小时前
JDK 9 List.of(...)
java·windows·list·1024程序员节
Bruce_Liuxiaowei6 小时前
[特殊字符] 排查VMnet1无IP的步骤
网络·网络协议·1024程序员节
今天又在学代码写BUG口牙6 小时前
MFC应用程序,工作线程学习记录
c++·mfc·1024程序员节
晟盾科技6 小时前
git重写历史
git·1024程序员节
15Moonlight7 小时前
06-MySQL基础查询
数据库·c++·mysql·1024程序员节
丈剑走天涯7 小时前
kubernetes 源码编译(ubuntu) kubernetes-1.34.1
java·容器·kubernetes·1024程序员节
skywalk81637 小时前
在Ubuntu Linux安装brew 使用brew安装llama.cpp 运行文心Ernie大模型
人工智能·ubuntu·llama·ernie·brew·1024程序员节
GateWorld7 小时前
从客户现场的花屏故障到FPGA设计准则的重新思考
1024程序员节
AL流云。7 小时前
学习Docker前提:多环境安装Docker
学习·docker·eureka·1024程序员节