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

Xua*_*ang 11 algorithm classification machine-learning logistic-regression softmax

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

Vee*_*rni 8

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

示例:在数字识别的情况下,您有 10 个类要预测 [0-9],因此您可以将其视为这样一种情况:您为每个类建模输出 10 个概率,实际上我们选择具有最高概率的类作为我们预测的类。

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

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

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

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

希望这可以帮助。


Pra*_*mit 7

与其他人已经传达的内容相呼应.

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

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


msc*_*uer 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) 
Run Code Online (Sandbox Code Playgroud)


Jos*_*ard 2

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

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