分类时为什么都选择one hot编码

这里可以做一个思考啊,分类时,一般都会选择把类别用one hot进行编码,
比如共有5个类,那么就有5个编码
[1 0 0 0 0]
[0 1 0 0 0]
[0 0 1 1 1]
[0 0 0 1 0]
[0 0 0 0 1]

这是为什么呢?为什么不直接用1,2,3,4,5来表示5个类别呢?

个人觉得,一个很重要的原因在于计算loss时的问题。loss一般用距离来表示,
如果用1~5来表示,那么1和2的距离时1,而1和5的距离时4,但是按道理1和2、1和5的距离应该一样。
如果用one hot编码表示,那么1和2的距离跟1和5的距离时一样的。

当然,这里也可以说,通过判断,1和5是不是相等来决定距离,但是如果在神经网络里面,计算导数的时候,就是问题了。

你可能感兴趣的:(machine,learning)