树之间的度量

数据挖掘 距离 k-nn 公制
2021-09-27 16:45:09

我有某些树结构。我不是机器学习方面的专家。

就像我使用 KNN 一样,我会通过度量函数和一个新的数据点以及来自训练集的点来计算距离。好的,明白了。

现在让我们考虑数据点不是元组而是树。如何计算两个图之间的距离。

例如,我想要以下

我有几棵典型的树,例如:

|
 - <form class="xyz">
   |
    - <input type="text">
    - <button value="Click here">

在所有这些节点之间,可能存在任意其他节点,按钮节点的值可能不同,输入节点的类型可能不同,甚至按钮节点也可能是不同的节点类型,例如input,表单-节点将被任意节点包围。

如何计算树木之间的这种距离?

3个回答

复杂结构的物体之间的距离可能很棘手。考虑一个更简单的例子,当你有两个单词序列时。你如何计算距离?在语音识别中,根据对齐句子之间的Levenstein 距离,将 groundtruth 和已识别转录之间的距离计算为单词错误率。

GRAAL是对齐算法对网络的扩展。但是,它只考虑网络拓扑。您可能希望扩展节点相似度以遇到节点的类型和属性。

一种方法是使用图核来计算相似度(因为核相当于在一些欧几里德嵌入空间中取点积),并使用核化 kNN 算法。

由于目标是找到树木有多远,或者在什么意义上树木有多远,您可以尝试多种方法 1. 以树的“总熵”表示的一维距离。或树的预测精度。2. 找出你的树相距多远的一个代理可以是选择一组样本点并评估你的树的输出并将其馈送到 t-SNE 以查看这些输出相距多远。如果样本很好地代表了您的数据集,那么您可以从 t-SNE 输出中获得有意义的见解。

链接 - https://lvdmaaten.github.io/tsne/