逻辑回归和softmax回归的区别

27

我知道逻辑回归是用于二分类问题,而softmax回归是用于多类问题。如果我使用同样的数据训练数个逻辑回归模型,并将它们的结果进行归一化以获取一个多类分类器,与使用一个softmax模型是否有任何区别?我认为结果是相同的。可以说:“所有的多类分类器都是由二分类器级联得到的”。(除了神经网络)


2
请注意,有一种标准的适应逻辑回归到多类问题的方法,例如在 https://en.wikipedia.org/wiki/Multinomial_logistic_regression 中进行了解释,并有多种解释,其中之一提到了softmax。 - mcdowella
非常感谢,这真的很有帮助。 - Xuan Wang
1
我在stats.stackexchange.com上写了一个答案。希望能对你有所帮助。 - Lerner Zhang
4个回答

15

重复了其他人已经传达的内容。

  1. Softmax回归是逻辑回归的一般化,它将一个任意值的“k”维向量总结为一个在范围(0,1)内的“k”维值向量。
  2. 在逻辑回归中,我们假设标签是二进制的(0或1)。然而,Softmax回归允许处理类。
  3. 假设函数:
    • LR:
    • Softmax回归:

参考资料:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/


10
您可以将逻辑回归视为二元分类器,而 softmax 回归是实现多类分类器的一种方式(也有其他方式)。在 softmax 回归中,输出层的数量等于您要预测的类数。
例如:在数字识别的情况下,您有 10 类需要预测[0-9],因此您可以将其视为模型为每个类输出 10 个概率的情况,在实践中,我们选择具有最高概率的类作为我们的预测类别。
从上面的例子中可以看出,softmax 函数的输出等于类的数量。这些输出确实等于每个类的概率,因此它们总和为一。有关代数解释,请参阅斯坦福大学网站,该网站对此主题进行了很好而简短的解释。
链接:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/ 区别:在上述链接中详细描述了仅有 2 个类的 softmax 与逻辑回归相同。因此,可以说主要区别仅在于命名约定。当我们处理二元问题时,我们称之为逻辑回归,而当我们处理多元(超过 2 类)问题时,我们称之为 softmax。
请注意:值得记住的是,softmax 回归也可以用于其他模型,如神经网络。
希望这有所帮助。

5
当将潜在的模型输出对(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) 

假设你正在为softmax拟合一个线性模型作为参数。这个转换可以通过权重来实现,你可以编写一个公式将一组权重转换为另一组权重,以使得两种拟合方法在二元分类器上是“等效的”。 - Att Righ

2

在多元逻辑回归模型和softmax输出中存在一些小差异。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接