聚类(kmeans,DBSCAN,OPTICS)

聚类

K-means聚类

样本集D={x_1,x_2,...,x_m},聚类簇数k。

从D中随机选择k个样本作为初始均值向量{\mu_1,\mu_2,...,\mu_k}

C_i=\varnothing(1\leq i\leq k)

for j =1,2,...m

计算样本x_j与各均值向量\mu_i的距离

距离最近的均值向量,就确定了x_j的簇标记,并加入相应的簇中。

计算新的均值向量,继续按照上述步骤划分,直到均值向量不再被更新。

形象的解释:

  • 1.首先输入 k 的值,即我们指定希望通过聚类得到 k 个分组;

  • 2、从数据集中随机选取 k 个数据点作为初始大佬(质心);

  • 3、对集合中每一个小弟,计算与每一个大佬的距离,离哪个大佬距离近,就跟定哪个大佬。

  • 4、这时每一个大佬手下都聚集了一票小弟,这时候召开选举大会,每一群选出新的大佬(即通过算法选出新的质心)。

  • 5、如果新大佬和老大佬之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为我们进行的聚类已经达到期望的结果,算法终止。

  • 6、如果新大佬和老大佬距离变化很大,需要迭代3~5步骤。

    参考链接:https://www.cnblogs.com/qingyunzong/p/9760913.html

DBSCAN密度聚类

给定参数\epsilon,minpts

核心对象:若x_i\epsilon邻域内至少包含minpts个样本,则x_i是一个核心对象。

密度直达:若x_j位于x_i\epsilon邻域内,并且x_i是核心对象,则称x_jx_i密度直达。

密度可达:对于x_jx_i,若存在样本序列p_1,p_2,...p_n其中p_1=x_i,p_n=x_jp_{i+1}p_i密度直达,则称x_jx_i密度可达。

密度相连:对x_jx_i,若存在x_k使得x_jx_i均由x_k密度可达,则称x_jx_i密度相连。

边界点:如果一个对象在其半径eps内含有点的数量小于minpts,但是该对象落在核新对象的邻域内,则该对象为边界点。

簇:由密度可达关系导出的最大的密度相连样本集合。

若x是核心对象,由x密度可达的所有样本组成的集合X就是满足连接性与最大性的簇

先找到满足核心对象的集合\Omega,从\Omega中随机选取一个核心对象作为种子,找到由它密度可达的所有样本,这就构成了第一个聚类簇,并将刚刚选取的核心对象从\Omega中去除,如此类推,直到\Omega为空。

optics

只有核心对象有核心距离和可达距离。

核心距离:如果样本对象x_i是核心对象,那么x_i的核心距离,就是使样本x_i能够成为核心对象的最小半径值\epsilon参数。使得x_i成为核心对象的最小距离,不是之前设定的\epsilon参数,核心距离小于等于\epsilon参数,样本x_i\epsilon邻域内可能有多于minpts个样本,但是我们只取半径范围内恰好有minpts样本的半径值\epsilon作为其核心距离。

可达距离:x_i和p的可达距离指:核心距离和两点欧式距离的最大值。

image.png

样本x_i与样本p_1的可达距离:在核心距离\epsilon^{'}p_1欧几里得距离选较大的那个,选择核心距离。

样本x_i与样本p_2的可达距离:在核心距离\epsilon^{'}p_2欧几里得距离选较大的那个,选择欧几里得距离。

密度越大,从相邻节点直接密度可达的距离就越小。optics算法用一个可达距离升序排列的有序种子队列迅速定位稠密空间的数据对象。

较稠密簇中的对象在簇排序中相互靠近;

一个对象的最小可达距离给出了一个对象连接到一个稠密簇的最短路径。

min_samples:一个点要成为核心点其邻域内至少点的数量

max_eps:最大半径

metric:距离矩阵,设置使用哪些距离,例如欧氏距离,曼哈顿距离等。如果使用自己定义的距离,需要设置为"precomputed",然后对距离矩阵进行训练。

p:p=1曼哈顿距离,p=2欧式距离,任意的p使用闵式距离。

cluster_method:从可达性和排序结果,提取簇的方法,可以选择"xi"或者'dbscan'

eps:半径

xi:确定可达性图上的最小陡度,构成集群边界。

步骤:(根据不同的max_eps设定,最后得到的结果不同,eps基本不对算法结果产生影响)

1.先找出所有的核心对象,放在核心对象队列中。当max_eps设置默认为inf时,所有的点都能成为核心对象;当max_eps设置的较小时,就有一些点无法成为核心对象并且可能也不是其他核心对象的直接可达对象,这些点的可达距离全部为inf。

2.在核心对象队列中随机选择一个核心对象,第一个被处理的点是不存在可达距离的,所以设置其可达距离为inf。其在原数据集中的次序放入结果序列中,找到全部的直接密度可达点,并计算所有直接可达点的可达距离,放进有序队列中,按照可达距离升序排列。如果核心对象队列中的元素都已经被处理,算法结束。

3.在有序队列中选择可达距离最小的点,其在原数据集中的次序放入结果队列中,并将其在有序队列中删除。若有序队列为空,则算法结束。

3.1 判断该点是否是核心对象,如果是,找到其所有的直接密度可达点,如果其密度可达点已存在于有序队列中,并且此时的可达距离小于旧的可达距离,则用新的可达距离取代旧的可达距离。并且将有序列表中的点按照可达距离重新排序。

3.2如果不是核心对象,则寻找第二小的直接可达点。其在原数据集中的次序放入结果队列中,并将其在有序队列中删除,并按照3.1处理该点。

本文章参考了多位博主的文章,如有雷同麻烦联系我删除。

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