Machine learning 关于Caffe中的二元分类

Machine learning 关于Caffe中的二元分类,machine-learning,neural-network,deep-learning,caffe,Machine Learning,Neural Network,Deep Learning,Caffe,在解决二进制分类问题时,我认为在caffe中有两种可能的方法。 第一个用于一个输出单元。 另一个用于两个输出单元。 我的问题是这两种方法有什么区别? 我应该使用哪一个? 多谢各位 如果你稍微玩弄一下数学,你可以“复制”类1的“Sigmoid”层的预测类概率为0.5*x_i,类0的-0.5*x_i,那么层的“SoftmaxWithLoss”相当于“SigmoidWithCrossEntropy”关于单输出预测x_i 因此,我相信这两种方法可以被视为预测二进制输出的等效方法。也许应该使用Sigmoi

在解决二进制分类问题时,我认为在caffe中有两种可能的方法。
第一个用于一个输出单元。
另一个用于两个输出单元。 我的问题是这两种方法有什么区别?
我应该使用哪一个?

多谢各位

如果你稍微玩弄一下数学,你可以“复制”类1的
“Sigmoid”
层的预测类概率为
0.5*x_i
,类0的
-0.5*x_i
,那么
层的“SoftmaxWithLoss”
相当于
“SigmoidWithCrossEntropy”
关于单输出预测
x_i


因此,我相信这两种方法可以被视为预测二进制输出的等效方法。

也许应该使用SigmoidWithCrossEntropy,因为这一种在最后一层的参数较少?@whjxnyzh这是一个有趣的考虑。就个人而言,我支持SoftmaxWithLoss。我想是旧习惯吧……谢谢@Shai。是的,SoftmaxWithLoss在caffe中很方便,我们可以使用AccuracyLayer获得精度。但是我们不能使用带有交叉熵损失的SigmoidWithCross熵损失的AccuracyLayer,因为这一个只有一个输出…从数学上讲,这两个损失函数是相同的,事实上SoftmaxWithLoss在进行二元分类时被过度参数化了。请参阅“与逻辑回归的关系”一节。