无监督学习(1) K-Means 聚类

本文介绍了无监督学习中的K-Means聚类算法,阐述了聚类的基本概念和目标,重点解析了K-Means的流程,包括K的选择、变种以及聚类评估方法。此外,还探讨了Canopy聚类作为K-Means的替代方案,以及层次聚类、密度聚类和谱聚类等其他聚类方法。
摘要由CSDN通过智能技术生成

1. K-Means 聚类

1.1 聚类的概念

  1. 给事物打标签,寻找同一组内的个体之间的一些潜在的相似模式,即对数据进行自然分组。
  2. 是一种无监督的机器学习任务,划分数据为 cluster 簇。
  3. 是知识的发现而非预测。
  4. 常用于发现数据间的潜在关系,异常值检测,特征提取、数据压缩等。

1.2 聚类的目标

分组成簇
在K-Means 这里 K 代表要分 几 簇。
组之间的通过组内元素的相似性划分。
那么相似性如何表示?或者说如何规范求解?
元素之间的距离,代表它们之间的相似性。
距离的类型

  1. 欧式距离
    在这里插入图片描述
  2. 在这里插入图片描述
  3. 余弦距离
    NLP 文章相似度用的多。
    在这里插入图片描述

1.3 简单理解 K-Means 流程

  1. 按 K 规定要分 K 簇;
  2. 随机选取 K 个中心点,并求其他点到中心点的距离,距离近的,即相似度高的,划分为同一簇;
  3. 分完一次后,求取所有点的 均值(Means),定为新的中心点,然后继续调整;
  4. 充分迭代至收敛,完成聚类。在这里插入图片描述

1.3.1 K-Means 变种

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 K 的选取

肘部法
在这里插入图片描述
通过查看 Loss 损失函数,找出合适的点。
增加K的数量,查看loss的大小;
肘部拐点后,变化不大,所以可以选择肘部拐点。

Loss 损失函数
在这里插入图片描述
这里不用(GD)梯度下降法(中心点会变化,每次变量数量不同),而是用(EM)期望最大化的思想来估计参数(何为EM?后续讲解)。

1.5 小拓展:Canopy聚类

在这里插入图片描述
将 K-Means第一步的随机中心值,利用 Canopy聚类 代替一下。
远者中心点,近者同类。
在这里插入图片描述
在这里插入图片描述

1.6 聚类评估方法

实际不太会用,还是聚类后专业人士看一下
在这里插入图片描述
在这里插入图片描述

1.7 代码测试

import numpy as np
import matplotlib.pyplot as plt
import sklearn.datasets as ds
import matplotlib.colors
from sklearn.cluster import KMeans

if __name__ == '__main__':
    # 制作数据 400个 4簇
    N = 400
    centers = 4
    data, y = ds.make_blobs(N, n_features=2, centers=centers
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值