【机器学习】机器学习的基本分类-无监督学习-K-Means聚类
K-Means 是一种基于划分的无监督学习算法,用于数据聚类任务,它通过迭代优化将数据分组为 k 个互斥的簇,使得每个簇内数据点的相似性最大化,而簇间的相似性最小化。它通过最小化簇内样本点到簇中心的距离平方和(即误差平方和,SSE)来完成聚类任务。
1. 算法原理
目标函数
K-Means 的目标是最小化以下目标函数:
- k:簇的数量。
- :第 i 个簇的集合。
- :第 i 个簇的中心(质心)。
- :样本点 x 到质心 的欧几里得距离。
步骤
- 初始化:随机选择 k 个初始质心。
- 分配样本点到最近的质心:将每个样本点分配到最近的簇中心,形成 k 个簇。
- 更新质心:计算每个簇中所有样本点的均值,作为新的簇中心。
- 迭代:重复步骤 2 和 3,直到簇中心不再发生显著变化或达到预设迭代次数。
2. 特点
优点
- 简单高效:算法容易理解和实现,适合中小型数据集。
- 快速收敛:在大多数情况下,K-Means 收敛速度较快。
缺点
- 需要指定 k:聚类数 k 需要预先指定,可能难以确定。
- 易受初始点影响:初始质心的选择可能导致不同的聚类结果。
- 对异常值敏感:异常点可能显著影响簇中心的位置。
- 仅适用于凸簇:不能有效处理非凸形状的簇。
3. 改进方法
- K-Means++ 初始化:通过优化初始质心选择,减少对初始点的敏感性。
-
随机选择第一个质心。
-
根据与已选质心的距离概率选择后续质心。
-
应用标准 K-Means 算法。
- Mini-Batch K-Means:对大数据集进行小批量更新,提高效率。
- 层次聚类结合:先使用层次聚类生成 k 个簇,再进行 K-Means 优化。
- Elkan 算法:优化距离计算,加速收敛。
4. 确定 k 的方法
肘部法则 (Elbow Method)
- 计算不同 k 值下的误差平方和 (SSE)。
- 绘制 k-SSE 曲线,找到“肘部”点(即 SSE 的下降速度明显减缓的位置)。
- 该点对应的 k 值通常是最佳选择。
轮廓系数 (Silhouette Coefficient)
衡量聚类的质量:
- a:样本点与同簇中其他点的平均距离。
- b:样本点与最近簇中点的平均距离。
5. 实现 K-Means
Python 实现(使用 scikit-learn
)
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
# 生成数据
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=42)
# K-Means 聚类
kmeans = KMeans(n_init=10, n_clusters=4, random_state=42)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
plt.title('K-Means Clustering')
plt.show()
6. 应用场景
- 图像压缩:将像素颜色聚类到 k 个簇。
- 客户分群:根据消费行为对客户进行分组。
- 文本聚类:将文档划分为不同主题。
- 基因聚类:根据基因表达模式进行分组。
-
推荐系统:对用户或商品分组,提供个性化推荐。
7. 实验与结果分析
评价指标
- SSE (Sum of Squared Errors):衡量簇内误差,值越小越好,但可能会过拟合。
- 轮廓系数 (Silhouette Coefficient):衡量聚类效果,值越接近 1,聚类效果越好。
- Davies-Bouldin 指数:值越小越好,反映簇的分离程度。
-
Calinski-Harabasz 指数:簇的分离性和紧凑性,值越大越好。
通过以上指标,可以综合评价聚类效果,选择最佳参数 k 和优化方法。
K-Means 是一种经典而高效的聚类算法,适合初学者和实际应用。通过改进方法和调参,可以应对不同类型的数据和应用场景。
原文地址:https://blog.csdn.net/IT_ORACLE/article/details/144337627
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!