第1章 逻辑分类概述
所谓逻辑分类,分为2分类和多分类,其中二分类是逻辑分类的基础。
二分类的本质上就是其标签值不是任意值,而是确定性的二进制数值:0或1, 0表示“不是”该分类,1表示为“是”该分类。
多分类是基于二分类的,在多分类中,为了支持底层的标签依然是0或1,为了保持与分类的一致性,在多分类中采用了一种称为OneHot的编码方式。
第2章 分类编码的诉求
![[人工智能-深度学习-13]:神经网络基础逻辑分类标签与OneHot编码](https://cdn.perryykatherine68.workers.dev/origin/pgc-image/aeadafae6a7c47cbbd99689cf4cbbd86.jpg)
如上图,有10个数字,即10种分类,每个样本标签为0-9, 0-9的标签,可以多种编码方式:
(1)使用0-9的数值对0-9的标签进行编码,这是最自然的一种编码方式,但这种编码方式做逻辑分类中遇到了严重的问题:无法通过Yi_pred - Yi表示预测值与标签值的距离。
![[人工智能-深度学习-13]:神经网络基础逻辑分类标签与OneHot编码](https://cdn.zdzzes.workers.dev/origin/pgc-image/555dde7fa6f0481080b7fb6ce8bde86a.jpg)
在上图中,首先看标签值本身,按理说0-9个标签是相互独立的,他们的距离是相等的。
然后实际上0和9的距离是最大的。相邻数值之间的距离是1,直观上看,我们很难说1就比9更靠近0. 但如果从上述标签的编码数值来看,1-0 =1, 9-0=9, 数值上1更靠近0,但从逻辑分类上看,1和9与0的距离是一样的!!!因此上述的编码方式,不适合逻辑分类。
其二,比如sigmod函数的输出值Yi_pred始终落在【0,1】之间,按照上述编码,Yi_pred到0和1的始终要不到9的距离近。这很显然不符合我们的分类需求。
其三,如果神经元的输出,没有sigmod,可以是任何值,比如10000,从数值距离上看,10000比9更近,但很难说,它就是“9的”输出!!!
因此,需要一种全新的编码方式,OneHot编码。
第3章 OneHot编码
![[人工智能-深度学习-13]:神经网络基础逻辑分类标签与OneHot编码](https://cdn.hadnvahdfnab.workers.dev/origin/pgc-image/9ad149138d104a22baf86515a6508751.jpg)
OneHot编码, 任何分类对应的标签都用“1”表示,只是所处的维度不同,他们所在的维度,通过在OneHot编码中的下标索引来区分。
如图形”0“的维度使用下标0,如果其下标对应的二进制比特是1,则表示为图形”0“
如图形”1“的维度使用下标1,如果其下标对应的二进制比特是1,则表示为图形”1“
如图形”2“的维度使用下标2,如果其下标对应的二进制比特是1,则表示为图形”2“
如图形”2“的维度使用下标3,如果其下标对应的二进制比特是1,则表示为图形”3“
![[人工智能-深度学习-13]:神经网络基础逻辑分类标签与OneHot编码](https://cdn.hadbssjbava.workers.dev/origin/pgc-image/71e38d4edd1a4ec4bc4082e558443e1c.jpg)
上述是多分类的示意图:
(1)每一个分类都有自己独立的标签Yi (OneHot编码)。
(2)每一个分类的标签编码后的值都是数值1.
(3)每一个分类都有自己独立的输出Yi_pred。
(4)每个独立的输出都在[0,1]之间,其输出值的大小了与标签值相似的程度,输出预测值,越接近于1,表明与该分类越相似。sigmod和softmax函数就得到这样的效果,sigmod是针对单个二分类情形,而softmax是针对多分类情形,确保每个维度的输出在[0,1]之间。
(5)对于某个输入,其loss是每个维度相似度(距离)的汇总。
————————————————
感谢大家的支持和喜欢,小编会每天分享更多Python学习的干货知识给大家,所以大家别忘了 关注 小编哦。
![[人工智能-深度学习-13]:神经网络基础逻辑分类标签与OneHot编码](https://cdn.jeanburnsy34.workers.dev/origin/pgc-image/999ed143cbee4c76b0bd108bdafbbda2.jpg)
版权声明:本文为CSDN博主「文火冰糖的硅基工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HiWangWenBing/article/details/120585934