聚类算法:原理、应用与挑战
1. 引言
聚类是一种无监督学习问题,旨在将一组点划分为“有意义”的子集。在实际应用中,聚类算法有着广泛的用途,如文本分类、图像分割等。本文将介绍几种常见的聚类方法,包括 k - 均值算法、谱聚类和信息瓶颈法,并探讨聚类的基本性质和挑战。
2. k - 均值算法
2.1 算法概述
k - 均值算法的目标函数在聚类的实际应用中非常流行。然而,找到最优的 k - 均值解通常在计算上是不可行的,因为该问题是 NP 难的,甚至难以在某个常数范围内进行近似。因此,通常使用以下简单的迭代算法:
- 输入 :$X \subset R^n$;聚类数 $k$
- 初始化 :随机选择初始质心 $\mu_1, \ldots, \mu_k$
- 重复直到收敛 :
- 对于 $\forall i \in [k]$,设置 $C_i = {x \in X : i = \arg\min_j |x - \mu_j|}$(以某种任意方式打破平局)
- 对于 $\forall i \in [k]$,更新 $\mu_i = \frac{1}{|C_i|} \sum_{x \in C_i} x$
2.2 算法性质
每次 k - 均值算法的迭代不会增加 k - 均值目标函数的值。然而,该算法达到收敛所需的迭代次数没有保证,并且算法输出的 k - 均值目标值与该目标函数的最小可能值之间的差距没有非平凡的下界。实际上,k - 均值可能收敛到一个甚至不是局部最小值的点。
超级会员免费看
订阅专栏 解锁全文
10万+

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



