聚类
无监督学习
一、Kmeans
-
1、k值的选择:
经验+肘部法则:每一类中样本到重心的距离平方和下降的拐点; -
2、初始中心点的确定
1)随机取点;
2)先使用层次聚类进行初步聚类,然后从k个类别中随机选择中心点作为kmeans的初始中心点;
-
3、评估指标
轮廓系数:结合了聚类的凝聚度和分离度,用于评估聚类的效果。该值处于-1~1之间,值越大,表示聚类效果越好。具体计算方法如下:对于每个样本点i,计算点i与其同一个簇内的所有其他元素距离的平均值,记作a(i),用于量化簇内的凝聚度。选取i外的一个簇b,计算i与b中所有点的平均距离,遍历所有其他簇,找到最近的这个平均距离,记作b(i),即为i的邻居类,用于量化簇之间分离度。
对于样本点i,轮廓系数s(i) = (b(i) – a(i))/max{a(i),b(i)}
计算所有i的轮廓系数,求出平均值即为当前聚类的整体轮廓系数,度量数据聚类的紧密程度。从上面的公式,不难发现若s(i)小于0,说明i与其簇内元素的平均距离小于最近的其他簇,表示聚类效果不好。如果a(i)趋于0,或者b(i)足够大,即a(i)<<b(i),那么s(i)趋近与1,说明聚类效果比较好。
-
4、优化
二分Kmeans方法:基于SSE(组内距离平方和)。步骤:
所有样本划分为一类,计算SSE;
对现有的每一类分别进行K-means将其划分为两组,并计算这两组组别各自的SSE,将两组SSE加和;
比较加和之后的SSE最小的那两组,对这一类进行划分,其他类不划分。
-
5、区分与knn的关系
无监督 v.s. 监督学习方法
二、系统聚类方法
思想就是基于距离(最小距离,最大距离,平均距离,重心)自底向上/自顶向下
三、密度聚类
- DBSCAN(density-based spatial clustering of applications with noise)
- 邻域:对于任意样本i和给定距离e,样本i的e邻域是指所有与样本i距离不大于e的样本集合;
- 核心对象:若样本i的e邻域中至少包含MinPts个样本,则i是一个核心对象;
- 密度直达:若样本j在样本i的e邻域中,且i是核心对象,则称样本j由样本i密度直达;
- 密度可达:对于样本i和样本j,如果存在样本序列p1,p2,...,pn,其中p1=i,pn=j,并且pm由pm-1密度直达,则称样本i与样本j密度可达;
- 密度相连:对于样本i和样本j,若存在样本k使得i与j均由k密度可达,则称i与j密度相连;
- 噪声:不属于任何簇的样本。
DBSCAN 将簇定义为:由密度可达关系导出的最大的密度相连样本集合。
簇C满足连接性和最大性:
连接性:C中任意xi,xj皆满足密度相连
最大性:若C中xi,某xj由xi密度可达,则xj∈C。
简单来说:如果x是核心对象,那么由x密度可达的所有样本组成的集合就是满足连接性和最大性的簇。
算法步骤:
(1)找出所有的核心对象,组成集合Ω;
(2)从Ω中任选核心对象x,找出由x密度可达的所有样本,组成第一个簇;
(3)从样本集和Ω中剔除簇中的所有样本,重复(2)中的操作,直到Ω为空。
logistic回归
F1-score
网友评论