Sklearn LinearSVC库中惩罚参数和损失参数的区别

2023-12-03

我对 SVM 理论不太熟悉,我在 python 中使用这个 LinearSVC 类:

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

我想知道惩罚参数和损失参数有什么区别?


在机器学习中,损失函数衡量解决方案的质量,同时惩罚函数对您的解决方案施加了一些限制。

具体来说,让X是你的数据,并且y是你的数据的标签。然后损失函数 V(f(X),y)衡量你的模型有多好f将您的数据映射到标签。这里,f(X) 是预测标签的向量。

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

As for 惩罚函数,它用于施加一些约束R(f)关于你的解决方案f。 L1范数可以是R(f)=|f1| + ... + |fm|,类似地你可以定义 L2 范数。这里,f1、...、调频是模型的系数。您最初并不知道它们,这些是机器学习算法从您的数据中学习的值。

最终,总成本函数为V(f(X),y) + lambda*R(f)。目标是找到能够最小化成本函数的 f。然后这个 f 将被用来对新的看不见的物体进行预测。为什么我们需要惩罚函数?事实证明,惩罚函数可能会为您的解决方案添加一些不错的属性。例如,当特征太多时,L1 范数可以通过生成稀疏解决方案来帮助防止过度拟合。

*这并不完全是支持向量机的工作原理,但可能会让您了解这些术语的含义。例如,在SVM中,使用L1-铰链损失函数和L2-铰链损失函数。L1-hinge: V(f(X),y) = max(0,1 - y1*f(x1)) + ... + max(0,1 - yn*f(xn)),L2 类似,但具有平方项。您可能会在以下位置找到关于 ML 的很好的介绍:Andrew Ng 在 Coursera 上的机器学习课程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sklearn LinearSVC库中惩罚参数和损失参数的区别 的相关文章

随机推荐

  • 在 Android Studio 中添加新模块时 java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB 错误

    添加新模块时出现奇怪的错误 https github com lomza android color picker 到我的项目 如果没有这个模块 项目运行正常 但是如果将此项目作为模块添加到我的主项目中并编译它 一切看起来都很好 但应用程序
  • 数据库速度优化:少表多行,还是多表少行?

    我有一个很大的疑问 让我们以任何公司订单的数据库为例 假设这家公司每月大约发出 2000 个订单 那么 每年大约 24K 个订单 他们不想删除任何订单 即使它已经有 5 年了 嘿 这是一个例子 数字并不意味着任何事物 就拥有良好的数据库查询
  • 将匿名函数传递给具有局部变量的命名函数时,Javascript 中的范围问题

    对这个标题感到抱歉 我不知道如何表达它 这是场景 我有一个构建元素的函数 buildSelect id cbFunc 在 buildSelect 中它执行以下操作 select attachEvent onchange cbFunc 我还有
  • 创建 PDF 的最佳 C# API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 您能推荐任何适用于 C 的
  • awk 打印每个类别的所有最小值

    想要打印基于的所有最小值1 美元和 3 美元组合 如果有两条或多条线路可用 对于具有 1 和 3 唯一组合的最小值 则需要打印所有行 例如 1 Abc 的最小值 3 10 出现两次 即 Abc yyy 10 aaa 和 Abc ttt 10
  • CatBoost 精度不平衡类

    我使用 CatBoostClassifier 我的类高度不平衡 我应用了一个scale pos weight参数来解决这个问题 在使用评估数据集 测试 进行训练时 CatBoost 在测试中显示出很高的精度 然而 当我使用预测方法对测试进行
  • 使用jquery停止网页滚动

    我正在网页中使用查询凹凸盒插件 我正在处理 但在使用它时我仍然可以滚动离开凹凸盒 我想知道是否有某种 jquery 方法可以阻止网页滚动 或者只是以与用户滚动相同的距离向相反的方向滚动 由于没有发布代码 很难具体说明 但为了防止滚动 您可以
  • 尝试理解 Java 8 中的方法引用(将类方法分配给功能接口)[重复]

    这个问题在这里已经有答案了 我试图更好地理解方法引用是如何工作的 在这个例子中 我遵循了代码的逻辑 但我不明白这样做的价值 基本上 在 STEP 2 中的方法引用赋值之后 someMethod 被用作 MyInterface 的 displ
  • 删除 *.pyc 并重新运行 .py 脚本后出现奇怪的行为

    我有三个模块 one py def abc print Heeeeeeeeeeeiiiiiioooooooooo two py import one def defg one abc three py import os from time
  • sqlite3 列类型

    我正在开始一个新项目 该项目必须将数据转换为XML to db XMLs有自己的格式 不能用来填充db 我选择使用sqlite 因为它是一个嵌入式平台 我需要一个轻量级的库 我正在努力处理列类型 我写了下面的sql static int c
  • 在 C# 中使用 cmd 将文件从一个目录复制到另一个目录

    我需要将文件从一个目录复制到另一个目录并对该文件执行某些操作 我需要复制它cmd 而不是File Copy 因为我需要将副本作为ProcessStartInfo 您可以使用此代码并更改startInfo Arguments but C应该
  • ChromeDriver 仅支持 Chrome 版本 89

    使用 Azure DevOps 不知何故管道停止工作 并且在运行时无法完成测试ng lint ng e2e ng test watch false 这在本地运行时有效 16 43 25 I launcher Running 1 instan
  • as3 从另一个类调用 Main.as 文档类中的函数

    我确信这是一个受欢迎的问题 但我找不到我需要的确切答案 我只需要访问在 Main as 文档类中创建的一个或多个函数 我尝试了几种方法 但似乎都不起作用 这是我尝试过的一个例子 anotherClass as 这需要访问函数Main as
  • 交互失败discord.py按钮

    client command async def button ctx await ctx message delete await ctx send Support Tickets components Button label Gene
  • 将包含 ASCII 的字符串转换为 Unicode

    我从 HTML 页面获取一个字符串到我的 Java HTTPServlet 中 根据我的要求 我得到了显示汉字的 ASCII 代码 可以告诉我 没有空格 我怎样才能把这个字符串转换成Unicode HTML 代码
  • 从 HTML 按钮运行 Python 脚本

    P 我正在尝试实现一个将运行 Python 脚本的按钮forward py 让我的机器人前进 使用 Lighttpd Web 服务器 PHP 7 0 Python 脚本在终端窗口中执行时工作正常 但是当我尝试通过单击按钮运行它时 它不起作用
  • 推送到 GitHub 时出现 403 错误

    我正在尝试将一个新的本地分支 名为 haystack 推送到我的 github 存储库 git push u origin haystack 但我收到错误 错误 访问时请求的 URL 返回错误 403https github com Gra
  • 使用 jQuery 验证单选按钮

    在我的表单上有一组单选按钮 这是标记 div class optionHolder p class optionName Format p div class option checked div div
  • AsyncTask 从不执行 onPostExecute

    我正在尝试执行以下 AsyncTask private class TimeUpdateTask extends AsyncTask
  • Sklearn LinearSVC库中惩罚参数和损失参数的区别

    我对 SVM 理论不太熟悉 我在 python 中使用这个 LinearSVC 类 http scikit learn org stable modules generated sklearn svm LinearSVC html skle