第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营

目录

一,聚类问题

1.1 监督与无监督

1.2 聚类简介

二,K-均值算法

2.1 算法内容

2.2 优化目标

三,应用细节

3.1 K值的选取

3.2 随机初始化

3.3 距离的度量

四,总结


一,聚类问题

1.1 监督与无监督

在监督学习中,给定的数据样本都含有特征与标签,学习算法根据数据特征来进行预测,再根据预测结果与标签之间的关系建立损失函数,最后再训练模型。
而在无监督学习中,给定的数据样本只有特征,没有标签。学习算法要根据数据特征之间内在的“相似性”给样本定义标签。
相比较与监督学习,无监督学习更有应用意义,因为现实中许多问题都只能采集特征而不能准确的定义标签。常见的无监督学习应用有聚类问题以及降维问题。

1.2 聚类简介

输入一系列只有特征的数据样本,根据数据特征之间的“相似性”将样本划分为一系列的点集(也称为簇),达到“物以类聚”的效果。此类算法运用范围很广,具体应用有:

  1.   市斜体样式场分割(Market of clustering),根据客户信息将客户划分为不同的群体,可以进行精准的推荐产品和提供服务。
  2. 社交网络分析(Social network analysis),根据社交信息划分关系密切的人群。
  3. 计算机集群管理(Organize computing clusters) ,根据计算机集群的运行状态,组织计算机协同工作,重新分配资源,布局网络。
  4. 天文数据分析(Astronomical data analysis),根据天文数据划分星系群。
  5.  等等。

二,K-均值算法

2.1 算法内容

K -均值(K-means)** 算法是一个聚类算法, 假设有m个样本,每个样本有n个特征,其核心思想如下:

  1. 假设数据共需分为K类,随机在n维特征空间中生成k个类别中心,一个类别中心代表一个类。
  2. 按照指定的距离度量方案,对m个样本分别与k个样本中心计算其距离,将每个样本划分到与其距离最近的样本中心所代表的类别中。
  3. 计算每个类别中所有样本的特征平均值,将样本中心移动到特征平均值所在的位置。
  4. 反复执行步骤2,3,直到样本中心的位置不发生改变,即各个类别中的样本不发生变化为止。
第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营
图13-1 K-means 算法举例(图来自网络,侵删)

2.2 优化目标

设m个样本为:第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营,其 K个类别中心为:第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营第i个样本与其所属的类别为 第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营。假设以欧氏距离为度量,K-means算法的损失函数(也称为畸变函数(Distortion function))可表示如下:

                            第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营               (公式 13.1)

看上去有些奇怪的原因是该算法中需要学习的参数是样本类别第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营,以及样本第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营所对应的类别第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营。回顾上述K-means算法主体,算法步骤2其实就意味着调整参数 第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营 来最小化代价函数,而算法步骤3即表示调整类别中心第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营来最小化代价函数。

所以K-means算法在训练的同时,也在最小化其损失函数。

三,应用细节

3.1 K值的选取

K-means算法有个很重要的超参数,便是具体的类别数K。K值的具体选取一般可根据应用需要来决定,对于具体问题没有所谓最好的选取法。

第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营
图13-2 肘部法则

这里介绍有一种称之为“肘部法则(Elbow method)”的选取方法,即选取不同的K值进行计算训练后的代价函数值。当刚开始K值比较小时,损失值都比较高,随着K值的逐步增加 损失函数会越来越小,且下降速度也叫较快;当K增大到一定程度后损失函数的下降速度开始变缓,而需要选择的就是下降速度 开始变缓时的K值。如图13-2所示,橙色点x之前随时K的增大损失函数下降较快,橙色点x之后变换则明显变缓,所以应当选取橙色点x所对应的K值,类似于一条手臂手肘的位置。

直觉上可理解为过了“肘部”分类的效益已经不大了。

3.2 随机初始化

在选定K值之后,就要考虑初始化样本中心的问题,需要注意的是K值不应该大于样本数m。具体的方法可为:随机选择K个训练样本,然后令K个类别中心与这K给训练样本相等。

K-means算法的一个问题在于样本中心的初值选择不好,可能会造成最终收敛到一个局部最优解。为解决这个问题,一般会进行多次随机初始化并训练,选取效果最好的一组结果。不过当K较大时,这种方法对结果也不一定能有所改善。

3.3 距离的度量

样本之间的距离除了用欧式距离度量外,还有以下度量方式:

    1.闵可夫斯基距离(Minkowski)

                                                     第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营               (公式 13.2)

     2.杰卡德相似系数(Jaccard)

                                                 第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营               (公式 13.3)

     3.余弦相似度(cosine similarity)

                                                 第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营               (公式 13.4)

     4.皮尔逊相关系数(Pearson similarity)

                                                   第十三章-聚类之K-means算法 深度之眼_吴恩达机器学习作业训练营               (公式 13.5)

 

四,总结

本章主要学习了以下知识点:

  1. 介绍了无监督算法以及聚类问题。
  2. 重点讲解了K-means聚类算法的理论。
  3. 介绍了K-means聚类算法的一些应用细节。