浅谈支持向量机

大数据
假设某总体50%是男性,50% 是女性。你想要通过一个样本(集)获取一些规则,以确定总体其余部分成员的性别。使用支持向量机,相当于建立一个判断某人是男是女的机器。这是个典型的分类问题。

支持向量机

什么是分类分析?

让我们思考一个例子。假设某总体50%是男性,50% 是女性。你想要通过一个样本(集)获取一些规则,以确定总体其余部分成员的性别。使用支持向量机,相当于建立一个判断某人是男是女的机器。这是个典型的分类问题。我们试图通过一些规则,把总体分为两个可能的部分。出于简便考虑,这里假设两个用来区分的要素为:身高、头发长度。样本集的散点图如下:


支持向量机


图中的蓝色圆点代表女性,绿色方块代表男性。从图中可以推测:

1.总体中的男性平均身高更高

2.总体中的女性头发更长

如果某人身高180cm,头发4cm长,我们更可能将其判定为男性。这就是做分类分析的方式。

支持向量是什么?支持向量机(SVM)是什么?

支持向量就是单条记录的坐标。比如(45,150) 是对应一名女性的支持向量。支持向量机是能够区分男性和女性的***边界。在本例中,两个类别相隔清晰,所以更容易找到支持向量机。

如何确定当前案例的支持向量机?

当前的案例有很多可能的边界。下面是三种可能情况:


支持向量机


我们要如何确定哪条是***的边界?

要解释支持向量机目标函数(objective function)最简单的方法,是寻找与边界最近的支持向量(属于任何类别均可)的距离(如,橙色边界离蓝色圆圈近。此边界离最近的那个蓝色圆圈有2个单位距离)。当知道全部边界对应的距离之后,选择(与最近支持向量)距离***的那条边界。上面的三条边界中,黑色边界离最近支持向量的距离***(15个单位)。

如果找不到清晰的边界怎么办?

上面的例子中找出支持向量机还相对容易。若所面对的分布如下图该怎么办:


支持向量机


在这样的案例中,我们无法像之前那样找到一条清晰的直线边界。在这样的案例中,需要把向量都映射到一个更高维的平面,以便区分。在我们日后构建支持向量机的时候,会进一步阐述这样的例子。目前,你只需要知道上面提到的变换方式,会产生下面这种类型的支持向量机:


支持向量机


原来的每个绿色方块,现在都以一定的转换比例进行了映射。转换过后可以清晰区分类别。为了进行这种变换,有许多算法被提出,其中一些算法会在后续的文章中提到。

结语

支持向量机是非常强大的分类算法。当与随机森林及其他机器学习工具协作时,它能为集成模型提供非常不同的维度。因此,在需要较高预测力的案例中,支持向量机非常重要。由于构建复杂,支持向量机有关算法相对难以可视化。你会发现支持向量机对于解决Kaggle竞赛的题目很有帮助。

责任编辑:李英杰 来源: 36大数据
相关推荐

2017-02-07 14:40:52

2023-09-04 12:58:35

数据模型

2010-07-09 10:28:48

距离向量路由协议

2020-05-21 09:02:37

机器学习技术数据

2014-07-08 10:31:08

机器学习

2017-10-08 15:04:57

支持向量机机器学习核函数

2009-06-10 16:09:56

netbeans ru动态语言

2023-11-15 19:17:58

腾讯云向量数据库

2009-06-23 09:57:40

EclipsePerl脚本

2009-07-10 11:31:45

Swing支持透明和不规则窗口

2011-08-31 16:22:51

LUA多线程

2010-07-23 13:29:12

Perl脚本

2009-07-17 10:02:29

WPF程序多语言支持

2011-04-29 14:19:47

喷墨打印

2023-11-07 14:30:28

Python开发

2009-06-10 14:23:06

netbeans 6.Jboss

2013-11-14 14:02:57

2009-07-16 13:26:43

DB2 JDBC驱动

2011-04-21 11:16:59

IBMWindows
点赞
收藏

51CTO技术栈公众号