【发布时间】:2021-10-19 11:26:17
【问题描述】:
反关闭序言:我已阅读问题“difference between penalty and loss parameters in Sklearn LinearSVC library”,但我发现那里的答案不够具体。因此,我正在重新提出问题:
我我熟悉 SVM 理论,我正在 Python 中试验 LinearSVC 类。但是,documentation 对penalty 和loss 参数的含义还不是很清楚。我认为loss 是指对违反边距的点的惩罚(通常在目标函数中用希腊字母 xi 或 zeta 表示),而penalty 是确定类边界的向量范数,通常用 w 表示。任何人都可以确认或否认这一点吗?
如果我的猜测是正确的,那么penalty = 'l1' 将导致向量 w 的 L1-范数最小化,例如套索回归。这与 SVM 的最大边际概念有何关系?谁能指出我关于这个问题的出版物?在original paper describing LIBLINEAR 中,我找不到任何对 L1 惩罚的参考。
另外,如果我的猜测是正确的,为什么当dual=False 时LinearSVC 不支持penalty='l2' 和loss='hinge' 的组合(SVC 中的标准组合)?尝试时,我得到了
ValueError:不支持的参数集
【问题讨论】:
标签: python scikit-learn svm liblinear