当前位置: 首页 > news >正文

机器学习3_支持向量机_线性不可分——MOOC

线性不可分的情况

如果训练样本是线性不可分的,那么上一节问题的是无解的,即不存在 \omega 和 b 满足上面所有N个限制条件。

对于线性不可分的情况,需要适当放松限制条件,使得问题有解。

放松限制条件的基本思路:

\Rightarrow 对每个训练样本及标签 \left ( X_i,Y_i \right )

\Rightarrow 设置松弛变量(slack variable)\delta _i

对于线性不可分情况,需适当放松限制条件

限制条件改写:y_i\left ( \omega ^Tx_i+b \right )\geq 1-\delta _i,(i=1\sim N)

改造后的支持向量机优化版本

最小化:\frac{1}{2}\left \| \omega \right \|^2+C\Sigma _{i=1}^N\delta _i  或  \frac{1}{2}\left \| \omega \right \|^2+C\Sigma _{i=1}^N\delta _i^2

限制条件:

(1)\delta _i\geq 0,\left ( i=1\sim N \right )

(2)y_i\left ( \omega ^TX_i+b \right )\geq 1-\delta _i,\left ( i=1\sim N \right )

  • 以前的目标函数只需要最小化  \frac{1}{2}\left \| \omega \right \|^2 现在的目标函数增加了一项  所有 \delta _i 的和。
  • 比例因子 C\Rightarrow  平衡两项

比例因子 C 是人为设定的。

人为事先设定的参数叫做算法的超参数(Hyper Parameter)

实际中:不断变化 C 的值 \Rightarrow 同时测试算法的识别率 \Rightarrow 选取超参数 C

一个算法中,选取的超参数 C 越多,意味着算法需要手动调整优化的地方也就越多,这样算法的自动性也会降低。

支持向量机是超参数很少的算法模型。

超参数很多的算法模型,如人工神经网络、卷积神经网络等。

在线性不可分情况下应用支持向量机

取目标函数:\frac{1}{2}\left \| \omega \right \|^2+C\Sigma _{i=1}^N\delta _i,C=10000

C=10000 是为了超平面和线性可分情况保持基本一致

以下是训练数据以及解出的分类面的展示

可以看到这个分类面分开大多数的圆圈和叉,只在一个训练样本上存在分类的错误。

有了线性不可分情况下的支持向量机算法

如图,这个解分错了将近一半的样本,这个解远远不能让人满意。

问题在于我们的算法模型是线性的。也就是,我们假设分开两类的函数是直线或者超平面,我们是在一组直线和超平面中选择最合适分开这两类数据的直线或者超平面。但线性模型的表现力是不够的。

在下图这个例子中,可以看到能够分开这两类的是某种曲面,例如这个椭圆,而不是直线。

因此,我们只有想办法扩大可选函数的范围,使它超越线性,才有可能应对各种复杂的线性不可分的情况。


低维到高维的映射

支持向量机在扩大可选函数范围方面独树一帜。

其他算法,如人工神经网络、决策树等,采用的是直接产生更多可选函数的方式。

例如上图,在人工网络中,通过多层非线性函数的组合能够产生类似于椭圆这样的曲线,从而分开这幅图中的圆圈和叉。

而支持向量机却不是直接产生这样的函数,而是通过将特征空间由低维映射到高维,然后在高维的特征空间当中用线性超平面对数据进行分类。

X_1X_2 是图中的❌,X_3X_4 是图中的⭕️

这个例子是线性不可分的

如果我们构造一个二维到五维到映射 \varphi \left ( x \right ) 

\varphi \left ( x \right ): x=\begin{bmatrix} a\\ b \end{bmatrix}\rightarrow \varphi \left ( x \right )=\begin{bmatrix} a^2\\ b^2\\ a\\ b\\ ab \end{bmatrix}

按照这个映射,可以解出X_1X_2 、X_3X_4

\varphi \left ( X_1 \right )=\begin{bmatrix} 0\\ 0\\ 0\\ 0\\ 0 \end{bmatrix}     \varphi \left ( X_2 \right )=\begin{bmatrix} 1\\ 1\\ 1\\ 1\\ 1 \end{bmatrix}     \varphi \left ( X_3 \right )=\begin{bmatrix} 1\\ 0\\ 1\\ 0\\ 0 \end{bmatrix}     \varphi \left ( X_4 \right )=\begin{bmatrix} 0\\ 1\\ 0\\ 1\\ 0\end{bmatrix}

当映射变成五维时\varphi \left ( X_1 \right )\varphi \left ( X_2 \right )\varphi \left ( X_3 \right )\varphi \left ( X_4 \right )  线性可分

设:

\omega =\begin{bmatrix} -1\\ -1\\ -1\\ -1\\ 6 \end{bmatrix}

b=1

可以算出

\omega ^T\varphi \left (X_1\right )+b = 1\geqslant 0                  \omega ^T\varphi \left (X_2\right )+b = 3\geqslant 0

\omega ^T\varphi \left (X_3\right )+b =- 1< 0               \omega ^T\varphi \left (X_4\right )+b = -1< 0

由于X_1X_2 是同一类,X_3X_4 是同一类

人为二维到五维到映射 \varphi \left ( X \right )线性不可分的数据集 \Rightarrow 线性可分的数据集

假设:

在一个M维空间上随机取N个训练样本,随机的对每个训练样本赋予标签 +1 或 -1

假设:

这些训练样本线性可分的概率为 P\left ( M \right )

当 M 趋于无穷大时,P\left ( M \right )=1

即,当我们增加特征空间的维度 M 的时候,超平面待估计的参数 \left ( \omega ,b \right ) 的维度也会增加。也就是整个算法模型的自由度会增加。

这个定理告诉我们,将训练样本由低维映射到高维 \Rightarrow 增大线性可分的概率。

相关文章:

机器学习3_支持向量机_线性不可分——MOOC

线性不可分的情况 如果训练样本是线性不可分的&#xff0c;那么上一节问题的是无解的&#xff0c;即不存在 和 满足上面所有N个限制条件。 对于线性不可分的情况&#xff0c;需要适当放松限制条件&#xff0c;使得问题有解。 放松限制条件的基本思路&#xff1a; 对每个训…...

bash: git: command not found

在windows上重新安装Git之后&#xff0c;遇到cmd可以使用git命令&#xff0c;但是git bash中使用的git命令的时候&#xff0c;会提示&#xff1a; $ git bash: git: command not found 解决办法 找到用户目录下的.bash_profile和.bashrc文件&#xff0c;编辑打开&#xff0c;找…...

大模型LLama3!!!Ollama下载、部署和应用(保姆级详细教程)

首先呢&#xff0c;大家在网站先下载ollama软件 这就和anaconda和python是一样的 废话不多说 直接上链接&#xff1a;Download Ollama on Windows 三个系统都支持 注意&#xff1a; 这里的Models&#xff0c;就是在上面&#xff0c;大家点开之后&#xff0c;里面有很多模型…...

ReactPress系列—NestJS 服务端开发流程简介

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议&#xff0c;感谢Star。 NestJS 服务端开发流程简介 NestJS 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。它使用 TypeScript&#xff08;但也支持纯 Java…...

Maven 下载配置 详解 我的学习笔记

Maven 下载配置 详解 我的学习笔记 一、Maven 简介二、maven安装配置三、maven基本使用四、idea配置mavenidea配置maven环境maven坐标idea创建maven项目配置Maven-Helper插件 五、依赖管理 一、Maven 简介 Apache Maven 是一个项目管理和构建工具&#xff0c;它基于项目对象模型…...

【学术精选】SCI期刊《Electronics》特刊“New Challenges in Remote Sensing Image Processing“

英文名称&#xff1a;New Challenges in Remote Sensing Image Processing 中文名称&#xff1a;"遥感图像处理的新挑战"特刊 期刊介绍 “New Challenges in Remote Sensing Image Processing”特刊隶属于《Electronics》期刊&#xff0c;聚焦遥感图像处理领域快速…...

卷积神经网络——pytorch与paddle实现卷积神经网络

卷积神经网络——pytorch与paddle实现卷积神经网络 本文将深入探讨卷积神经网络的理论基础&#xff0c;并通过PyTorch和PaddlePaddle两个深度学习框架来展示如何实现卷积神经网络模型。我们将首先介绍卷积神经网络、图像处理的基本概念&#xff0c;这些理论基础是理解和实现卷…...

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等。 掌握和使用qemu和libvirt,分别使用它们创建一个cirros虚拟机,并配置好网络。 宿主机node0的系统为ubuntu16,IP为192.168.56.200。 qemu和libvirt简介 QEMU…...

最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断

引入 最近在开发一款极致优雅的前端状态管理库AutoStore时碰到这样一个问题。 拟实现Field组件&#xff0c;该组件相关类型简化代码如下&#xff1a; type Field (props:{validate,render:(props:{value,isValid}) })该组件&#xff0c;具有validate和render两个属性: 其中…...

Linux基础指令1

好久没写博客了&#xff0c;这次我将重新做人&#xff0c;每星期都更&#xff0c;做不到的话直接倒立洗头。最近在学Linux&#xff0c;感觉很厉害的样子&#xff0c;先浅学一下再弄数据结构去。 Linux的基本操作是通过指令来执行的&#xff0c;所以我们先来学习下指令。 1.简…...

软件设计师:排序算法总结

一、直接插入 排序方式&#xff1a;从第一个数开始&#xff0c;拿两个数比较&#xff0c;把后面一位跟前面的数比较&#xff0c;把较小的数放在前面一位 二、希尔 排序方式&#xff1a;按“增量序列&#xff08;步长&#xff09;”分组比较&#xff0c;组内元素比较交换 假设…...

「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现

本篇将带领你实现一个实用的计时器应用&#xff0c;用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互&#xff0c;是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中&#xff0c;用户…...

计算机专业开题报告写法,该怎么写好?

不会写开题报告&#xff0c;或者想要一些论文模版的&#xff0c;欢迎评论&#xff0c;会第一时间给大家。 题报告是计算机专业大学毕业生在开展毕业设计或论文研究前&#xff0c;对研究课题进行详细介绍和计划的重要环节。作为开题者对科研课题的一种文字说明&#xff0c;开题…...

Vue(JavaScript)读取csv表格并求某一列之和(大浮点数处理: decimal.js)

文章目录 想要读这个表格&#xff0c;并且求第二列所有价格的和方法一&#xff1a;通过添加文件输入元素上传csv完整&#xff08;正确&#xff09;代码之前的错误部分因为价格是小数&#xff0c;所以下面的代码出错。如果把parseFloat改成parseInt&#xff0c;那么求和没有意义…...

Pyraformer复现心得

Pyraformer复现心得 引用 Liu, Shizhan, et al. “Pyraformer: Low-complexity pyramidal attention for long-range time series modeling and forecasting.” International conference on learning representations. 2021. 代码部分 def long_forecast(self, x_enc, x_m…...

成绩排序c++

说明 给出了班里某门课程的成绩单&#xff0c;请你按成绩从高到低对成绩单排序输出&#xff0c;如果有相同分数则名字字典序小的在前。 输入格式 第一行为nn(0<n<200<n<20)&#xff0c;表示班里的学生数目; 接下来的nn行&#xff0c;每行为每个学生的名字和他的…...

人脸检测之MTCNN算法网络结构

MTCNN&#xff08;Multi-task Cascaded Convolutional Networks&#xff09;是一种用于人脸检测和关键点检测的深度学习模型&#xff0c;特别适合在复杂背景下识别出多尺度的人脸。它通过多任务学习来实现人脸检测和人脸关键点定位&#xff08;如眼睛、鼻子、嘴巴的位置&#x…...

蓝桥杯顺子日期(填空题)

题目&#xff1a;小明特别喜欢顺子。顺子指的就是连续的三个数字&#xff1a;123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中&#xff0c;存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期&#xff0c;因为它出现了一个顺子&#xff1a;123&a…...

Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑

云HIS系统优势 &#xff08;1&#xff09;客户/用户角度 无需安装&#xff0c;登录即用 多终端同步&#xff0c;轻松应对工作环境转换 系统使用简单、易上手&#xff0c;信息展示主次分明、重点突出 极致降低用户操作负担&#xff1a;关联功能集中、减少跳转&#xff0c;键盘快…...

【C++的vector、list、stack、queue用法简单介绍】

【知识预告】 vector的介绍及使用list的介绍及使用list与vector的对比stack的介绍和使用queue的介绍和使用priority_queue的介绍和使用 1 vector的介绍及使用 1.1 vector的介绍 vector是表示可变大小数组的序列容器和数组类似&#xff0c;vector也采用连续存储空间来存储元…...

自媒体人的秘密武器:OpenClaw+nanobot自动生成视频字幕文件

自媒体人的秘密武器&#xff1a;OpenClawnanobot自动生成视频字幕文件 1. 为什么我们需要自动化字幕生成 作为一个长期在视频创作领域摸索的自媒体人&#xff0c;我深知字幕制作这个环节有多折磨人。曾经为了给一段10分钟的视频添加字幕&#xff0c;我需要反复暂停播放、手动…...

AI教材生成大揭秘!工具选择与低查重教材编写的实用干货

在教材编写的过程中&#xff0c;许多编辑者常常会感到遗憾&#xff1a;尽管正文章节已经经过了反复打磨&#xff0c;但因为缺乏必要的配套资源&#xff0c;整体教学效果却受到影响。课后练习的设计需要具有层次感&#xff0c;但缺乏灵活的想法&#xff1b;教学课件希望能做到形…...

告别单行输入:在Python IDLE Shell中轻松编辑多行代码的完整指南

告别单行输入&#xff1a;在Python IDLE Shell中轻松编辑多行代码的完整指南 对于Python初学者来说&#xff0c;IDLE Shell是一个既熟悉又陌生的存在。熟悉是因为它随Python安装包默认提供&#xff0c;陌生则源于大多数人仅将其视为简单的交互式命令行工具。实际上&#xff0c;…...

探索前沿技术趋势:2024年最值得关注的创新应用场景

1. 生成式AI的爆发式应用 2024年最让人兴奋的技术趋势&#xff0c;莫过于生成式AI从实验室走向千家万户。我最近测试了十几个主流AI创作工具&#xff0c;发现它们已经能完成许多过去认为"只有人类能做到"的任务。比如用Midjourney生成产品设计图&#xff0c;只需要简…...

Ryujinx:高性能Nintendo Switch模拟器技术指南

Ryujinx&#xff1a;高性能Nintendo Switch模拟器技术指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx是一款采用C#开发的开源Nintendo Switch模拟器&#xff0c;它通过精确…...

基于YOLOv11姿态检测的AI健身助手具备实时姿态识别、运动计数与反馈、训练记录和计划制定功能

基于YOLOv11姿态检测的AI健身助手 ✨ 功能特点 实时运动计数 - 自动计算您的健身次数多种运动支持 - 包括深蹲、俯卧撑、仰卧起坐、哑铃运动等十多种先进的姿态检测 - 采用YOLOv11实现精准跟踪模型切换功能 - 可以在小型(更快)和大型(更精确)YOLOv11模型之间轻松切换可视化反馈…...

从拼图游戏到自动驾驶:点云配准技术的跨领域进化史

从拼图游戏到自动驾驶&#xff1a;点云配准技术的跨领域进化史 1. 三维世界的数字拼图师 1987年&#xff0c;当Paul Besl和Neil McKay在实验室里尝试将两组扫描数据对齐时&#xff0c;他们可能不会想到&#xff0c;这项被称为迭代最近点&#xff08;ICP&#xff09;的技术会成为…...

ArcGIS Pro模型构建器实战:从零搭建自动化地理处理工作流

1. 初识ArcGIS Pro模型构建器 第一次接触ArcGIS Pro的模型构建器时&#xff0c;我完全被它的可视化操作界面惊艳到了。这就像搭积木一样&#xff0c;不需要写一行代码&#xff0c;就能把复杂的地理处理流程串起来。记得当时有个项目需要批量处理上百个乡镇的耕地数据&#xff0…...

告别手打公式!用SimpleTex截图转LaTeX+Axmath微调+Typora排版的保姆级教程

数学公式高效处理全流程&#xff1a;从截图识别到专业排版 每次在论文或笔记中插入复杂的数学公式时&#xff0c;你是否也经历过这样的痛苦&#xff1f;反复核对LaTeX代码中的每个括号&#xff0c;调整上下标位置&#xff0c;或是为了一个特殊符号翻遍文档。传统的手动输入方式…...

用腾讯云轻量锐驰和对象存储,手把手教你30分钟搞定私人不限速网盘(附SSL证书配置)

零基础30分钟搭建高性能私人网盘&#xff1a;腾讯云轻量锐驰对象存储实战指南 你是否也受够了公有网盘动辄几百KB的下载速度&#xff1f;每次分享文件给朋友&#xff0c;对方总要忍受龟速下载的煎熬。更别提那些突然消失的文件和频繁弹出的会员广告——是时候拥有一个完全自主掌…...