人工智能——K-Means聚类算法(Python)

目录

1 概述

(1)无监督学习

(2)聚类

(3)K-Mean均值算法

2 K-Mean均值算法 

2.1 引入

2.2 针对大样本集的改进算法:Mini Batch K-Means 

2.3 图像

3 案例1 

3.1 代码

3.2 结果 

4 案例2

4.1 案例——数据

4.2 代码

4.3 结果 

4.4 拓展&&改进

5 参考


1 概述

(1)无监督学习

       在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正 样本和负样本的决策边界,在这里的监督学习中,我们有一系列标签,我们需要据此拟合一 个假设函数。与此不同的是,在非监督学习中,我们的数据没有附带任何标签,我们拿到的 数据就是这样的:              

(2)聚类

(3)K-Mean均值算法

2 K-Mean均值算法 

2.1 引入

K- 均值 是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的

步骤:

  • 设定 K 个类别的中心的初值;
  • 计算每个样本到 K个中心的距离,按最近距离进行分类;
  • 以每个类别中样本的均值,更新该类别的中心;
  • 重复迭代以上步骤,直到达到终止条件(迭代次数、最小平方误差、簇中心点变化率)。
  • 下面是一个聚类示例: 

                                                  K-means聚类算法

K-均值算法的伪代码如下:

算法分为两个步骤,第一个 for 循环是赋值步骤,即:对于每一个样例 i ,计算其应该属 于的类。第二个 for 循环是聚类中心的移动,即:对于每一个类K ,重新计算该类的质心。

2.2 针对大样本集的改进算法:Mini Batch K-Means 

       对于样本集巨大的问题,例如样本量大于 10万、特征变量大于100,K-Means算法耗费的速度和内存很大。SKlearn 提供了针对大样本集的改进算法 Mini Batch K-Means,并不使用全部样本数据,而是每次抽样选取小样本集进行 K-Means聚类,进行循环迭代。Mini Batch K-Means 虽然性能略有降低,但极大的提高了运行速度和内存占用。 

2.3 图像

sklearn中的make_blobs的用法

3 案例1 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月1日
下一篇 2022年1月1日

相关推荐