概念
方法
k均值聚类(k-means)
目的:将一群点分为几个簇,不用簇之间相似度低
步骤:随机选取k个节点作为簇中心 – 计算簇中心 – 分配点 – 计算簇中心 – 再次分配点 – 直至稳定
有四个牧师去郊区布道,一开始牧师们随意选了几个布道点(随机选取k个节点作为簇中心),并且把这几个布道点的情况公告给了郊区所有的村民,于是每个村民到离自己家最近的布道点去听课。
听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己的课上所有的村民的地址,搬到了所有地址的中心地带(计算簇中心),并且在海报上更新了自己的布道点的位置(节点重新分配)。
牧师每一次移动不可能离所有人都更近,有的人发现A牧师移动以后自己还不如去B牧师处听课更近,于是每个村民又去了离自己最近的布道点(节点重新分配)……
就这样,牧师每个礼拜更新自己的位置,村民根据自己的情况选择布道点,最终稳定了下来。
我们可以看到该牧师的目的是为了让每个村民到其最近中心点的距离和最小。
层次聚类(Hierarchical )
步骤:
一开始,每个村民自己就是一个小的布道点(比如自学圣经,没有牧师),牧师发现有些村民住的特别近,于是把住的近的合并为一个小组,并选取中间作为布道点,
牧师继续观察,发现两个小组之间也离得不远,就把这两个小组合并成一个中组,选择中间作为布道点。
最终像滚雪球一样合并为一个大的教会。形成一个树状图,可以自由决定砍在哪一层,形成不同数量的簇。
DBSCAN(基于密度聚类)(Density-Based Spatial Clustering of Applications with Noise)
步骤:
有一些牧师去郊区布道(不固定牧师数量,由村民分布决定),郊区有一些村民,住的有的比较密集,有的分散。牧师不再固定布道点,而是直接去人群密集的地方布道。牧师A在小区广场布道,发现隔壁楼也有村民来听,就把隔壁楼划入自己的”布道区“,住的特别偏僻的村民不管,算作离群点(噪声)。