机器学习 -- 非监督学习 之 Clustering

本文详细阐述了非监督学习中的概念,聚焦于聚类算法,特别是K-Means方法,包括其原理、K值选择与Hierarchical Clustering的区别。通过实例讲解如何进行数据分群,以及Linkage在距离计算中的作用。
摘要由CSDN通过智能技术生成

什么是非监督学习(unsupervised learning)?

在监督学习中,我们的数据特征有一部分作为输入,一个特征作为输出。 输出特征是标签好的数据,我们已经提前知道会输出的分类结果。 比如有一个笼子,里面有很多水果,香蕉,苹果等等。监督学习中我们知道里面都有啥水果,我们会根据他的尺寸颜色等属性去判断它属于哪个种类。

▪ In supervised learning, the dataset consists of attribute (input) and target (output)

▪ Labelled data

在非监督学习中,我们的数据特征全部是作为输入的。 我们不知道笼子里到底有啥水果,只能通过这些水果的相似性去判断哪些水果是一类。

▪ In unsupervised learning, the dataset consists of attributes (input) only

▪ Unlabelled data


聚类: 一种揭示数据中潜在结构的方法

▪ Clustering - a method for uncovering latent structure in data

▪ Group the data points into separate clusters 将数据点分组到单独的集群中

          

聚类应用

  • 将目标市场划分成更小或更多的市场
  • 检查购买历史,活动等。
  • 相似特征组(需求、位置、利益或人口统计)
  • 发现假新闻
  • 检查文章中的单词、耸人听闻的/常用的词

 


K-Means Clustering

K-Means是非监督学习中的一种聚类的方法。

▪ Each cluster is represented by the center of the cluster (centroid) 每个簇由簇的中心表示(质心)

如下图, 我们这里设K=2,那么这就是一个二分类的问题。 随机找二个 centroid,如图下黄点和紫色点。 剩余的其他点通过距离计算与黄的近的就属于 黄色的centroid,离紫色点近的就属于紫色的centroid。

                 

第一步执行完后如图下,所有的点都被分成了黄点和紫点。

                 

当然还没有完, 接下来需要重新在这二个集群中选取各自新的centroid,选取标准是计算 上面分好的集群到某一个点的SSE(the sum of the squared differences between each point and its centroid.)  SSE= \sum (xi - Cj) ^2.   分好新的centroid后再计算每个点到这些centroid的距离,距离哪个centroid最近,这些点就属于那个聚集。   再选择新的centroid,直到这些点不再变化。

 K-means++

因为K mean的 初始K的选取对结果影响很大,所以 Kmean++ 在K的选取上做了改进。

首先随机选取一个centroid K1,然后计算所有点到K1的距离。  接着其实就是选择了距离最远的点做为K2,一直重复到选好我们需要的Centroid总数。


 Choosing the value of K   选择最合适的K值

 计算成本函数:

计算这些K值的成本函数,然后寻找拐点,一般观点就是最佳的K值选取。

如下图,6-8也许是最好的K值。

           


Hierarchical Clustering   分层聚类


▪K-means是一种基于目标的方法,需要我们预先指定集群数量𝐾

▪最终结果是随机的我们从初始化开始

▪层次聚类是一种不需要的替代方法,一个预先指定的𝐾选项,它提供一个确定的结果

▪自底向上或聚集的层次集群

1. 每一个数据点一开始作为自己的聚类

选取二个最近的点结合成一个聚类。

接下来重复计算,选取最近的点作为聚类。

   

直到所有的点成为一个聚类。

        

我们使用直方图来显示分层聚类的结果。

下图中直方图分支的高度显示了这些的相似度, 分支的高度越高,它们的相似度越低。图中

point 0,5 的相似度和point 4,6的相似度是一样的,因为它们的高度相同。 

8和1的相似度不如8和7与4之间的相似度。

图下所示是对直方图的切割, 比如我们要将所有的点分为2类,则k=2, 图下中间那样分为了绿色和红色。 将所有的点分为3类,则k=3,图下右边那样。


Linkage链接决定了聚类, 点之间的距离。


 Single Linkage

  • 在单连锁(SL)即最近邻连锁中,距离在𝐺之间,𝐻是两个数据点之间的最小距离不同的集群

    

     群集用不同来标记颜色。单链接,𝑑𝑆𝐿𝐺,𝐻为最近的一对的距离。

          


Complete Linkage

  • 在完全连锁(CL)中,即最近邻连锁中,距离𝐺之间,𝐻是不同的集群的两个数据点之间的最大距离


Average Linkage

  • 在平均连锁(GA)中,𝐺、𝐻之间的距离为平均值相对簇中所有数据点的距离

            


Ward Linkage

  • 在并区连锁中,距离合并为两个聚类为时方差的增加


RECAP:

这篇介绍了非监督学习,它的特征是input only, unlabel data。

Clustering 属于非监督学习的一种,主要是将具有相似特征的物体归纳在一起。 文章中归纳了二种clustering方法,一种是K-mean, Kmean受一开始选取的K值影响很大。 一种是Hierarchical clustering, 根据距离会生成一个直方图,可以根据需要分类的个数切割直方图。 Linkage是计算不同聚类之间或者聚类与点之间的距离,有smallest linkage, complete linkage, ward linkage,average linkage。

下一篇,会使用python做clustering的实验。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值