gpt4 book ai didi

machine-learning - SVM 和铰链损失之间有什么关系?

转载 作者:行者123 更新时间:2023-11-30 08:29:41 25 4
gpt4 key购买 nike

我和我的同事正在尝试理解逻辑回归和支持向量机之间的区别。显然他们正在优化不同的目标函数。 SVM 是否像说它是一个判别分类器一样简单,可以简单地优化铰链损失?或者比这更复杂?支持向量如何发挥作用?那么松弛变量呢?为什么不能像不能拥有具有 sigmoid 激活函数的深度神经网络那样拥有深度 SVM?

最佳答案

我每次只回答一件事

Is an SVM as simple as saying it's a discriminative classifier that simply optimizes the hinge loss?

SVM 只是一个线性分类器,通过 L2 正则化优化铰链损失

Or is it more complex than that?

不,这“只是”这样,但是可以通过不同的方式来看待这个模型,从而得出复杂而有趣的结论。特别是,损失函数的这种特定选择会导致极其有效的核化,而这对于对数损失(逻辑回归)或 mse(线性回归)来说并非如此。此外,您还可以展示非常重要的理论属性,例如与 Vapnik-Chervonenkis 降维相关的理论属性,从而减少过度拟合的可能性。

直观地看一下这三种常见的损失:

  • 铰链:max(0, 1-py)
  • 日志:y日志p
  • mse:(p-y)^2

只有第一个具有一旦某物被正确分类的属性 - 它的惩罚为 0。即使线性模型对样本进行了正确分类,所有剩余的模型仍然会惩罚您的线性模型。为什么?因为他们与回归分类更相关,所以他们想要完美的预测,而不仅仅是正确

How do the support vectors come into play?

支持向量只是放置在决策边界附近的样本(粗略地说)。对于线性情况,它没有太大变化,但由于 SVM 的大部分功能在于其核化 - SV 非常重要。一旦引入核,由于铰链损失,可以有效获得SVM解,并且支持向量是训练集中唯一记住的样本,从而构建非线性与训练数据子集的决策边界。

What about the slack variables?

这只是铰链损失的另一个定义,当您想要对解决方案进行核化并显示凸性时更有用。

Why can't you have deep SVM's the way you can't you have a deep neural network with sigmoid activation functions?

您可以,但是由于 SVM 不是概率模型,因此它的训练可能有点棘手。此外,SVM 的全部优势来自于效率全局解决方案,一旦创建深度网络,这两者都会丢失。然而,确实有这样的模型,特别是SVM(具有平方铰链损失)现在经常被选择用于深度网络的最顶层——因此整个优化实际上是一个深度SVM。在中间添加更多层与 SVM 或其他成本无关 - 它们完全由其激活定义,例如您可以使用 RBF 激活函数,简单地说,它已被多次证明会导致模型较弱(局部特征)被检测到)。

总结一下:

  • 有深度 SVM,简单地说,这是一个典型的深度神经网络,上面有 SVM 层。
  • 不存在将 SVM 层置于“中间”的情况,因为训练标准实际上仅应用于网络的输出。
  • 由于其局部性(与非常全局的 relu 或 sigmoid 相对),使用“典型”SVM 内核作为激活函数在深度网络中并不流行

关于machine-learning - SVM 和铰链损失之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com