逻辑回归和softmax回归的区别

Difference between logistic regression and softmax regression

我知道逻辑回归是针对二元 class 化的,而 softmax 回归是针对多 class 问题的。如果我使用相同的数据训练多个逻辑回归模型并将它们的结果归一化以获得 multi-class classifier 而不是使用一个 softmax 模型,会有什么不同吗?我假设结果是一样的。我可以说:"all the multi-class classifier is the cascading result of binary classifiers"。 (神经元网络除外)

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

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

您可以将逻辑回归视为二元 class 运算符,而 softmax 回归是实现多 class class 运算符的一种方式(还有其他方式)。 softmax回归的输出层数等于你要预测的class个数

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

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

link:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

区别:在上面的link中详细描述了只有2个class的softmax与逻辑回归相同。因此可以说主要区别只是命名约定。当我们处理 2-class 问题时,我们将其称为逻辑回归,而当我们处理跨国(超过 2 classes)问题时,我们将其称为 softmax。

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

希望对您有所帮助。

回应其他人已经传达的内容。

  1. Softmax 回归是 Logistic 回归的推广,它 将任意值的 'k' 维向量汇总为 'k' 范围 (0, 1) 内的值的维向量。
  2. 在逻辑回归中,我们假设标签是二进制的(0 或 1)。 但是,Softmax 回归允许处理 类.
  3. 假设函数:
    • LR:
    • Softmax 回归:

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

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