交叉熵理解:softmax_cross_entropy,binary_cross_entropy,sigmoid_cross_entropy简介

cross entropy 交叉熵的概念网上一大堆了,具体问度娘,这里主要介绍深度学习中,使用交叉熵做为类别分类。html

   一、二元交叉熵 binary_cross_entropy网络

   咱们一般见的交叉熵是二元交叉熵,由于在二分类中的交叉熵能够比较方便画出图像来,以下图,为“二元交叉熵”,机器学习

   当咱们的label标注结果0时,以下图右侧曲线,当预测结果为1时,返回的loss 无穷大,反之,loss 与 label标注结果一致都为0时,函数

   loss = 0。  当咱们的label标注结果1时, 同理。学习

 

 

 

   二、多元交叉熵 softmax_cross_entropy,sigmoid_cross_entropy编码

        咱们在生活中一般事物的类别不是二分类,对与错的,一般是有多个类别,好比,动物有:猫,鱼,狗,马....等。所以,多分类的loss必不可少,htm

  下面是“多元交叉熵”的公式,二元交叉熵是0是一类,1是一类,可是多远交叉熵有多个类别,如何处理?这时候也就要使用机器学习中经常使用的One_hot。blog

   当咱们神经网络有多个类别是,咱们输出神经元数量一般是多个的,而后取输出的最大的做为类别,这是时候,咱们一般要对须要分类的目标作一个简单深度学习

  的编码,好比:猫:1,鱼:2,狗:3,马:4, (0:一般是背景or其余类别),这样,好比当前样本label是马:4,咱们的 One_hot = [0,0,0,0,1],每一个位置为it

  0和1的值,这时候就能够将多分类“变成” 多个二分类,以下图:其中yi就是某个类别的label,h(xi)是模型类别输出的结果。

 

 

 

  三、softmax_cross_entropy,sigmoid_cross_entropy的区别,字面上区别就是:softmax,sigmoid。其实经过上面分析,咱们的cross_entropy的定义域(自变量)

  的取值范围是0-1的,然而模型神经元输出(一般最后一层不加激活函数)是[-,+] 负无穷到正无穷的。所以须要将咱们的数值转变到 0-1,目前经常使用的2中转变方式,

  “应运而生”,以下图:

   

注:

   softmax图来源:https://www.cnblogs.com/alexanderkun/p/8098781.html

   sigmoid 图来源 :https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407?fr=aladdin

相关文章
相关标签/搜索