首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sklearn库中损失和惩罚参数的差异

Sklearn库中损失和惩罚参数的差异
EN

Stack Overflow用户
提问于 2014-07-30 17:10:28
回答 1查看 4K关注 0票数 3

我不太熟悉支持向量机理论,我在python中使用这个LinearSVC类:

http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC

我想知道罚球和输球之间的区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-30 17:49:02

在机器学习中,丢失函数度量解决方案的质量,而惩罚函数对解决方案施加一些限制。

具体来说,设X是你的数据,y是你数据的标签。然后,损失函数V(f(X),y)度量模型f如何将数据映射到标签。这里,f(X)是一个预测标签的向量。

L1和L2规范是常用的和直观理解的损失函数(见*)。L1 normV(f(X),y) = |f(x1) - y1| + ... + |f(xn) - yn|,其中f(xi) -第I-对象的预测标签,而yi是实际的标签.L2 normV(f(X),y) = sqrt(|f(x1) - y1|^2 + ... + |f(xn) - yn|^2),其中sqrt是平方根。

对于罚函数,它被用来在解f上施加约束R(f),L1范数可以是R(f)=|f1| + ... + |fm|,也可以定义L2范数。这里,f1,.,fm是模型的系数。您一开始并不知道这些值,这些值是通过机器学习算法从您的数据中获得的。

最终,总体成本函数是V(f(X),y) + lambda*R(f)。我们的目标是找到f,这会使你的成本函数最小化。然后,这个f将用于对新的未见对象进行预测。为什么我们需要一个惩罚函数?结果是,惩罚函数可能会为您的解决方案添加一些好的属性。例如,当您有太多的特性时,L1规范通过生成稀疏的解决方案来帮助防止过度匹配。

* --这并不是支持向量机的确切工作方式,但可能会让您了解这些术语的含义。例如,在支持向量机中,使用L1-铰链损耗和L2-铰链损失函数.L1-铰链V(f(X),y) = max(0,1 - y1*f(x1)) + ... + max(0,1 - yn*f(xn))和L2相似,但有平方项。您可能会在吴荣奎的机器学习课中找到关于ML的很好的介绍。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25042909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档