用于减少重复聚类的算法

时间:2014-06-05 15:25:00

标签: algorithm matlab for-loop

最近我在工作中遇到了问题。我希望有人能对我的算法设计提出一些建议。问题在于

假设我们有n个标记的不同对象,我们想将它们聚类成k个组,这些组没有标记。我需要为每个聚类做一些计算。我现在所做的是经历所有可能的情况

我的Matlab代码

for i = 0:k^n-1   

    clustering = dec2base(i,k,n); % convert i into k-based value that has n digits, which is one possible clustering
    do some computation 

end

显然,这不是一种有效的实现,因为很多可能的情况都是完全相同的聚类。例如,n = 4,k = 3.0001和0002表示相同的聚类,因为它们都指示前三个对象属于一个组,第四个对象属于一个组。最后一组内部没有任何对象。另一个例子是1122,1100,1211,0022,2211和2200是相同的聚类。

对于k = 2的情况,很容易,我只需要忽略后半部分的情况。但是对于任意值k,我可以使用任何方法或理论来减少这些重复的聚类吗?非常感谢你!

0 个答案:

没有答案