用于比特序列的分层聚类

时间:2011-11-15 14:52:23

标签: algorithm cluster-analysis hamming-distance hierarchical-clustering

这是一个家庭作业问题,我在理解它时面临一些困难。家庭工作问题是

    Cluster the following bitsequences using hierarchical clustering. If d(:,:) defines the
distace between two bitsequences a and b, d(a,b) = Hamming-Distance(a,b) . If C1 and C2 are 
two clusters, the distance between C1 and C2 is d(C1,C2) = 1/|C1||C2| Summation(a belongs C1, b belongs C2) d(a,b). 
Show the cluster hierarchchy with all the intermediate steps.

1   10001011
2   11010111
3   00101010
4   00011110
5   10101110
6   11100001

我在一本书中读到,最初我必须将它们全部视为聚类,然后开始合并最接近的聚类。将形成一个新的集群。现在,我必须通过计算这个新簇和其他簇之间的距离,通过平均两个簇中每个元素之间的距离来找到与这个新形成的簇最近的簇,如问题中所述。

我的解决方案: 我将找到所有对之间的汉明距离,并选择至少一个为C3和C5的汉明距离(汉明距离为2)。现在,这可以合并到一个新的集群中。

我关心的是合并在这里究竟意味着什么?我该怎么做? 或者我只是将它们保持原样,并将其命名为新的群集?

如何找到新群集的每个元素与其他群集之间的平均距离?

另外要计算平均值,给出的公式除以| C1 |和| C2 |。那么,这是否意味着我必须在这里除以元素的数量(每个组8个时间乘以它合并到的集群?)

非常感谢任何帮助。 谢谢。

1 个答案:

答案 0 :(得分:2)

听起来好像你想要自下而上的集群。这个想法是,从一些单件集开始

{1} {2} {3} {4} {5} {6}

虽然有两个或更多套,但选择最近的一对并用它们的联合替换它们。我会稍微随意做这件事。

{1, 2} {3} {4} {5} {6}
{1, 2} {3, 6} {4} {5}
{1, 2} {3, 4, 6} {5}
{1, 2, 5} {3, 4, 6}
{1, 2, 3, 4, 5, 6}

层次聚类由算法中存在的所有集合组成。它们可视化为树,如果X是Y的后代,则X是Y的子集。

           {1,2,3,4,5,6}
           /           \
          /             \
         /               \
     {1,2,5}           {3,4,6}
     /     \           /     \
  {1,2}     \       {3,6}     \
  /   \      \      /   \      \
{1}   {2}    {5}  {3}   {6}    {4}

使用给定的公式计算平均距离; | C1 |和| C2 |是簇1和簇2中的序列数。序列的长度仅与计算单对的汉明距离有关。例如,簇{1,2}和{3,4,6}之间的距离是(d(1,3)+ d(1,4)+ d(1,6)+ d(2,3) + d(2,4)+ d(2,6))/ 6