Scikit-Learn支持向量机回归

news2024/11/19 5:52:22

Scikit-Learn支持向量机回归

    • 1、支持向量机回归
      • 1.1、最大间隔与SVM的分类
      • 1.2、软间隔最大化
      • 1.3、支持向量机回归
      • 1.4、支持向量机回归的优缺点
    • 2、Scikit-Learn支持向量机回归
      • 2.1、Scikit-Learn支持向量机回归API
      • 2.2、支持向量机回归初体验
      • 2.3、支持向量机回归实践(加州房价预测)



1、支持向量机回归


支持向量机(Support Vector Machine,SVM)算法既可以用于回归问题(SVR),也可以用于分类问题(SVC)。通常情况下,SVM用于分类问题,但后来也被扩展用于回归问题。SVM(回归)在机器学习知识结构中的位置如下:

1.1、最大间隔与SVM的分类


SVM是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,他的学习策略就是间隔最大化

如图所示,三条直线分别代表三个SVM分类器,请问哪一个分类器比较好?

在这里插入图片描述
凭直观感受答案应该是H3。首先H1不能把类别分开;H2可以,但分割线与最近的数据点只有很小的间隔,如果测试数据有一些噪声的话可能就会被H2错误分类(即对噪声敏感、泛化能力弱)。H3以较大间隔将它们分开,这样就能容忍测试数据的一些噪声,是一个泛化能力不错的分类器

对于支持向量机来说,数据点若是p维向量,我们用p−1维的超平面来分开这些点。但是可能有许多超平面可以把数据分类。最佳超平面的一个合理选择就是以最大间隔把两个类分开的超平面。因此,SVM选择能够使离超平面最近的数据点的到超平面距离最大的超平面

以上介绍的SVM只能解决线性可分的问题,为了解决更加复杂的问题,支持向量机学习方法由简至繁可分为三类:

  • 线性可分SVM

    当训练数据线性可分时,通过硬间隔(Hard Margin)最大化学习一个线性的分类器,即线性可分支持向量机(亦称作硬间隔支持向量机)

  • 线性SVM

    当训练数据不能线性可分但是可以近似线性可分时,通过软间隔(Soft Margin)最大化学习一个线性的分类器,即线性支持向量机(又称作软间隔支持向量机)

  • 非线性SVM

    当训练数据线性不可分时,通过使用核技巧(Kernel Trick)及软间隔最大化可以学习非线性支持向量机,等价于隐式地在高维特征空间中学习线性支持向量机

1.2、软间隔最大化


在实际应用中,完全线性可分(硬间隔)的情况非常少见。例如下面的分类图,我们没有办法找到一条直线,把空间划分为2个区域,因此,要对其进行切分,有以下两种方案:

1)仍然使用直线,不过不追求完全可分,适当包容一些分错的情况(线性SVM)

在这里插入图片描述
在这个过程中,我们会在模型中加入惩罚函数,尽量让分错的点不要太多。对分错点的惩罚函数就是这个点到其正确位置的距离

如上图所示,黄色、蓝色的直线分别为支持向量所在的边界,黑色的线为决策函数,那些绿色的线表示分错的点到其相应的决策面的距离,这样我们可以在原函数上面加上一个惩罚函数,并且带上其限制条件为:

在这里插入图片描述
上式为在线性可分问题的基础上加上的惩罚函数部分,当 x i x_i xi在正确一边的时候, ε i \varepsilon_i εi=0,R为全部的样本点的数目,C是惩罚系数

  • 当C很大的时候,分错的点就会更少,但是过拟合的情况可能会比较严重
  • 当C很小的时候,分错的点可能会很多,不过可能由此得到的模型也会不太正确

C越小对误分类的惩罚越小,C越大对误分类的惩罚越大,当C取正无穷时就变成了硬间隔优化。C越小越容易欠拟合,C越大越容易过拟合。实际应用中我们也会调整和选择合适的C值

2)用曲线将其完全分开,即非线性的决策边界(非线性SVM)

在这里插入图片描述
如果我们要处理的分类问题更加复杂,甚至不能像上面一样近似线性可分,这种情况下找到的超平面分错的程度太高,是不可接受的

对于这样的问题,解决的方案是将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分,然后再运用SVM求解。这个映射的函数称为核函数

在这里插入图片描述
更多关于软间隔与硬间隔、SVM的损失函数、核函数以及SVM分类的介绍详见文章:传送门

1.3、支持向量机回归


支持向量机回归的核心思想是通过最小化预测误差来拟合数据,并且在拟合过程中保持一个边界(间隔),使得大部分数据点都落在这个边界之内。SVR与分类问题中的支持向量机(SVC)类似,但其目标是拟合数据而不是分离数据

在SVC中,在数据集线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的数据点称为支持向量(Support Vector)

在这里插入图片描述
即所有在直线 ω X \omega X ωX+ b b b= 1 1 1和直线 ω X \omega X ωX+ b b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

氮化铝与氧化铍用于大功率电阻器产品

在过去的几十年里,氧化铍(BeO)一直是用于高功率应用的射频电阻器和端接的主要基板材料。虽然BeO非常适合电子行业的大功率应用,但其粉尘颗粒是有毒的;如果吸入BeO颗粒,它们可能会导致铍中毒,即肺部炎症。由…

202406最新manjaro安装sogou输入法解决方案(采用aur本地package+sogo deb包解决方案)

本地执行安装方法 1.拉取源码 git clone https://gitee.com/liushuai05/fcitx-sogoupinyin.git cd fcitx-sogoupinyin 2.获取sogo下载地址并替换到源码中 - 下载地址:https://pinyin.sogou.com/linux/ - 点击立即下载->x86_64->下载,然后右键复制…

vue+echarts实现tooltip轮播

效果图如下: 实现步骤如下: 定义一个定时器 timer:null, len: 0,页面一加载就清空定时器,此操作是为了防止重复加载时会设置多个定时器在setOption后设置定时器 this.myChart.clear() this.myChart.setOption(option); this.autoShowTool…

AbMole带你探索颅内压力与肌肉生长的联系:一项突破性研究

在生物医学领域,颅内压力(ICP)的调控机制一直是研究的热点。最近,一项发表在《PLOS ONE》上的研究为我们揭示了颅内压力与后颅窝肌肉生长之间的潜在联系,为我们理解某些慢性头痛的成因提供了新的视角。 颅内压力的异常…

Ubuntu-24.04-live-server-amd64启用ssh

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 Ubuntu安装qemu-guest-agent Ubuntu乌班图安装VIM文本编辑器工具 文章目录 系列文章目录前言一、输入安装命令二、使用私钥登录(可选)1.创建私钥2.生成三个文件说明3.将公钥复制到服务器 三…

抖音新规发布后,做抖音外卖代理需要注意什么?

近日,抖音发布了关于新增《【到家外卖】内容服务商开放准入公告》的意见征集通知(以下简称“通知”),吹响了抖音外卖全面开放的号角,抖音外卖代理怎么做等问题也随即成为了众多创业者交流群中的热议话题。 根据通知要求…

【MySQL】(基础篇十二) —— 子查询

分组数据 本文介绍什么是子查询以及如何使用它们。 SQL允许我们创建子查询(subquery),即嵌套在其他查询中的查询。这样可以实现更复杂的查询,理解这个概念的最好方法是考察几个例子。 利用子查询进行过滤 需求:查询…

Web后端Javaee企业级开发之定时任务 Springboot整合任务框架Quartz和Task详解

定时任务 在Java EE企业级开发中,定时任务(也称为后台调度或周期性任务)是非常常见的一种功能,主要用于执行那些不需要用户交互,但需要按照预定时间间隔或事件触发的任务。Java EE提供了几个框架和API来处理这种需求&…

使用API有效率地管理Dynadot域名,为文件夹中的域名统一设置whois信息

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

RabbitMQ实践——在Ubuntu上安装并启用管理后台

大纲 环境安装启动管理后台 RabbitMQ是一款功能强大、灵活可靠的消息代理软件,为分布式系统中的通信问题提供了优秀的解决方案。无论是在大规模数据处理、实时分析还是微服务架构中,RabbitMQ都能发挥出色的性能,帮助开发者构建高效、稳定的系…

如何用python调用C++处理图片

一. 背景 用pyhton可直接调用C,减少重写的工作量;部分逻辑运算,C的执行效率高,可进行加速。 下面就一个简单的C滤镜(彩色图转灰度图)为例,展示python调用C 二. 代码实现 代码结构如下&#x…

别再全网找了,这四款良心软件,还你一个清爽的电脑桌面

现在电脑桌面上软件多得吓人。 要是不整理,看着就闹心;整理起来呢,又累得够呛。 所以,很多人干脆就不用那些“用着没意思,删了又觉得可惜”的软件了。 但不管你怎么删,有些软件还是得留着,就像…

每日复盘-202406018

今日关注: 20240617 20240618 六日涨幅最大: ------1--------300868--------- 杰美特 五日涨幅最大: ------1--------300868--------- 杰美特 四日涨幅最大: ------1--------300868--------- 杰美特 三日涨幅最大: ------1--------300462--------- 华铭智能 二日涨…

线程安全问题的原因与解决方案

目录 1.线程在系统中是随机调度,抢占式执行; 2.多个线程同时修改同一个变量 3.线程对变量的修改操作指令不是“原子” 4.内存可见性,引起的线程不安全 拓展 小结 5.指令重排序,引起的线程不安全 为了可以更好的解释&#x…

儿童运动app开发,赢在“起跑线”

我国很早就发出了“体育强国”的口号,随着新高考的改革,体育成绩的占比也越来越大,这对同学们的高考分数也发挥着不可小觑的作用。为此,很多家长开始从小培养孩子的体育运动,力求在强身健体的同时,为考试助…

【大数据】大数据平台建设整体解决方案(Word源文件)

建设大数据管理中台,按照统一的数据规范和标准体系,构建统一数据采集﹣治理﹣共享标准、统一技术开发体系、统一接口 API ,实现数据采集、平台治理,业务应用三层解耦,并按照统一标准格式提供高效的…

PMP考试难度大吗?没基础能过吗?

由于目前的PMP考试主要基于新的大纲,许多内容已经发生了变化,因此学习新的知识,适应新的变化仍然非常重要。 一、新版考试的题量和答题时间有什么变化? 总题量从200道减少到180道,因此答题时间相对变得更充裕一些。 …

计算机网络:运输层 - TCP首部格式 连接的创建与释放

计算机网络:运输层 - TCP首部格式 & 连接的创建与释放 TCP首部格式源端口 目的端口序号确认号数据偏移保留控制位窗口检验和紧急指针 TCP连接创建 - 三次握手TCP传输过程TCP连接释放 - 四次挥手 TCP首部格式 TCP的首部如下: 首部的前20 byte是固定的…

在Python项目中自定义日志工具

在Python项目中自定义日志工具 日志记录是软件开发中的一个关键部分,它可以帮助开发人员调试代码、监控运行状况以及记录重要事件。在Python中,logging 模块提供了强大的日志记录功能。本文将介绍如何创建一个日志工具,使其能够同时将日志输…

【会议征稿,IEEE出版】第四届电气工程与机电一体化技术国际学术会议(ICEEMT 2024,7月5-7)

第四届电气工程与机电一体化技术国际学术会议(ICEEMT 2024)定于2024年7月5-7日在浙江省杭州市隆重举行 。会议主要围绕“电气工程”、“机电一体化” 等研究领域展开讨论,旨在为电气工程、机电一体化等领域的专家学者、工程技术人员、技术研发…