作者:桔了个仔 链接:https://www.zhihu.com/question/359742335/answer/930586793 来源:知乎
其实真不一定必须用one hot,不过用one hot时,主要因素包括:
- one hot的形式无法比较大小。如果你预测的label是苹果,雪梨,香蕉,草莓这四个,显然他们不直接构成比较关系,但如果我们用1,2,3,4来做label就会出现了比较关系,labe之间的距离也不同。有了比较关系,第一个label 和最后一个 label的距离太远,影响模型的学习。因为模型觉得label 1和label 2最像,和最后一个label 最不像。不过当你的label之间存在直接的比较关系,就可以直接用数字当label。例如你做一个风控模型,预测的是四个风险类别[低,中,高,紧急],其实你也可以用1,2,3,4来做label,因为确实存在一个比较。但这本质上就成了回归问题。
- one hot的形式还可以计算top N准确度。预测的结果将会是[0.1, 0.6, 0.2, 0.1]这样的形式,我们一般取概率最高的那个为预测结果,假设这四个label还是[苹果,雪梨,香蕉,草莓],如果真实的结果是雪梨,那么这个结果是top1 准确的。但如果实际结果是香蕉,但香蕉的概率排第二,那么这个结果也是top 2准确的。top N准确率在推荐类应用中很常用,你购物时经常会看到物品下方有N个推荐搭配,如果推荐模型的top N准确率越高,那么这个购物推荐的最后转化效果就越好。