one-hot编码

在分类问题上,将label处理成one-hot编码格式是很通用的做法,什么是one-hot编码?就是将类别变量转换为机器学习算法易于利用的一种形式的过程。

比如:

上面这个公司对应四个标签值,类比值是成比例增加的,处理成one-hot编码格式:


大家会发现VW从1变成了(1,0,0),时间上这各向量就是一组以类别作为长度,在每一类具体所在位置上标1.

为什么处理成这样的格式呢?因为在输入数据时,假定类别值越高,该类别越好,这会对我们输入的数据造成很大影响,尤其是在进行计算时,loss损失函数,求导,平均值计算等等。比如说,假设模型内部计算平均值(神经网络中有大量加权平均运算),那么1+3=4,4/2=2,这意味着VM和Honda平均是Acura,这是很有问题的。

因为在分类问题上,每个类别之间是相对独立的,我们使用one-hot这种二值化操作就很有效。当然如果输出序列之间存在某种连续性的关系,使用one-hot就不合适了,使用distributed respresentation就更合适,能够体现上下文的语义关系。


猜你喜欢

转载自blog.csdn.net/u012193416/article/details/80772075