转载

浅谈支持向量机

什么是分类分析?

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

浅谈支持向量机

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

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

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

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

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

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

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

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

浅谈支持向量机

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

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

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

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

浅谈支持向量机

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

浅谈支持向量机

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

结语

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

原作者:Tavish Srivastava

翻译:王鹏宇

原文链接:

http://www.analyticsvidhya.com/blog/2014/10/support-vector-machine-simplified/

正文到此结束
Loading...