这是一个纯粹的算法问题。我不知道这个问题是否有名称,所以如果你这样做,请告诉我。
算法定期接收必须聚类的元素。在每次迭代中,它会创建一组全新的集群C_n+1
。新的元素集是E_n+1 = E_n + E_new
。 E_n
的任何元素都已在上一次迭代中分配给C_n
的集群。
问题是优化数据库中群集的重新分配。
例如,如果在迭代n
处有10个元素的集群在n+1
处成为2个新元素,并且在此新迭代中分成两个8和4个元素的集群,我们应该保留集群中的8个元素,并为剩余的4个元素创建一个新集群。 基本思想是在两次迭代之间保留最佳现有集群。
请为您的答案提供代码,通用代码或数学描述。
修改
我尝试做出更明确的解释:我有一组元素E = {e_1, ..., e_n}
,这些元素属于p
群集C_1 = {c_1_1,...c_1_p}
,其中c_1_i = {e_7, e_52, e_53...}
。然后我收到了一些新元素{e_n+1, ..., e_n+m}
,这些元素在一组新的q
群集{{1}中聚类(无论什么聚类算法都不重要) } C_2 = {c_2_1, ..., c_2_q}
。 我应该使用什么算法来将我的群集c_2_i = {e_7, e_52, e_57...}
更改为群集C_1
,而不是全部删除它们并构建新群集,特别是最少删除和重新分配群集