独热编码和标签平滑

独热编码

独热编码是将类别特征离散化后,使用一个只有一位为1其他位全为0的向量表示类别特征。举个例子,性别特征有三个特征值:男、女、不明,使用一个维度等于3的向量表示这个特征,男性用100表示,女性用010表示,不明用001表示。为什么要使用独热编码表示类别特征而不直接使用一个离散数字表示,比如男性用0表示,女性用1表示,不明用2表示。如果需要计算特征之间的距离,用这个距离表示特征值的相似性,使用独热编码可以保证任意两个特征值之间的距离是相同的,而使用离散值则不能保证这个特性,所以一般使用独热编码表示类别特征。

标签平滑

在使用独热编码作为目标输出时,有几个问题:
(1) softmax函数难以拟合独热编码
(2) 拟合独热编码容易造成过拟合

所以一般选择将尖锐的独热编码变平滑,并保证目标输出依然保持标签之间的偏序关系,即原来较大的依然较大,原来较小的依然较小。标签平滑一般的做法是设置一个概率$\xi$,在这个概率下保持标签不变,而在概率$1-\xi$下可能按照一个概率分布$P(y|\lambda)$转变成其他标签,所以现在目标输出的分布变为:

v是原来的独热编码,$P(y|\lambda)$一般可以选用均匀分布或狄利克雷分布。