逻辑回归和softmax回归之间的差异

时间:2016-03-17 04:08:48

标签: algorithm machine-learning classification logistic-regression softmax

我知道逻辑回归是针对多类问题的二元分类和softmax回归。如果我使用相同的数据训练几个逻辑回归模型并将其结果标准化以获得多类分类器而不是使用一个softmax模型,那么会有任何差异吗?我假设结果是一样的。我可以说:"所有的多类分类器都是二进制分类器的级联结果"。 (神经网络除外)

4 个答案:

答案 0 :(得分:7)

回应别人已传达的内容。

  1. Softmax回归是Logistic回归的推广 总结任意值的'k'维向量到'k' 限制在范围(0,1)内的值的维向量。
  2. 在Logistic回归中,我们假设标签是二进制(0或1)。 但是,Softmax回归允许人们处理类。
  3. 假设函数:
    • LR:
    • Softmax回归:
  4. 参考:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

答案 1 :(得分:4)

您可以将逻辑回归视为二元分类器,而softmax回归是实现多类分类器的一种方式(还有其他方法)。 softmax回归中的输出层数等于您要预测的类数。

示例:在数字识别的情况下,您有10个类来预测[0-9],因此您可以将此视为您为每个类建模输出10个概率的情况,并且在实践中我们选择具有作为我们预测班级的最高概率。

从上面的例子可以看出,softmax函数的输出等于类的数量。这些输出确实等于每个类的概率,因此它们总和为1。有关代数的解释,请查看斯坦福大学的网站,该网站对此主题有一个简短的解释。

链接:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

差异:在上面的链接中,详细描述了仅具有2级的softmax与逻辑回归相同。因此可以说主要区别仅在于命名约定。当我们处理2类问题时,我们将其称为逻辑回归,当我们处理跨国(超过2类)问题时,我们将其称为softmax。

注意:值得记住的是,softmax回归也可用于其他模型,如神经网络。

希望这有帮助。

答案 2 :(得分:1)

多个逻辑回归模型和softmax输出存在细微差别。

基本上,您可以将大小 d 的输入映射到单个输出 k 次,或将大小 d 的输入映射到 k 输出一次。然而,多个逻辑回归模型令人困惑,并且在实践中表现较差。这是因为大多数库(TensorFlow,Caffe,Theano)都是用低级编译语言实现的,并且经过高度优化。由于管理多个逻辑回归模型可能在更高级别处理,因此应该避免。

答案 3 :(得分:0)

当将潜在模型输出对(z1, z2)转移到z = z1-z2并应用逻辑函数时,可以将逻辑回归与二进制softmax回归相关联。

softmax(z1, z2) = exp(z1)/(exp(z1) + exp(z2)) = exp(z1 - z2)/(exp(z1-z2) + exp(0)) = exp(z)/(exp(z) + 1)