什么是分类分析?
让我们思考一个例子。假设某总体50%是男性,50% 是女性。你想要通过一个样本(集)获取一些规则,以确定总体其余部分成员的性别。使用支持向量机,相当于建立一个判断某人是男是女的机器。这是个典型的分类问题。我们试图通过一些规则,把总体分为两个可能的部分。出于简便考虑,这里假设两个用来区分的要素为:身高、头发长度。样本集的散点图如下:
图中的蓝色圆点代表女性,绿色方块代表男性。从图中可以推测:
1.总体中的男性平均身高更高
2.总体中的女性头发更长
如果某人身高180cm,头发4cm长,我们更可能将其判定为男性。这就是做分类分析的方式。
支持向量是什么?支持向量机(SVM)是什么?
支持向量就是单条记录的坐标。比如(45,150) 是对应一名女性的支持向量。支持向量机是能够区分男性和女性的最佳边界。在本例中,两个类别相隔清晰,所以更容易找到支持向量机。
如何确定当前案例的支持向量机?
当前的案例有很多可能的边界。下面是三种可能情况:
我们要如何确定哪条是最佳的边界?
要解释支持向量机目标函数(objective function)最简单的方法,是寻找与边界最近的支持向量(属于任何类别均可)的距离(如,橙色边界离蓝色圆圈近。此边界离最近的那个蓝色圆圈有2个单位距离)。当知道全部边界对应的距离之后,选择(与最近支持向量)距离最大的那条边界。上面的三条边界中,黑色边界离最近支持向量的距离最大(15个单位)。
如果找不到清晰的边界怎么办?
上面的例子中找出支持向量机还相对容易。若所面对的分布如下图该怎么办:
在这样的案例中,我们无法像之前那样找到一条清晰的直线边界。在这样的案例中,需要把向量都映射到一个更高维的平面,以便区分。在我们日后构建支持向量机的时候,会进一步阐述这样的例子。目前,你只需要知道上面提到的变换方式,会产生下面这种类型的支持向量机:
原来的每个绿色方块,现在都以一定的转换比例进行了映射。转换过后可以清晰区分类别。为了进行这种变换,有许多算法被提出,其中一些算法会在后续的文章中提到。
结语
支持向量机是非常强大的分类算法。当与随机森林及其他机器学习工具协作时,它能为集成模型提供非常不同的维度。因此,在需要较高预测力的案例中,支持向量机非常重要。由于构建复杂,支持向量机有关算法相对难以可视化。你会发现支持向量机对于解决Kaggle竞赛的题目很有帮助。
原作者:Tavish Srivastava via:数据工匠
翻译:王鹏宇
原文链接:
http://www.analyticsvidhya.com/blog/2014/10/support-vector-machine-simplified/
浙江大学研究生课件——统计学习理论与支持向量机SVM(附下载)
End.