1、前言
聚类事针对给定的样本,依据他们的特征和相似度或距离,将其归并到若干个类或簇的数据分析问题。聚类属于无监督学习。
2、聚类的基本概念
2.1相似度或距离
聚类的核心概念是相似度或距离。
①闵可夫斯基距离
距离越大,相似度越小,距离越小,相似度越大。
当p=2时,称作欧氏距离
当p=1时,称作曼哈顿距离
②马哈拉诺比斯距离
简称马氏距离,考虑各个分量之间的相关性并与各个分量的尺度无关。距离越大,相似度越小,距离越小,相似度越大。
当S为单位矩阵时,马氏距离就是欧氏距离
③相关系数
相关系数的绝对值越接近于1,表示样本越相似;越接近于0,表示样本越不相似。
其中
④夹角余弦
夹角余弦越接近于1,表示样本越相近;越接近0,表示样本越不相似。
不同相似度度量得到的结果并不一定一致。
2.2类或簇
通过聚类得到的类或簇,本质是样本的子集。如果一个聚类方法假定一个样本只能属于一个类,或类的交集为空集,那么该方法称为硬聚类方法。否则称为软聚类。
设T为给定的正数,若集合G中任意两个样本xi,xj有则称G为一个类或簇。
类的常用特征有下面三种
①类的均值xG,又称为类的中心
分母是类的样本个数。
②类的直径DG
类的直径是类中任意两个样本之间的最大距离
③类的样本散布矩阵AG,样本协方差矩阵SG
其中m是样本的维数。
2.3类与类之间的距离
①最短距离或者单连接
定义为两类样本之间的最短距离
②最长距离或完全连接
定义为两类样本间最长的距离
③中心距离
定义为两类中心点之间的距离
④平均距离
定义为两类任意两个样本之间的距离的平均值
3、层次聚类
层次聚类有聚合或自下而上聚类、分裂或自上而下聚类两种方法。
层次聚类属于硬聚类。
预先确定三要素:
(1)距离或相似度
(2)合并规则
(3)停止条件
算法:
输入:n个样本组成的样本集合及样本之间的距离
输出:对样本集合的一个层次化聚类
(1)计算n个样本两两之间的欧氏距离记作矩阵D
(2)构造n个类,每个类包含一个样本
(3)合并类间距离最小的两个类,其中最短距离为类间距离,构建一个新类。
(4)计算新类与当前类之间的距离。若类为1,终止计算,否则回到3
时间复杂度为O(n^3m),m是样本维数,n是样本个数。
4、K均值聚类
K均值聚类是基于样本集合划分的聚类算法。属于硬聚类。
模型:K均值聚类的模型是一个从样本到类的函数。
策略:通过损失函数最小化划分。
采用欧氏距离平方作为样本之间的距离,定义样本与所属类中心之间的距离总和为损失函数
算法:
输入:n个样本集合X
输出:样本集合聚类C
(1)初始化。随机选择k个样本点作为初始聚类中心。
(2)对样本进行聚类,计算每个样本到类中心距离,指派到与其距离最近的中心类中
(3)计算新的类中心
(4)若收敛或者符合条件,停止。否则返回(2)
算法特性:
收敛性:不能保证收敛到全局最优,出市中心的选择会直接影响聚类结果。