[SVM系列之一]白话支持向量机(SVM)
初识支持向量机(SVM)
我们来玩一个游戏:
首先在桌子上放两种颜色的球,它们似乎存在某种关系,那你能不能用一根木棒将两种颜色分开呢?要求:尽可能在桌面上放置更多的小球后仍然适用。
你大概会这么放吧:
为了测试你的答案是不是符合要求,我在桌上又放了更加多的蓝红小球,可以发现,一个红球被分错了位置:
支持向量机(SVM)可以白话为:试图找到一个木棍放置的最佳位置,使得木棍的两边有尽可能大的间隙。
如此一来,即使我放更多的红蓝小球,木棍仍然可以正确分开两种颜色:
看来我出的题目还是太简单了,下面我给你出个难点儿的问题:桌面上的小球按下图放置,你肯定不能直接用木棍分开两种颜色的小球了,要怎么办呢?
你可以用力拍桌子,使球飞到空中,然后快速用一张纸插到两种颜色的球之间。(只是为了便于理解,小孩子请勿模仿233333)
再从桌面的角度看这些小球,它们被完美地用一条曲线分开了。
我们可以定义几个高大上的名词,把这些小球叫做数据(data),把棍子叫做分类器(classifier),最大间隙trick叫做优化(optimization), 拍桌子叫做核化(kernelling), 那张纸叫做超平面(hyperplane)。
白话SVM原理
假设我们要通过一条线把实心圆圈和空心圆圈分为两类。
那么有无数多条线可以完成这个任务。
在SVM中,我们寻找一条最优的分界线使得它到两边的margin都最大。
在这种情况下边缘加粗的几个数据点就叫做Support Vector,这也是这个分类算法名字的来源。
如下图所示:
我们还可以将其扩展到任意nn维度空间上:
首先在11维到nn维空间中得到了一系列数据点
然后总能在n−1n−1维上找到一个最优超平面(hyperplane)
什么是支持向量机(SVM)?
下面阐述一下正经概念:
支持向量机(Support Vector Machine,简称SVM)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
通俗来讲,它是一种二分类模型。它不是一种机器,而是一种机器学习算法。其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
后记:在本节,你仅需对SVM有个大致的了解,在本系列后续教程中,我们会更加深入讨论支持向量机的原理以及应用场景,并配合实验来加深理解。
[SVM系列之一]白话支持向量机(SVM)相关推荐
- 【支持向量机SVM系列教程4】SVM应用实战
文章目录 4 实例:使用SVM完成人脸分类任务 4.1 数据集的下载 4.2 数据集的进一步提取与查看 4.3 PCA降维 4.4 模型的定义及拟合 4.5 划分训练集和测试集 4.6 调参 4.7 ...
- matlab程序svm四等级分类,支持向量机(SVM)多分类matlab程序代码
%模型训练及数据整理 model_12=svmtrain(class_12_label,class_12_value); model_13=svmtrain(class_13_label,class_ ...
- 支持向量机SVM(三)软间隔与松弛变量的替代损失函数
前两篇关于SVM的讨论中,我们只讨论了样本在原始空间和特征空间中线性可分的情况,但是,现实不可能这么完美,就算真的被找到了,但是世上没有免费的午餐,最后的结果很可能过拟合了. 所以要来讨论一下,怎么付 ...
- 支持向量机SVM(一)原始函数与对偶函数
此篇文章对支持向量机推导过程进行详解,仅作为本人纪录一遍对SVM的复习过程. 所有公式已做手动推导,为了美观(字丑),将选择贴出周老先生西瓜书的一些结论和李航统计机器学习和南瓜书推导过程. 该系列其他 ...
- python机器学习案例系列教程——支持向量机SVM、核函数
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 线性函数.线性回归.线性分类 参考:http://blog.csdn.net/luanpeng825485697/article/de ...
- 支持向量机SVM详细原理,Libsvm工具箱详解,svm参数说明,svm应用实例,神经网络1000案例之15
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的股票价格预测 支持向量机SVM的详细原理 SVM的定义 ...
- OpenCV支持向量机SVM的实例(附完整代码)
OpenCV支持向量机SVM的实例 OpenCV支持向量机SVM的实例 OpenCV支持向量机SVM的实例 #include <opencv2/core.hpp> #include < ...
- 支持向量机SVM原理解析
支持向量机(SVM) 支持向量机(support vector machine,SVM)使用训练集中的一个子集来表示决策边界,边界用于样本分类,这个子集称作支持向量(support vector). ...
- 《SVM笔记系列之六》支持向量机中的核技巧那些事儿
<SVM笔记系列之六>支持向量机中的核技巧那些事儿 前言 我们在前文[1-5]中介绍了线性支持向量机的原理和推导,涉及到了软和硬的线性支持向量机,还有相关的广义拉格朗日乘数法和KKT条件等 ...
- 影像组学视频学习笔记(11)-支持向量机(SVM)(理论)、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(11)主要介绍: SVM支持向量机(理论) 支持向量机 (support vector machine, SVM) 号称是鲁棒性(rob ...
最新文章
- MongoDB的基本用法
- js赋值后 改变现有数据会修改原来的数据
- 【蓝桥杯官网训练 - 历届试题】对局匹配(dp,思维,取模)
- Tomacat服务器的安装和配置
- 为什么要在JavaScript中使用静态类型? 我们是否应该使用它们?
- 后端接口如何提高性能?从MySQL、ES、HBASE等技术一起探讨下!
- 使用寄存器点亮LED——编程实战
- python数据分析如何学_用Python做数据分析,Numpy,Pandas,matp
- 斐波那契数列的三种解法
- 医院计算机房相关制度,医院机房管理制度.docx
- rs232接口_串口,COM口,TTL,RS232,RS485,UART的区别详解
- MySQL基础(DML,DQL,增删改查)
- 深入浅出mysql_深入浅出MySQL读书笔记(一)
- linux怎样压缩文件夹加密文件,linux下文件加密压缩和解压的方法
- CUDA out of memory. Tried to allocate 150.00 MiB (GPU 0; 4.00 GiB total capacity; 2.24 GiB already a
- 安卓应用在各大应用市场上架方法
- python安装lap_AP 升级到 LAP,或 LAP 降到 AP 的方法
- Ridge Regression and Kernel Ridge Regression
- 向Linux高手进阶,这些都是你的垫脚石!
- matlab求圆台模型,使用Matlab画出圆台圆锥圆柱
热门文章
- 多智能体深度强化学习值分解方法总结(1)——VDN/QMIX/QTRAN/Qatten
- 安川机器人io对照表_安川机器人信号
- 基于STM32单片机电阻电容电感检测仪设计
- 【大数据面试宝典】 第一篇 Hadoop 面试题
- 华为hcie证书含金量_华为hcie证书含金量高吗
- 人物-发明家-特斯拉:尼古拉·特斯拉
- 使用ResNet101作为预训练模型训练Faster-RCNN-TensorFlow-Python3-master
- 三菱Q系列ST、结构化编程、QD77定位以及转矩模式切换案例 三菱PLC程序案例
- iOS App 签名的原理 App 重签名(二)
- navicat中文破解版,navicat for mysql10.0.11简体中文破解版