我知道逻辑回归适用于二元分类,softmax 回归适用于多类问题。如果我用相同的数据训练几个逻辑回归模型并将它们的结果归一化以获得多类分类器而不是使用一个 softmax 模型,会有什么不同吗?我假设结果是一样的。我能说:“所有的多类分类器都是二元分类器的级联结果”。(神经元网络除外)
4 回答
与其他人已经传达的内容相呼应。
- Softmax Regression 是 Logistic Regression 的推广,它将任意值的“k”维向量汇总为范围 (0, 1) 内的值的“k”维向量。
- 在逻辑回归中,我们假设标签是二进制的(0 或 1)。然而,Softmax 回归允许处理
类。
- 假设函数:
- LR:
- Softmax 回归:
- LR:
参考:http ://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/
您可以将逻辑回归视为二元分类器,而 softmax 回归是实现多类分类器的一种方式(还有其他方式)。softmax 回归中的输出层数等于您要预测的类数。
示例:在数字识别的情况下,您有 10 个类要预测 [0-9],因此您可以将其视为您为每个类建模输出 10 个概率的情况,实际上我们选择概率最高的类作为我们预测的类。
从上面的例子可以看出softmax函数的输出等于类的数量。这些输出确实等于每个类别的概率,因此它们总和为 1。对于代数解释,请查看斯坦福大学网站,该网站对该主题有很好的简短解释。
链接:http ://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/
区别:在上面的链接中详细描述了只有 2 类的 softmax 与逻辑回归相同。因此可以说主要的区别只是命名约定。当我们处理 2 类问题时,我们将其称为逻辑回归,当我们处理多国(超过 2 类)问题时,我们将其称为 softmax。
注意:值得记住的是,softmax 回归也可以用于其他模型,如神经网络。
希望这可以帮助。
当您将潜在模型输出对转移(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 输出之间存在细微差别。
本质上,您可以将大小为d的输入映射到单个输出k次,或者将大小为d的输入映射到k个输出一次。然而,多重逻辑回归模型令人困惑,并且在实践中表现较差。这是因为大多数库(TensorFlow、Caffe、Theano)都是用低级编译语言实现的,并且经过高度优化。由于管理多个逻辑回归模型可能会在更高级别处理,因此应该避免。