SVM for Clustering

A Support Vector Method for Clustering

原文地址:A Support Vector Method for Clustering

本文介绍了一种基于SVM的聚类方法,核心思想是用高斯核的SVM找到多个能够包围数据的半径最小的超球。使用此方法不用预先确定类别的结构和个数。

Abstract

聚类问题可以用参数化或非参数化的方法处理。参数化方法往往限制于其表达能力(expressive power),即需要预先猜想类别的结构(概率分布)。这篇文章提出一种非参数化的基于SV的方法用来描述高维分布的特性,首先找到一个最小半径的能够包围所有数据的超球,通过减小高斯核的方差(the width parameter of the Gaussian kernel function),可以使超球分类成很多的小部分,每一小部分中包含的点便是一种类别。用软间隔解决异常值问题从而处理不同类别重叠的问题。

Describing Cluster Boundaries with Support Vectors

共有 N 个数据点 { x i } χ χ R d Φ χ 变换至高维的特征,加入松弛变量 ξ j ,要想求得包围所有数据的最小半径的超球,可用下面的问题描述:

m i n   R 2 + C Σ ξ j s . t .   Φ ( x j ) a 2 R 2 + ξ j , ξ j 0 , j

其中 R 为半径, a 为超求的球心,拉格朗日函数:

L = R 2 Σ ( R 2 + ξ j Φ ( x j ) a 2 ) β j Σ ξ j μ j + C Σ ξ j ,

其中拉格朗日乘子 β j 0 , μ j 0 C 为惩罚参数。对 R , a , ξ j 分别求偏导并置零得:

Σ β j = 1 , a = Σ β j Φ ( x j ) , β j = C μ j

KKT条件:

ξ j μ j = 0 , ( R 2 + ξ j Φ ( x j ) a 2 ) β j ) = 0

对于样本点 x i

  • ξ i > 0 则样本点在超球外;
  • ξ i = 0 则样本点在超球面上或超球面内,当 β i 0
    • 0 < β i < C 则称样本点是一个支持向量(SV);
    • β i = C 则称样本点为边界支持向量(bounded SV)

接下来拉格朗日对偶函数:

W = Σ j Φ ( x j ) 2 β j Σ i , j β i β j Φ ( x i ) Φ ( x j )

将上述推导出的条件代入可得约束条件变为:

0 β j C

将内积运算全部换成如下的高斯核:

K ( x i , x j ) = e q x i x j 2 ,

q 为宽度参数(width parameter,即 1 2 σ 2 ),那么拉格朗日对偶函数可写为:

W = Σ j K ( x j , x j ) β j Σ i , j β i β j K ( x i , x j )

此时数据点到球心的距离:

R 2 ( x ) = Φ ( x j ) a 2

可化为:

R 2 ( x ) = K ( x , x ) 2 Σ j β j K ( x j , x ) + Σ i , j β i β j K ( x i , x j )

那么超球的半径即为SV到球心的距离。此时闭合轮廓的形状由参数 q C 决定。如下图, q 增大,轮廓就越贴合样本点。 q 主要定义了单个样本对整个分类超平面的影响,当 q 比较小时,单个样本对整个分类超平面的影响比较小,不容易被选择为支持向量,反之,当 q 比较大时,单个样本对整个分类超平面的影响比较大,更容易被选择为支持向量,或者说整个模型的支持向量也会多。

figure1

而当 C 减小时,如下图,轮廓边缘变得平滑,SV的数量减少,而bounded SV的数量增多(当 C < 1 时bounded SV才会存在),可以更好地处理异常点。如果把惩罚系数 C 和RBF核函数的系数 q 一起看,当 C 比较大, q 比较大时,我们会有更多的支持向量,我们的模型会比较复杂,容易过拟合一些。如果 C 比较小 , q 比较小时,模型会变得简单,支持向量的个数会少。

figure2

Support Vector Clustering (SVC)

为了将数据点聚类,文中介绍了一种求两点间邻接矩阵的方法:

邻接矩阵

如果两点连线间的所有点均在超球内部,说明两数据点有连接,即位于同一类。

Overlapping clusters(不是很懂)

当存在重叠时,说明bounded SV很多,SVC可以近似地看作Parzen窗概率密度估计(如下公式)。

p ( x ) = 1 N Σ i K ( x i , x )

Parzen窗概率密度估计值最大的点便是核心的点。

The iris data

在鸢尾花数据集的数值实验中,SVC表现要优于information theoretic approach和SPC algorithm这两个非参数化的聚类方法。具体实验结果如下:

result

同时,需要注意的是,SVC在低维特征上的表现要优于高维特征,因此最好事先对数据特征进行降维处理,例如PCA。

Varying q and C

这里将如何寻找最优的 q C ,对于 q 最好从小到大依次寻找,因为一个比较好的聚类通常含有较少的类别。当SV的数量超出某个范时便可确定参数 q C

猜你喜欢

转载自blog.csdn.net/qq_25011449/article/details/80641087
svm