聚类分析(cluster analysis)

我们这里来看看聚类分析。

比较流行的有聚类方法有k均值聚类,属于分割式聚类的方法。

K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。目的是最小化E=sum(x-\miu_i), 其中\miu_i是每个簇的均值。

直接求上式的最小值并不容易,这是一个NP难的问题,因此采用启发式的迭代方法K-Means。

K-Means很简单,用下面一组图就可以形象的描述。上图a表达了初始的数据集,假设k=3。在图b中,我们随机选择了三个k类所对应的类别质心,即图中的红绿和草绿色质心,然后分别求样本中所有点到这三个质心的距离,并标记每个样本的类别为和该样本距离最小的质心的类别,如图c所示,经过计算样本和红绿和草绿色质心的距离,我们得到了所有样本点的第一轮迭代后的类别。此时我们对我们当前标记为红绿和草绿色点分别求其新的质心,重复了这个过程,将所有点的类别标记为距离最近的质心的类别并求新的质心。最终我们得到的三个类别如图。


首先我们看看K-Means算法的一些要点。

1 对于K-Means算法,首先要注意的是k值的选择,一般来说,我们会根据对数据的先验经验选择一个合适的k值,如果没有什么先验知识,则可以通过交叉验证选择一个合适的k值。

2 在确定了k的个数后,我们需要选择k个初始化的质心,就像上图b中的随机质心。由于我们是启发式方法,k个初始化的质心的位置选择对最后的聚类结果和运行时间都有很大的影响,因此需要选择合适的k个质心,最好这些质心不能太近。

传统的K-Means算法流程。

输入样本集合,然后划分成k 人为分类,凭经验将样品进行初步的分类

选择凝聚点后,求均值,求距离,归类

更新质心

重新求均值和距离,再重新归类

 大样本优化Mini Batch K-Means

在统的K-Means算法中,要计算所有的样本点到所有的质心的距离。如果样本量非常大,比如达到10万以上,特征有100以上,此时用传统的K-Means算法非常的耗时,就算加上elkan K-Means优化也依旧。在大数据时代,这样的场景越来越多。此时Mini Batch K-Means应运而生。

顾名思义,Mini Batch,也就是用样本集中的一部分的样本来做传统的K-Means,这样可以避免样本量太大时的计算难题,算法收敛速度大大加快。当然此时的代价就是我们的聚类的精确度也会有一些降低。一般来说这个降低的幅度在可以接受的范围之内。

在Mini Batch K-Means中,我们会选择一个合适的批样本大小batch size,我们仅仅用batch size个样本来做K-Means聚类。那么这batch size个样本怎么来的?一般是通过无放回的随机采样得到的。

为了增加算法的准确性,我们一般会多跑几次Mini Batch K-Means算法,用得到不同的随机采样集来得到聚类簇,选择其中最优的聚类簇。

K-Means与KNN

K-Means是无监督学习的聚类算法,没有样本输出;而KNN是监督学习的分类算法,有对应的类别输出。KNN基本不需要训练,对测试集里面的点,只需要找到在训练集中最近的k个点,用这最近的k个点的类别来决定测试点的类别。而K-Means则有明显的训练过程,找到k个类别的最佳质心,从而决定样本的簇类别。

两者也有一些相似点,两个算法都包含一个过程,即找出和某一个点最近的点。两者都利用了最近邻(nearest neighbors)的思想。

KNN(K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法。

总体来说,KNN分类算法包括以下4个步骤: 

1准备数据,对数据进行预处理 

2计算测试样本点(也就是待分类点)到其他每个样本点的距离 

3对每个距离进行排序,然后选择出距离最小的K个点 

4对K个点所属的类别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类

该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数 , 该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点 。

K-Means小结

K-Means的主要优点有:

1)原理比较简单,实现也是很容易,收敛速度快。

2)聚类效果较优。

3)算法的可解释度比较强。

4)主要需要调参的参数仅仅是簇数k。

K-Means的主要缺点有:

1)K值的选取不好把握

2)对于不是凸的数据集比较难收敛

3)如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳。

4) 采用迭代方法,得到的结果只是局部最优。

5) 对噪音和异常点比较的敏感。

PAM算法。PAM法和K-means法很相似,但是它保证跑出来你的数据是最优的,和k-means不一样的是,虽然它也随机选择群中心,但是群中心的选择并非虚拟的,而是选取真正的数据点作为群中心。比如一开始选择3和20两个点作为群中心,并得到SS值。然后用不同的点去替换3或者20,选择最小SS值的点作为新的群中心,依次类推,直到SS值不能进一步优化。然后根据最后的群中心去聚类。PAM算法能够处理非数值类型的字段,但是其效率很慢,难以处理大数据量的情况。

除了分割聚类的方法,还有阶层式聚类的方法。我们看看ward方法。

华德法(Ward’s Method): 华德法是阶层式聚类分析法中效果最好的,但是其运算速度较慢。理论差平方是判断聚类效果好不好的一个指标(每个资料点同群中心距离的平方和),其计算方式如下,SS值最小则说明聚类效果最好。华德法采用了一个取巧的方法,保证效果最好,仍然以上述例子示范。第一次聚类(聚成4类)有十种可能性,选择AB使得SS值最小,第二次(聚成3类)选择DE使得SS最小,第三次(聚成2类)选择CDE使得SS最小,直到聚成一类。

聚类分析是非常有用的,比如在公司可以给客户分类,或者说客户画像。如何了解用户的需求,把握用户的期望,对迅速对用户作出精准的投放这些手段已经成为企业能否的关键了。

某移动运营商在5月发展了19999个新用户,在新用户入网后一个月后,1、希望通过提供一些优惠提高用户的忠诚度  2、希望通过推荐一些产品提升客单价。

为达到这一目的,我们需要对新用户进行洞察,弄清楚以下的问题: a、应该给客户提供什么优惠? 我们的优惠能否给客户带来惊喜?不同的客户是否该根据他们的喜好提供不同的优惠?b、客户对我们的什么产品感兴趣?不同的客户是否应该推荐不同的产品?

这个时候就可以使用聚类分析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容