我很想知道为什么三角定律对于更好的数据挖掘如此重要。据我所知,三角定律可以帮助我们根据不同对象之间的距离定义模式并形成集群。有没有人对三角定律有任何其他输入?
问问题
426 次
1 回答
1
它实际上并不那么重要。在数据挖掘中,我们通常不能假设具有适当的“数学”距离函数。一旦我们允许重复,我们就已经失去了一个关键公理——我们可以有两个距离为 0 的不同对象。(在分类中,在最坏的情况下它们甚至可能有不同的类)。
然而,三角不等式可以让我们修剪搜索空间。如果我们有一个满足三角不等式的距离函数并使用适当的索引,我们可以跳过很多计算,从而使算法更快。
请注意,许多研究和实现并不太关心这种优化。许多使用 R 的数据挖掘者喜欢构建一个距离矩阵(O(n^2)
在优化的 C 代码,而不是解释的 R 代码)。但如果你需要超越这一点,性能的一个关键因素是尽可能利用三角不等式。
于 2012-09-03T08:01:18.377 回答