VLFeat分层k均值:词汇树中的节点数

时间:2014-04-29 17:45:13

标签: matlab hierarchy k-means hierarchical-clustering vlfeat

在分层k-means中,深度为D的词汇树,分支因子K应该具有总节点数(不包括根节点),如下所示:

nodes = K + K^2 + ... + K^D
nodes = (K^(D+1)-K)/(K-1)  

但是,vl_hikmeanshist为直方图提供了一个额外的bin。在website上,节点数计算为:

nodes = (K^(D+1)-1)/(K-1)  

他们还说他们不计算没有信息的根源"。为什么他们的公式不同?他们没有在网站上发布他们的联系,所以我无法问他们。有人可以对这件事情有所了解吗?

1 个答案:

答案 0 :(得分:1)

不包括根节点,因为它不包含其他信息。根节点将始终是数据集的平均值。见here

举一个简单的例子,假设您在深度为2的树中有5个节点。对于您的公式,您将拥有(5^3-5)/(4)=120/4=30个节点(不包括根节点)

他们的公式只是在根节点中添加:(5^3-1)/(4)=124/4=31个节点。这与前面的30加上一个根节点相同。

基本上他们都意味着同样的事情。只要知道额外的bin是根,并不是真的有用。