Leader聚类算法讲解
Leader clustering algorithm explanation
我试图理解这个算法,但无法获得适当的文档和解释。谁能帮我理解这个聚类算法。
发布答案以便对其他人有所帮助。
Leader算法是一种增量聚类算法,一般用于对大数据集进行聚类。该算法依赖于顺序,可以根据数据集提供给算法的顺序形成不同的集群。该算法包括以下步骤。
第 1 步:将第一个数据项 P1 分配给聚类 C1。该数据集将成为集群 C1 的领导者。
步骤 2:Now 移动到下一个数据项,比如 P2 并计算它与领导者 P1 的距离。如果 P2 和领导者 P1 之间的距离小于用户指定的阈值 (t),则将数据点 P2 分配给该集群(集群 C1)。如果领导者 P1 和数据项 P2 之间的距离大于用户指定的阈值 t,则形成一个新的集群 C2 并将 P2 分配给这个新集群。 P2 将成为集群 C2 的领导者。
Step3:对于所有剩余的数据项,计算数据点与集群领导者之间的距离。如果数据项与任何领导者之间的距离小于用户指定的阈值,则将数据点分配给该集群。但是,如果数据点与任何集群领导者之间的距离大于用户指定的阈值,则会创建一个新集群,并将该特定数据点分配给该集群并被视为集群领导者。
第四步:重复第三步,直到所有的数据项都被分配到簇中。
阐明理论的示例。
考虑模式位于
A (1, 1),B(1, 2), C(2, 2), D(6, 2), E(7, 2), F(6, 6), G(7, 6)
让数据按照A, B, C, D, E, F and G
的顺序处理,用户指定的阈值T
为3
。
A(1, 1)
是处理的第一个数据项,它被分配到集群 C1
并成为 C1
的领导者。
对于第二个点B
,计算它与领导者的距离A
。
使用欧氏距离公式 ( Distance(a, b)) = √(x - a)² + (y - b)²
),我们得到的距离为 √(1 - 1)² + (1 - 2)² = 1
,这小于用户指定的阈值 3
,因此 B
被分配给集群 1。
对于第三个点C(2, 2)
,计算集群C1
的领导者A(1, 1)
和点C
之间的距离。使用欧氏公式,距离为 √(1 - 2)² + (1 - 2)² = 1.41
,小于
阈值,因此 C
也分配给 C1
。
A 和 D 之间的距离 (√(1 - 6)² + (1 - 2)² = 5.099 ) 大于用户指定的阈值 3,因此创建一个新集群并将 D 分配给集群 C2
。 D是这个集群的领导者。
对于点 E
,计算其与 A
(C1
的首领)和 D
(C2
的首领)的距离。由于 Distance(D,E)
小于用户指定的阈值 3
,它被分配到集群 2。
F 与A
(C1 的领导者)的距离为7.07
,与D
(C2 的领导者)的距离为4
。
这两个距离都高于阈值,因此 F
被放入新集群 C3
并成为该集群的领导者。
对于 G
,Distance(A,G)
、Distance(D,G)
和 Distance(F,G)
分别是 7.81
、6.41
和 1
。由于 Distance(F,G)
小于用户指定的 3
它被分配到集群 3.
可以看出,如果数据以不同的顺序处理,集群
领导者会有所不同——甚至集群也会有所不同。如果 C
发生在之前
A
和 B
,那么 C
将成为 C1
的领导者。如果 D
发生在之前并且
C
和 D
之间的距离小于阈值,应该在 C1
内。这个
如果 A
是领导者,则可能不会发生。因此,领导者算法依赖于顺序,并且可能会根据处理顺序给出不同的结果。
我试图理解这个算法,但无法获得适当的文档和解释。谁能帮我理解这个聚类算法。
发布答案以便对其他人有所帮助。
Leader算法是一种增量聚类算法,一般用于对大数据集进行聚类。该算法依赖于顺序,可以根据数据集提供给算法的顺序形成不同的集群。该算法包括以下步骤。
第 1 步:将第一个数据项 P1 分配给聚类 C1。该数据集将成为集群 C1 的领导者。
步骤 2:Now 移动到下一个数据项,比如 P2 并计算它与领导者 P1 的距离。如果 P2 和领导者 P1 之间的距离小于用户指定的阈值 (t),则将数据点 P2 分配给该集群(集群 C1)。如果领导者 P1 和数据项 P2 之间的距离大于用户指定的阈值 t,则形成一个新的集群 C2 并将 P2 分配给这个新集群。 P2 将成为集群 C2 的领导者。
Step3:对于所有剩余的数据项,计算数据点与集群领导者之间的距离。如果数据项与任何领导者之间的距离小于用户指定的阈值,则将数据点分配给该集群。但是,如果数据点与任何集群领导者之间的距离大于用户指定的阈值,则会创建一个新集群,并将该特定数据点分配给该集群并被视为集群领导者。
第四步:重复第三步,直到所有的数据项都被分配到簇中。
阐明理论的示例。
考虑模式位于
A (1, 1),B(1, 2), C(2, 2), D(6, 2), E(7, 2), F(6, 6), G(7, 6)
让数据按照A, B, C, D, E, F and G
的顺序处理,用户指定的阈值T
为3
。
A(1, 1)
是处理的第一个数据项,它被分配到集群 C1
并成为 C1
的领导者。
对于第二个点B
,计算它与领导者的距离A
。
使用欧氏距离公式 ( Distance(a, b)) = √(x - a)² + (y - b)²
),我们得到的距离为 √(1 - 1)² + (1 - 2)² = 1
,这小于用户指定的阈值 3
,因此 B
被分配给集群 1。
对于第三个点C(2, 2)
,计算集群C1
的领导者A(1, 1)
和点C
之间的距离。使用欧氏公式,距离为 √(1 - 2)² + (1 - 2)² = 1.41
,小于
阈值,因此 C
也分配给 C1
。
A 和 D 之间的距离 (√(1 - 6)² + (1 - 2)² = 5.099 ) 大于用户指定的阈值 3,因此创建一个新集群并将 D 分配给集群 C2
。 D是这个集群的领导者。
对于点 E
,计算其与 A
(C1
的首领)和 D
(C2
的首领)的距离。由于 Distance(D,E)
小于用户指定的阈值 3
,它被分配到集群 2。
F 与A
(C1 的领导者)的距离为7.07
,与D
(C2 的领导者)的距离为4
。
这两个距离都高于阈值,因此 F
被放入新集群 C3
并成为该集群的领导者。
对于 G
,Distance(A,G)
、Distance(D,G)
和 Distance(F,G)
分别是 7.81
、6.41
和 1
。由于 Distance(F,G)
小于用户指定的 3
它被分配到集群 3.
可以看出,如果数据以不同的顺序处理,集群
领导者会有所不同——甚至集群也会有所不同。如果 C
发生在之前
A
和 B
,那么 C
将成为 C1
的领导者。如果 D
发生在之前并且
C
和 D
之间的距离小于阈值,应该在 C1
内。这个
如果 A
是领导者,则可能不会发生。因此,领导者算法依赖于顺序,并且可能会根据处理顺序给出不同的结果。