- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
反关闭序言:我已阅读问题“difference between penalty and loss parameters in Sklearn LinearSVC library”,但我发现那里的答案不够具体。因此,我正在重新表述问题:
我熟悉 SVM 理论,我正在 Python 中试验 LinearSVC 类。然而,documentation关于 penalty
的含义不是很清楚和 loss
参数。我侦察到 loss
指的是对违反margin的点的惩罚(通常在目标函数中用希腊字母xi或zeta表示),而penalty
是确定类边界的向量的范数,通常用 w 表示。谁能证实或否认这一点?
如果我猜对了,那么penalty = 'l1'
将导致向量 w 的 L1 范数最小化,就像在 LASSO 回归中一样。这与 SVM 的最大间隔思想有何关系?谁能指出我关于这个问题的出版物?在original paper describing LIBLINEAR我找不到任何关于 L1 惩罚的引用。
另外,如果我的猜测是正确的,为什么LinearSVC不支持penalty='l2'
的组合?和 loss='hinge'
(SVC 中的标准组合)当 dual=False
时?尝试时,我得到了
ValueError: Unsupported set of arguments
最佳答案
虽然很晚了,但我会尽力给出我的答案。根据doc ,这里是 LinearSVC
考虑的原始优化问题: ,phi
是单位矩阵,假定 LinearSVC
仅解决线性问题。
实际上,这只是 LinearSVC
承认的可能问题之一(它是 L2-regularized, L1-loss 在LIBLINEAR 论文的条款)而不是默认条款(即 L2-regularized,L2-loss)。LIBLINEAR 论文对第 2 章中所谓的 loss
给出了更一般的表述,然后它还进一步阐述了附录(A2)中所谓的 penalty
+A4).
基本上,它声明 LIBLINEAR 旨在解决以下具有不同loss
函数的无约束优化 pb xi(w;x,y)
(它们是 铰链
和 squared_hinge
); LIBLINEAR 中模型的默认设置不考虑偏置项,这就是为什么从现在开始您将看不到对 b
的任何引用(关于此有很多帖子)。
hinge
或 L1-losssquared_hinge
或 L2-loss。关于penalty
,基本上这代表了所用向量w
的范数。附录详细阐述了不同的问题:
penalty='l2'
,loss='hinge'
): penalty='l2'
,loss='squared_hinge'
), LinearSVC
中的默认值: penalty='l1'
,loss='squared_hinge'
): 相反,如文档中所述,LinearSVC
不支持 penalty='l1'
和 loss='hinge'
的组合.据我所知,这篇论文没有具体说明原因,但我找到了一个可能的答案 here (在 Arun Iyer 的回答中)。
最终,不支持 penalty='l2'
、loss='hinge'
、dual=False
的有效组合在 here (它只是没有在 LIBLINEAR 中实现)或 here ;不确定是否是这种情况,但在从附录 B 开始的 LIBLINEAR 论文中指定了已解决的优化 pb(在 L2-regularized 的情况下,L1-loss 似乎是双重的)。
关于 SVC pbs 的一般理论讨论,我找到了 that chapter真的很有用;它显示了 w
范数的最小化如何与最大边距的概念相关。
关于python - LinearSVC中 `penalty`和 `loss`的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68819288/
这个问题在这里已经有了答案: Towards the "true" definition of JAVA_HOME (5 个答案) 关闭 4 年前。 为什么 ActiveMQ 提供者需要设置 JAV
这个问题在这里已经有了答案: What is a lambda expression in C++11? (10 个答案) 关闭 8 年前。 这是来自 boosts asio 的一个例子。这是什么意
这个问题在这里已经有了答案: What does the double colon (::) mean in CSS? (3 个答案) 关闭 7 年前。 我经常看到这种用法。特别是伪类。“::”在
嗨,另一个愚蠢的简单问题。我注意到在Apple框架中的某些typedef中使用符号"<<"谁能告诉我这是什么意思?: enum { UIViewAutoresizingNone
someObject.$() 是什么意思? 我正在浏览 sapui5 工具包中的 tilecontainer-dbg 文件,发现了这个: var oDomRef = this.$(); or some
这个问题已经有答案了: How to interpret function parameters in software and language documentation? (4 个回答) 已关闭
我遇到过这个语法。任何人都可以解释一下 getArg1ListInfo:()=>(object.freeze(arg1)) 的含义 function foo (arg1,arg2) { let
对于子类,我有以下代码: class child1 : public parent { public: static parent* function1(void) { ret
这个问题在这里已经有了答案: What does "|=" mean? (pipe equal operator) (6 个答案) 关闭 1 年前。 我有一部分代码包含以下功能: void Keyb
以下在 C++ 中是什么意思? typedef PComplex RComplex [100]; 请注意,PComplex 是我代码中的用户定义类型。 谢谢 最佳答案 RComplex 是 PComp
在我的 Lisp 代码中,我有函数 (nfa-regex-compile),它创建一个包含初始状态、转换和最终状态的 cons 列表(表示自动机的节点)从作为参数给出的正则表达式开始。 在这种情况下,
以下文字摘自 Learning Spark 第 3 章 One issue to watch out for when passing functions is inadvertently seria
PHP 文档 block 中以下内容的含义是什么: #@+ zend框架代码中的一个例子: /**#@+ * @const string Version constant numbers */ c
由于 python 的一些版本控制问题,我必须使用自定义函数来比较 HMAC (SHA512)。为此,我找到了这个函数: def compare_digest(x, y): if not (i
取自this answer here : static const qi::rule node = '{' >> *node >> '}' | +~qi::char_("{}"); 请注意,声明了名称
我正在查看 chi 包的文档。我看到类似的东西: https://github.com/pressly/chi/blob/master/_examples/rest/main.go#L154 data
我想知道如果我采用值为 8 的 INT,这是否意味着我只能从 1 到 99999999 或从 1 到 4294967295 UNSIGNED? 最佳答案 文档似乎很清楚这一点: Numeric Typ
我想知道如果我采用值为 8 的 INT,这是否意味着我只能从 1 到 99999999 或从 1 到 4294967295 UNSIGNED? 最佳答案 文档似乎很清楚这一点: Numeric Typ
这个问题在这里已经有了答案: 关闭9年前。 Possible Duplicate: Does “/* (non-javadoc)” have a well-understood meaning? 以下
在 Prolog 代码中,可以使用“ headless ”Horn 子句将指令传递给编译器,这些子句与指向左侧的物质蕴涵 ':-' (⇐) 的左侧没有头部关系。例如,导入模块或声明 Unit Test
我是一名优秀的程序员,十分优秀!