首页 > 其他分享 >0006.有监督学习之支持向量机(SVM)

0006.有监督学习之支持向量机(SVM)

时间:2023-06-05 20:12:48浏览次数:36  
标签:0006 SVM 函数 SMO 算法 超平面 向量

一、什么是SVM

支持向量机(Support Vector Machine,SVM)是用于分类的一种算法,也属于有监督学习的范畴。

当一个分类问题,数据是线性可分(linearly separable)的,也就是用一根棍就可以将两种小球分开的时候,我们只要将棍的位置放在让小球距离棍的距离最大化的位置即可,寻找这个最大间隔的过程,就叫做最优化。但是,现实往往是很残酷的,一般的数据是线性不可分的,也就是找不到一个棍将两种小球很好的分类。这个时候,我们就需要球模拟成三维空间,然后找到将球分类的平面。而将球模拟成三维空间的这个东西就是核函数(kernel),用于切分小球的平面就是超平面(hyperplane)。如果数据集是N维的,那么超平面即使N-1维的。

把一个数据集正确分开的超平面可能有多个(如下图),而那个具有“最大间隔”的超平面就是SVM要寻找的最优解。而这个正则的最优解对应的两侧虚线所穿过的样本点,就是SVM中的支持样本点,称为“支持向量(support vector)”。支持向量到超平面的距离被称为间隔(margin)。

 

二、线性SVM

1. 概述

一个最优化问题通常有两个最基本的因素:

① 目标函数,也就是你希望什么东西的什么指标大到最好;

② 优化对象,你期望通过改变哪些因素来使你的目标函数达到最优。

在线性SVM算法中,目标函数显然就是那个“间隔”, 而优化对象则是超平面。

我们以线性可分的二分类问题为例

2. 间隔的计算公式

3. 约束条件

4. 线性SVM优化问题基本描述

5. 最优化问题的求解

6. 对偶问题求解

三、SMO算法

1. 概述

2. SMO算法流程

3. 简化版SMO算法

3.1 SMO算法的伪代码

3.2 构建辅助函数

3.3 简化版SMO算法

3.4 支持向量的可视化

4. 完整版SMO算法

4.1概述

4.2 虚招决策边界的优化例程

4.3 构建完整版SMO算法

5. 核函数

5.1 Sigmoid核函数

五、非线性SVM

1. 构建核转换函数

2. 更新辅助函数

3. 非线性SVM算法

4. 利用核函数进行分类

六、SVM之手写数字识别

1. 导入数据集

2. 手写数字的测试函数

3. 不同核函数及参数运行结果

七、算法总结

1. 优点

2. 缺点

标签:0006,SVM,函数,SMO,算法,超平面,向量
From: https://www.cnblogs.com/lxinghua/p/17458803.html

相关文章

  • 支持向量机(含具体推导、核函数)
    参考了西瓜书,《机器学习》周志华背景在超平面(比如三维立体,甚至更高维)上,找到一个分类面\[\boldsymbol{w}^T\boldsymbol{x}+b=0\]看起来很陌生,其实直线方程和\(Ax+By+C=0\)一个道理,只不过拓展到了高维,另外注意这里的\(\boldsymbol{x}\)是指一个高维变量使得分......
  • 什么是SVM
    支持向量机(SupportVectorMachine,SVM) 概念:在支持向量机中,样本数据被看作是在空间中的点,不同类别的样本被尽可能大的间隔分开。超平面是一个划分空间的决策边界,具有最大间隔,使得离超平面最近的样本点称为支持向量原理:支持向量机可以用于线性可分和线性不可分的数据......
  • 【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例
    全文链接:http://tecdat.cn/?p=32604原文出处:拓端数据部落公众号分析师:BaileyZheng和Lijie Zhang即使是同一种植物,由于生长的地理环境的不同,它们的特征会有所差异。例如鸢尾花,可分为山鸢尾、杂色鸢尾、维吉尼亚鸢尾。假设此时您得到了一朵鸢尾花,如何判断它属于哪一类呢?支......
  • 向量
     1.物理角度向量是空间中的箭头 2.计算机角度向量是有序的数字列表 3.数学角度就是将上面两个结合起来 一维向量就是一条线二维向量就是在一个平面三维向量就是在三维空间 ......
  • 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、
    全文链接:http://tecdat.cn/?p=27384最近我们被客户要求撰写关于葡萄酒的研究报告,包括一些图形和统计输出。在本文中,数据包含有关葡萄牙“VinhoVerde”葡萄酒的信息介绍该数据集(查看文末了解数据获取方式)有1599个观测值和12个变量,分别是固定酸度、挥发性酸度、柠檬酸、残糖、......
  • 基于ARIMA、SVM、随机森林销售的时间序列预测|附代码数据
    原文链接  http://tecdat.cn/?p=1130最近我们被客户要求撰写关于时间序列预测的研究报告,包括一些图形和统计输出。如今DT(数据技术)时代,数据变得越来越重要,其核心应用“预测”也成为互联网行业以及产业变革的重要力量。对于零售行业来说,预测几乎是商业智能(BI)研究的终极问题,单纯......
  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
    ------------恢复内容开始------------在上一篇文章中我们大致讲述了一下如何通过词嵌入向量的方式为大语言模型增加长期记忆,用于落地在私域场景的问题。其中涉及到使用openai的接口进行词嵌入向量的生成以及chat模型的调用由于众所周知的原因,国内调用openai接口并不友好,所以今......
  • java-向量(Vector)
     向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。和数组一样,Vector对象的元素也能通过索引访问。使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。https://www.lekaowang.com/glhjs/hty/......
  • 基于PSO优化的SVM数据预测算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要         支持向量机(supportvectormachines,SVM)是二分类算法,所谓二分类即把具有多个特性(属性)的数据分为两类,目前主流机器学习算法中,神经网络等其他机器学习模型已经能很好完成二分......
  • m基于MSER最大稳定极值区域和SVM的交通标志检测识别算法的matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要        在计算机视觉领域,最大稳定极值区域(MSER)(MaximallyStableExtremalRegions)是一种用于在图像中进行斑点检测的方法。这个方法由Matas等人提出,用于在两个不同视角的......