通俗易懂--SVM算法讲解(算法+案例)

1.SVM讲解

新闻分类案例

SVM是一个很复杂的算法,不是一篇博文就能够讲完的,所以此篇的定位是初学者能够接受的程度,并且讲的都是SVM的一种思想,通过此篇能够使读着会使用SVM就行,具体SVM的推导过程有一篇博文是讲得非常细的,具体链接我放到最后面,供大家参考。

1.1支持向量机(SVM)的由来

首先我们先来看一个3维的平面方程:Ax+By+Cz+D=0

这就是我们中学所学的,从这个方程我们可以推导出二维空间的一条直线:Ax+By+D=0

那么,依次类推,更高维的空间叫做一个超平面:

x代表的是一个向量,接下来我们看下二维空间的几何表示:

SVM的目标是找到一个超平面,这个超平面能够很好的解决二分类问题,所以先找到各个分类的样本点离这个超平面最近的点,使得这个点到超平面的距离最大化,最近的点就是虚线所画的。由以上超平面公式计算得出大于1的就属于打叉分类,如果小于0的属于圆圈分类。

这些点能够很好地确定一个超平面,而且在几何空间中表示的也是一个向量,那么就把这些能够用来确定超平面的向量称为支持向量(直接支持超平面的生成),于是该算法就叫做支持向量机(SVM)了。

1.2如何找到超平面

函数间隔

在超平面wx+b=0确定的情况下,|wx+b|能够表示点x到距离超平面的远近,而通过观察wx+b的符号与类标记y的符号是否一致可判断分类是否正确,所以,可以用(y(w*x+b))的正负性来判定或表示分类的正确性。于此,我们便引出了函数间隔(functional margin)的概念。定义函数间隔(用 表示)为:

但是这个函数间隔有个问题,就是我成倍的增加w和b的值,则函数值也会跟着成倍增加,但这个超平面没有改变。所以有函数间隔还不够,需要一个几何间隔。

几何间隔

我们把w做一个约束条件,假定对于一个点 x ,令其垂直投影到超平面上的对应点为 x0 ,w 是垂直于超平面的一个向量,为样本x到超平面的距离,如下图所示:

根据平面几何知识,有

1.3最大间隔分类器

对一个数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度(confidence)也越大。所以,为了使得分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值。这个间隔就是下图中的Gap的一半。

1.4后续问题

至此,SVM的第一层已经了解了,就是求最大的几何间隔,对于那些只关心怎么用SVM的朋友便已足够,不必再更进一层深究其更深的原理。

SVM要深入的话有很多内容需要讲到,比如:线性不可分问题、核函数、SMO算法等。

在此推荐一篇博文,这篇博文把深入的SVM内容也讲了,包括推导过程等。如果想进一步了解SVM,推荐看一下:

支持向量机通俗导论:https://blog.csdn.net/v_JULY_v/article/details/7624837#commentBox

1.5新闻分类实例

github地址

寻觅互联网,少有机器学习通俗易懂之算法讲解、案例等,项目立于这一问题之上,整理一份基本算法讲解+案例于文档,供大家学习之。通俗易懂之文章亦不可以面概全,但凡有不正确或争议之处,望告知,自当不吝赐教!

.

.

.

.

欢迎添加微信交流!请备注“机器学习”。

原文地址:https://www.cnblogs.com/mantch/p/10165425.html

时间: 2024-10-01 06:12:38

通俗易懂--SVM算法讲解(算法+案例)的相关文章

通俗易懂--逻辑回归算法讲解(算法+案例)

1.逻辑回归(Logistic Regression) GitHub地址(案例代码加数据) 1.1逻辑回归与线性回归的关系 逻辑回归是用来做分类算法的,大家都熟悉线性回归,一般形式是Y=aX+b,y的取值范围是[-∞, +∞],有这么多取值,怎么进行分类呢?不用担心,伟大的数学家已经为我们找到了一个方法. 首先我们先来看一个函数,这个函数叫做Sigmoid函数: 函数中t无论取什么值,其结果都在[0,-1]的区间内,回想一下,一个分类问题就有两种答案,一种是"是",一种是"否

MATLAB智能算法30个案例分析

<matlab智能算法30个案例分析>采用案例形式,以智能算法为主线,讲解了遗传算法.免疫算法.退火算法.粒子群算法.鱼群算法.蚁群算法和神经网络算法等最常用的智能算法的matlab实现.本书共给出30个案例,每个案例都是一个使用智能算法解决问题的具体实例,所有案例均由理论讲解.案例背景.matlab程序实现和扩展阅读四个部分组成,并配有完整的原创程序,使读者在掌握算法的同时更能快速提高使用算法求解实际问题的能力.本书可作为本科毕业设计.研究生项目设计.博士低年级课题设计参考书籍,同时对广大科

【转】聚类分析经典算法讲解及实现

本文将系统的讲解数据挖掘领域的经典聚类算法,并给予代码实现示例.虽然当下已有很多平台都集成了数据挖掘领域的经典算法模块,但笔者认为要深入理解算法的核心,剖析算法的执行过程,那么通过代码的实现及运行结果来进行算法的验证,这样的过程是很有必要的.因此本文,将有助于读者对经典聚类算法的深入学习与理解. 4 评论 杨 翔宇, 资深软件工程师, IBM 段 伟玮, 在读博士, IBM 2016 年 7 月 18 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 前言

SVM之SMO算法(转)

支持向量机(Support Vector Machine)-----SVM之SMO算法(转) 此文转自两篇博文 有修改 序列最小优化算法(英语:Sequential minimal optimization, SMO)是一种用于解决支持向量机训练过程中所产生优化问题的算法.SMO由微软研究院的约翰·普莱特(John Platt)发明于1998年,目前被广泛使用于SVM的训练过程中,并在通行的SVM库libsvm中得到实现. 1998年,SMO算法发表在SVM研究领域内引起了轰动,因为先前可用的S

全网最!详!细!tarjan算法讲解。

全网最详细tarjan算法讲解,我不敢说别的.反正其他tarjan算法讲解,我看了半天才看懂.我写的这个,读完一遍,发现原来tarjan这么简单! tarjan算法,一个关于 图的联通性的神奇算法.基于DFS(迪法师)算法,深度优先搜索一张有向图.!注意!是有向图.根据树,堆栈,打标记等种种神(che)奇(dan)方法来完成剖析一个图的工作.而图的联通性,就是任督二脉通不通..的问题.了解tarjan算法之前你需要知道:强连通,强连通图,强连通分量,解答树(解答树只是一种形式.了解即可)不知道怎

【转载】全网最!详!细!tarjan算法讲解。

转自http://www.cnblogs.com/uncle-lu/p/5876729.html 全网最详细tarjan算法讲解,我不敢说别的.反正其他tarjan算法讲解,我看了半天才看懂.我写的这个,读完一遍,发现原来tarjan这么简单! tarjan算法,一个关于 图的联通性的神奇算法.基于DFS(迪法师)算法,深度优先搜索一张有向图.!注意!是有向图.根据树,堆栈,打标记等种种神(che)奇(dan)方法来完成剖析一个图的工作.而图的联通性,就是任督二脉通不通..的问题.了解tarja

SVM4TS (SVM for Time Series) 企业级SVM大数据算法运算平台

SVM4TS(SVM for Time Series)是一款基于SVM的大数据运行平台,支持大数据训练.模型产生.模型实例化.模型发布与上线.目前,SVM4TS是最优秀的商业大数据算法运行平台之一.STV4TS具有如下优点:(1)STV4TS更适合针对时间序列的机器学习计算,包括连续时间序列(如传感器数据)以及离散时间序列(如股票数据):(2)SVM4TS提供了数据分析.模型产生.模型升级.模型上线的全套解决方案,使用相对容易:(3)算法表现好,其算法的综合测评在众多框架中均名列前茅:(4)价格

全网最!详!细!tarjan算法讲解。——转载自没有后路的路

全网最!详!细!tarjan算法讲解. 全网最详细tarjan算法讲解,我不敢说别的.反正其他tarjan算法讲解,我看了半天才看懂.我写的这个,读完一遍,发现原来tarjan这么简单! tarjan算法,一个关于 图的联通性的神奇算法.基于DFS(迪法师)算法,深度优先搜索一张有向图.!注意!是有向图.根据树,堆栈,打标记等种种神(che)奇(dan)方法来完成剖析一个图的工作.而图的联通性,就是任督二脉通不通..的问题.了解tarjan算法之前你需要知道:强连通,强连通图,强连通分量,解答树

算法讲解:二分图匹配

算法讲解:二分图匹配 二分图匹配,自然要先从定义入手,那么二分图是什么呢? 二分图: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图. 简单的说,一个图被分成了两部分,相同的部分没有边,那这个图就是二分图,二分图是特殊的图. 匹配: 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两