假设我有一个简单的单层神经网络,有 n 个输入和一个输出(二元分类任务)。如果我将输出节点中的激活函数设置为 sigmoid 函数,那么结果就是逻辑回归分类器。
在同样的场景中,如果我将输出激活更改为 ReLU(整流线性单元),那么得到的结构是否与 SVM 相同或相似?
如果不是为什么?
假设我有一个简单的单层神经网络,有 n 个输入和一个输出(二元分类任务)。如果我将输出节点中的激活函数设置为 sigmoid 函数,那么结果就是逻辑回归分类器。
在同样的场景中,如果我将输出激活更改为 ReLU(整流线性单元),那么得到的结构是否与 SVM 相同或相似?
如果不是为什么?
也许让你想到 ReLU 的是 SVM 的铰链损失,但损失并不限制输出激活函数为非负 (ReLU)。
为了使网络损失与支持向量机具有相同的形式,我们可以从输出层移除任何非线性激活函数,并使用铰链损失进行反向传播。
此外,如果我们将铰链损失替换为(这看起来像是铰链损失的平滑版本),那么我们将像典型的 sigmoid + 交叉熵网络一样进行逻辑回归。可以认为是将 sigmoid 函数从输出层移动到损失层。
因此,就损失函数而言,SVM 和逻辑回归非常接近,尽管 SVM 使用非常不同的算法进行基于支持向量的训练和推理。
在Pattern Recognition and Machine Learning一书的第 7.1.2 节中对 SVM 和逻辑回归的关系进行了很好的讨论。