博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度学习 | (4) 分类问题的Label为啥是one-hot?
阅读量:4037 次
发布时间:2019-05-24

本文共 713 字,大约阅读时间需要 2 分钟。

在上两次博客中,我们定义分类问题的损失函数,其中用到的Label都是one-hot形式,其实真不一定必须用one-hot,不过用one-hot的主要因素包括(在PyTorch中我们不用显式地自己把标签(一维列表或一维数组形式的整数索引)转换为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表示Label,就不会构成比较关系。
  • one hot的形式还可以计算top N准确度。预测的结果将会是[0.1, 0.6, 0.2, 0.1]这样的形式,我们一般取概率最高的那个为预测结果,假设这四个label还是[苹果,雪梨,香蕉,草莓],如果真实的结果是雪梨,那么这个结果是top1 准确的。但如果实际结果是香蕉,但香蕉的概率排第二,那么这个结果也是top 2准确的。top N准确率在推荐类应用中很常用,你购物时经常会看到物品下方有N个推荐搭配,如果推荐模型的top N准确率越高,那么这个购物推荐的最后转化效果就越好

转载地址:http://szsdi.baihongyu.com/

你可能感兴趣的文章
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node
查看>>
Understanding Oracle Flex Clusters
查看>>