我正在研究图上关键字搜索结果的聚类问题。结果是树的形式,我需要根据它们的相似性将它们分组。树的每个节点都有两个键,一个是SQL数据库中的表名(语义形式),另一个是该表记录(标签)的实际值。
我使用了zhang和shasha、klein、demaine和rted算法,根据这两个键来查找树之间的树编辑距离。所有算法都不使用删除/插入/重新标记操作,需要修改树以使它们看起来相同。
**我想要更多的矩阵来检查两棵树之间的相似性,例如节点数平均扇出和更多这样我可以采取这些矩阵的加权平均,以达到一个非常好的相似度矩阵,它既考虑了树(结构)的语义形式,又考虑了树(节点标签)中包含的信息。
你能给我推荐一条出路或一些有帮助的文献吗?**
有人能给我推荐一些好的报纸吗

最佳答案

即使你在每对可能的树之间都有(伪)距离,这实际上不是你想要的实际上,您希望进行无监督学习(聚类),将结构学习与参数学习结合起来要对其执行推断的数据结构类型是树。为了给你的聚类方法设定“一些度量空间”,你引入了一些并不真正必要的东西寻找合适的距离度量是一个非常困难的问题我将在下面的段落中指出不同的方向,希望它们能在你的路上帮助你。
以下不是表示这个问题的唯一方法你可以把你的问题看作是对所有可能的树的贝叶斯推理,所有可能的值都在树节点上您可能已经对什么样的树比其他树更可能和/或什么样的值比其他树更可能有了一些先验知识。贝叶斯方法将允许您为两者定义优先级。
你可能想读的一篇文章是Meila和Jordan,2000年的《混合树木的学习》(Learning with Mixed of Trees)。它解释了使用可分解先验的可能性:树结构与值/参数具有不同的先验(这当然意味着这里有一些独立性的假设)。
我知道你在暗示启发式方法,如平均扇出等,但你可能会发现值得去看看这些贝叶斯推理的新应用。注意,例如,在非参数贝叶斯方法中,对无限树进行推理也是可行的,例如Hutter,2004(pdf)!

关于algorithm - 树之间的相似性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21897879/

10-12 17:51