K-means聚类
公式
最小化\(J_e\)适用于球形, 因为长条形分布会让距中心的距离变大,此时聚类会发生变化 \(J_{e}=\sum_{i=1}^{c} \sum_{x \in Q_{i}}\left\|x-m_{i}\right\|^{2}, \quad m_{i}=\frac{1}{n_{i}} \sum_{i=0} x\)
聚类效果
(Silhouette) 第i个点,a是本组内最近距离,b是和外组的最近距离 s<1,但也可能为负(和外组关系很近,本组关系很远) \[ s(i)=\frac{b(i)-a(i)}{\max \{b(i), a(i)\}} \]
离群点
两个高斯分布,部分离群点的s很小,甚至为负 横轴是s,纵轴对应的是i
k-means步骤
1 决定簇的数量k 2 决定k个中心点 3 计算距离让每个点聚类 4 计算平均,在簇内重新决定中心点 5 更新中心点 6 重复3->4->5直到不再变化 7 返回k个中心点
K-means的评价
时间复杂度:\(O(tkn)\) t迭代次数,大概10次以内,k中心点数,n数据个数
K-means难点
k值不好决定->影响结果 初期值不好决定->影响结果 平均对躁点敏感->影响结果 不太适合球形之外的数据->影响结果
转载请注明来源 https://tianweiye.github.io