尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

14、【数学】【线性代数】one-hot 与基向量:分类目标为什么能当概率分布

发布时间:2026/9/29 9:59:47

资讯中心
01
ARTICLE

14、【数学】【线性代数】one-hot 与基向量:分类目标为什么能当概率分布

14、【数学】【线性代数】one-hot 与基向量:分类目标为什么能当概率分布
【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除标题14、【数学】【线性代数】one-hot 与基向量分类目标为什么能当概率分布背景上篇 blog【数学】【信息论】信息量、熵与交叉熵从− log ⁡ p -\log p−logp到 KL 散度把信息量、熵、交叉熵、KL 散度串成了一条链信息量− log ⁡ p -\log p−logp按真实分布加权平均得到熵换成预测分布算得到交叉熵两者之差是 KL并且在最后用了一个关键的事实——当真实标签是 one-hot 时交叉熵塌缩成负对数似然H ( P , Q ) − log ⁡ Q ( 正确 ) H(P,Q) -\log Q(\text{正确})H(P,Q)−logQ(正确)但上篇是拿来就用直接假设 one-hot 就是真实分布P PP却没交代它是什么、凭什么能当分布、它在计算里到底在干什么。本篇专门补上这一块。答案藏在一个双重身份里one-hot 既是线性代数里的基向量又是概率论里的退化分布。起点标签本是一个编号分类任务的标签最初只是一个第几类的编号手写数字识别y 3 y3y3第 4 个类别语言模型y 1024 y1024y1024词表里的第 1025 个 token。它就是个索引index用一个整数表示从n nn个类别里选了哪一个。但模型输出的不是编号——它输出的是长度为n nn的一串概率对每个类别的预测。一边是标量编号一边是向量分布两者对不上。one-hot 就是用来补上这一步的。one-hot 在干什么one-hot独热编码把第i ii个展开成一个长度等于类别数的向量第i ii位是1 11其余全是0 00。以 5 类、正确答案是第 3 个为例y 2 ⟶ [ 0 , 0 , 1 , 0 , 0 ] y2 \quad\longrightarrow\quad [0,\ 0,\ 1,\ 0,\ 0]y2⟶[0,0,1,0,0]图 1 就是这一步展开。它干了三件事把标量变成向量——这样才能和模型输出的概率向量一一对齐、逐位比较标记选中的是谁——独一个位置是热的1 11一眼能看出答案能参与线性运算——是向量就能做矩阵乘法后面 embedding 会用到。一句话one-hot 是类别编号的向量化表示目的就是让标签能和模型输出处在同一个空间里。身份一它是线性代数里的基向量[ 0 , 0 , 1 , 0 , 0 ] [0,0,1,0,0][0,0,1,0,0]在数学上有个精确的名字——标准基向量standard basis vectore 3 e_3e3​。在R n \mathbb{R}^nRn里标准基是一组每个只有一个1 11的向量{ e 1 , e 2 , … , e n } \{e_1,e_2,\dots,e_n\}{e1​,e2​,…,en​}它们的作用是任何向量都能用它们线性组合出来。图 2 是最简单的二维情形e 1 ( 1 , 0 ) e_1(1,0)e1​(1,0)、e 2 ( 0 , 1 ) e_2(0,1)e2​(0,1)平面里任何一个向量都能写成( a , b ) a e 1 b e 2 (a,b)a\,e_1b\,e_2(a,b)ae1​be2​。one-hot 就是n nn维空间里这样一支坐标轴方向的单位向量——这是它的线性代数身份。这个身份马上带来一个漂亮的推论用e i e_iei​去乘一个矩阵等于把矩阵的第i ii行取出来见第 6 节。身份二它是概率论里的退化分布同样的[ 0 , 0 , 1 , 0 , 0 ] [0,0,1,0,0][0,0,1,0,0]换个视角看它又是一个概率分布每一项都非负加起来等于1 11它表示以100 % 100\%100%的概率押在第 3 个类别上。这种把全部概率压在一个点上的分布叫退化分布degenerate distribution或点质量分布point mass——它是所有分布里**最确定**的没有任何犹豫。图 3 对比了两个分布左边是 one-hot一根柱到顶其余为 0右边是软标签[ 0.7 , 0.2 , 0.05 , … ] [0.7,0.2,0.05,\dots][0.7,0.2,0.05,…]散布在几类上、有不确定性。正因为 one-hot 是一个合法的概率分布它才能充当交叉熵里的真实分布P PP。两个身份合流熵为 0损失塌缩把上面两条合起来就解释了上篇那个塌缩。它的熵是 0。熵度量不确定性而 one-hot 既然 100% 确定不确定性自然为零H ( P ) − ∑ x P ( x ) log ⁡ P ( x ) − 1 ⋅ log ⁡ 1 0 H(P) -\sum_x P(x)\log P(x) -1\cdot\log 1 0H(P)−x∑​P(x)logP(x)−1⋅log100 ⋅ log ⁡ 0 0\cdot\log 00⋅log0按惯例取 0。代进上篇的关系H ( P , Q ) H ( P ) K L ( P ∥ Q ) H(P,Q)H(P)\mathrm{KL}(P\|Q)H(P,Q)H(P)KL(P∥Q)立刻得到H ( P , Q ) K L ( P ∥ Q ) − log ⁡ Q ( 正确 ) H(P,Q) \mathrm{KL}(P\|Q) -\log Q(\text{正确})H(P,Q)KL(P∥Q)−logQ(正确)图 4 用二分类分布[ p , 1 − p ] [p,1-p][p,1−p]画出熵曲线两端p 0 p0p0或p 1 p1p1即 one-hot熵为0 00中间均匀熵最大。one-hot 落在熵的最低点所以此时交叉熵、KL、负对数似然三者合一——模型要做的就是让预测分布Q QQ逼近这个最尖的分布也就是把正确类的概率推向 1。这就是上篇那句损失只取决于给正确 token 的概率的完整来历。用基向量身份看 embedding线性代数身份还有一个非常实用的推论。设嵌入矩阵W WW有n nn行每个类别一行用 one-hote i e_iei​去乘它e i × W W 的第 i 行 e_i \times W W \text{ 的第 } i \text{ 行}ei​×WW的第i行因为e i e_iei​只有第i ii位是1 11矩阵乘法里其它行都被0 00乘没了剩下的正是第i ii行。图 5 就是这个动作。“one-hot 乘矩阵” “按编号取某一行” 查表lookup——这正是**嵌入embedding**层的本质把第i ii个 token 映射成第i ii行向量。谱系标签的向量表示家族one-hot 不是孤例它是一整个标签表示家族里最基础的一员表示形式含义整数索引y 2 y2y2最省空间的原始标签one-hot[ 0 , 0 , 1 , 0 , 0 ] [0,0,1,0,0][0,0,1,0,0]展开成基向量/退化分布软标签[ 0.7 , 0.2 , 0.1 ] [0.7,0.2,0.1][0.7,0.2,0.1]一般概率向量如蒸馏时老师的输出求和不塌缩标签平滑label smoothing( 1 − ϵ ) e i ϵ u (1-\epsilon)e_i\epsilon\,\mathbf{u}(1−ϵ)ei​ϵuone-hot 与均匀分布u \mathbf{u}u的凸组合防过拟合multi-hot[ 1 , 0 , 1 , 1 , 0 ] [1,0,1,1,0][1,0,1,1,0]多个1 11表示多标签和为3 ≠ 1 3\ne131不是概率分布图 6 把它们连成谱系。两点值得记住one-hot → 软标签从确定过渡到带不确定性。蒸馏就是用老师的软标签P PP代替 one-hot此时交叉熵不再塌缩而在所有类别上求和——这正是交叉熵作为一般定义的价值one-hot → label smoothing把 one-hot 和均匀分布按( 1 − ϵ ) : ϵ (1-\epsilon):\epsilon(1−ϵ):ϵ混合。凸组合仍是一个合法分布但不再尖到log ⁡ 0 \log 0log0能缓解模型过度自信one-hot vs multi-hot前者从n nn类里选 1 个后者一个样本同属多类所以 multi-hot 有多个1 11、和不为1 11只在多标签任务里用。工程视角sparse但不必真的构造大词表下 one-hot 会非常稀疏且巨大V 15 V15V15万的词表一个 one-hot 就是 15 万维、只有一个非零——既占内存又浪费计算。所以实践中存的是整数索引y2需要时再由框架内部隐式地当成 one-hot 处理。比如F.cross_entropy(logits, y)直接吃索引内部只取正确那一项根本不会真的构造出一个 15 万维向量embedding 层也是按索引取行而不是真的做稀疏矩阵乘法。数学上用 one-hot 理解工程上用索引执行——两者是同一件事。小结one-hot 有两个等价的身份线性代数上它是标准基向量e i e_iei​任何向量都能由这组基线性组合概率论上它是退化分布/点质量100% 押在一类最确定。正因为它是合法的概率分布才能当交叉熵里的真实分布P PP又因为它的熵为0 00交叉熵才塌缩成K L − log ⁡ Q ( 正确 ) \mathrm{KL}-\log Q(\text{正确})KL−logQ(正确)即负对数似然。它的基向量身份还顺手解释了 embedding——e i e_iei​乘矩阵就是取第i ii行所谓查表。从 one-hot 出发还能推广到软标签、标签平滑、multi-hot 一整个标签表示家族而工程实现上用整数索引就够了one-hot 是理解它的数学视角。OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼【AI】【模型部署】基座模型研究硬标签与软标签
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。