反关闭序言:我已阅读问题“ Sklearn LinearSVC 库中的惩罚和损失参数之间的差异”,但我发现那里的答案不够具体。因此,我正在重新制定问题:
我熟悉 SVM 理论,并且正在 Python 中尝试使用 LinearSVC 类。但是,文档对参数的含义并不十分清楚。我认为这是指对违反边距的点的惩罚(通常在目标函数中用希腊字母xi或zeta表示),而是确定类边界的向量的范数,通常用w表示。任何人都可以确认或否认这一点吗?penalty
loss
loss
penalty
如果我的猜测是正确的,那么penalty = 'l1'
将导致向量w的L1范数最小化,就像在 LASSO 回归中一样。这与 SVM 的最大边际概念有何关系?谁能指出我关于这个问题的出版物?在描述 LIBLINEAR 的原始论文中,我找不到任何关于L1惩罚的参考。
另外,如果我的猜测是正确的,为什么 LinearSVC 不支持penalty='l2'
and的组合( SVCloss='hinge'
中的标准组合) when ?尝试时,我得到了dual=False
ValueError:不支持的参数集