关于 Caffe 中的二元分类
About binary classification in Caffe
在解决一个二分类问题的时候,我觉得caffe中有两种可能的方法。
第一个是使用 "SigmoidCrossEntropyLossLayer"
和一个输出单元。
另一个是使用 "SoftmaxWithLossLayer"
和两个输出单元。
我的问题是这两种方法有什么区别?
我应该使用哪一个?
非常感谢!
如果你稍微玩点数学,你可以 "duplicate" "Sigmoid"
层的预测 class 概率为 0.5*x_i
class 1 -0.5*x_i
对于 class 0,则 "SoftmaxWithLoss"
层在单个输出预测 x_i
上相当于 "SigmoindWithCrossEntropy"
。
所以我相信可以说这两种方法对于预测二进制输出来说是等价的。
在解决一个二分类问题的时候,我觉得caffe中有两种可能的方法。
第一个是使用 "SigmoidCrossEntropyLossLayer"
和一个输出单元。
另一个是使用 "SoftmaxWithLossLayer"
和两个输出单元。
我的问题是这两种方法有什么区别?
我应该使用哪一个?
非常感谢!
如果你稍微玩点数学,你可以 "duplicate" "Sigmoid"
层的预测 class 概率为 0.5*x_i
class 1 -0.5*x_i
对于 class 0,则 "SoftmaxWithLoss"
层在单个输出预测 x_i
上相当于 "SigmoindWithCrossEntropy"
。
所以我相信可以说这两种方法对于预测二进制输出来说是等价的。