Press "Enter" to skip to content

softmax损失相关的小问题

有三AI1000问-机器学习篇

 

为什幺分类任务softmax损失输入是2通道,sigmoid损失是1通道

 

 

想必大家都玩过图像分类了,为什幺同样是2分类任务,softmax损失函数的输入是2通道而sigmoid损失函数的输入是1通道?

 

归根结底还是因为这两个损失根本就不是用于同一个任务,尽管在二分类的时候它们恰好是同一个问题。

 

我们首先看一下softmax损失函数定义,i表示第i个样本,k表示第k类,C表示总类别数,yik是第i个样本第k类的标签,f(xik)即样本i属于第k类的概率。

 

 

在k=0到C中,只有一个yik非零,这个损失函数的定义是用于多类别分类任务的,即一个样本只属于其中一个类别,比如手写数字的1,2,3,4,5,6,7。在具体实现损失的时候,就需要先取到非零的通道,按照上式计算该通道损失,所以输入通道数目为2。

 

再看sigmoid损失函数定义:

 

从这个式子可以看出,根本就没有类别C的概念,yi即是否为正样本,f(xi)即样本i是否为正样本的概率,所以单个的sigmoid损失函数只能用于二分类问题。 假如有一个分类任务为男,女,老,少,就需要2个sigmoid损失函数。在具体实现损失的时候,每一类问题只需要知道一个正样本概率直接带入上式即可,所以输入通道数目为1。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注