机器学习入门专栏其他章节:
文章目录
聚类算法(Clustering Algorithms)常用于进行非监督学习(unsupervised learning),即它处理的是没有事先标记分类的数据。一共介绍五种常见聚类算法:
K-means
Hierarchical
GMM
DBSCAN(基于密度的聚类算法)
基于网格Grid的聚类算法
聚类算法
距离公式
在了解聚类算法如何实现之前,需要先了解几种常见的距离计算公式,因为聚类算法会通过距离判断两个点是否属于同一类。
欧式距离:假设有两个点 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_1,y_1),(x_2,y_2) (x1,y1),(x2,y2)则距离d为:
d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} d=(x1−x2)2+(y1−y2)2
扩展到更加一般的情况则是:
d = ( Σ i = 1 n ( x 1 ( i ) − x 2 ( i ) ) 2 ) 1 / 2 d=(\Sigma_{i=1}^n (x_1^{(i)}-x_2^{(i)})^{2})^{1/2} d=(Σi=1n(x1(i)−x2(i))2)1/2
曼哈顿距离:
对于两个点则是:
d = ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ d=|x_1-x_2|+|y_1-y_2| d=∣x1−x2∣+∣y1−y2∣
其他比较出名的还有Minkowski明氏距离, chebyshev切比雪夫距离,cosine余弦距离等,再次不过多展开。
K-means算法
算法过程如下:
(1)初始化聚类点centroid
(2)计算距离,将每个点分配到最近的聚类
(3)取每个聚类的平均值,获得新的聚类点centroid
(4)重复(2),(3)直到不再变化
用数学公式表达就是SSE(sum of squared error) 达到最小的时候:
S S E = Σ j = 1 k Σ x ∈ C j d ( x , m j ) 2 SSE=\Sigma_{j=1}^k \Sigma_{x\in {C_j}}d(x,m_j)^2 SSE=Σj=1kΣx∈

本文深入探讨五种主流聚类算法:K-means、层次聚类、GMM、DBSCAN及基于网格的聚类,详细解析算法原理、实现与局限性,辅以代码示例,助力读者掌握非监督学习中的数据分组技巧。
:非监督学习:5种聚类算法+2种评估模型&spm=1001.2101.3001.5002&articleId=105925373&d=1&t=3&u=b52b475e5b684a9e88af78f9b18c4768)
1496

被折叠的 条评论
为什么被折叠?



