Hierarchical Clustering-DIANA

DIANA算法(DIvisive ANAlysis)算法是一种分裂式层次聚类算法,它的主要步骤步骤如下:

举例说明,假设二维空间八个元素,分布位置如下:

坐标点属性1属性2
\(P_1\)11
\(P_2\)12
\(P_3\)21
\(P_4\)22
\(P_5\)34
\(P_6\)35
\(P_7\)44
\(P_8\)45

步骤1:找出具有最大直径的集群,开始时指的就是所有集群。

步骤2:在最大直径集群中,找到每个点与其他点的平均距离:
\(P_1\)与其他点平均距离为:
\(\begin{align*}
d(P_1)&=(\sqrt{(1-1)^2+(2-1)^2}+\sqrt{(2-1)^2+(1-1)^2}+\dots+\sqrt{(4-1)^2+(5-1)^2})/7\\
&=(1+1+1.1414+3.6+4.24+4.47+5)/7\\
&=2.96
\end{align*}\)
同理:
\(d(P_2)=(1+1.414+1+2.828+3.6+3.6+4.24)/7=2.526\)
\(d(P_3)=(1+1.414+1+3.16+4.12+3.6+4.27)/7=2.68\)
\(d(P_4)=(1.414+1+1+2.24+3.16+2.828+3.6)/7=2.18\)
\(d(P_5)=2.18\)
\(d(P_6)=2.68\)
\(d(P_7)=2.526\)
\(d(P_8)=2.96\)

在上面所有的距离中,\(P_1\)与其他点的平均距离最远,放入splinter group,其他点放入old party中,那么
splinter group={\(P_1\)}
old party={\(P_2\),\(P_3\),\(P_4\),\(P_5\),\(P_6\),\(P_7\),\(P_8\)}

步骤3:找出old party中到splinter group最近的点的距离不大于到old party其他点最小距离的点,加入到splinter group中。对于old party中的每一个点依次计算:
\(P_2\)到splinter group中点\(P_1\)的距离为1,因为splinter group中只有一个点,依次\(P_2\)到splinter group中最近的点的距离为1
\(P_2\)到old party中点\(P_3\)的距离为1.1414
\(P_2\)到old party中点\(P_4\)的距离为1
\(P_2\)到old party中点\(P_5\)的距离为2.828
\(P_2\)到old party中点\(P_6\)的距离为3.6
\(P_2\)到old party中点\(P_7\)的距离为3.6
\(P_2\)到old party中点\(P_8\)的距离为4.24
因此\(P_2\)到old party中最近的点(\(P_4\))的距离是1,满足到splinter group最近的点距离不大于到old party其他点最小距离的条件,因此将\(P_2\)加入splinter group中。
此时splinter group={\(P_1\),\(P_2\)}
old party={\(P_3\),\(P_4\),\(P_5\),\(P_6\),\(P_7\),\(P_8\)}

步骤4:重复步骤3,直到不存在这样的点结束,此时已经将最大的集群分成两个。如果此时集群的数量未达到终止条件,则继续重复步骤2,选择一个最大直径的集群进行分裂。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值