用于比较事物并确定它们有多相似的算法和数据结构?

Algorithms and data structures for comparing things and deciding how similar they are?

提问人:jakstack 提问时间:10/18/2021 更新时间:10/18/2021 访问量:123

问:

可以应用哪些算法和/或数据结构根据一些共同特征来决定两件事的相似程度

哪个知识领域处理此类问题?

一种方法是:

** 其中每个 int 值表示某些特征

** 每组整数表示特征中的一组特征,例如

Object_1:{1, 2, 3}, {11, 14}, {88, 90}

Object_2:{4, 7}, {12, 16}, {81, 91}

搜索词:{2, 90}

搜索应该返回,因为 { 是'Object_1'2, 90}{1, 2, 3, 11, 14, 88, 90}

希望这个例子能缩小问题范围。

算法 排序 数据结构 比较

评论

1赞 grodzi 10/18/2021
object_i中的集合代表什么?总是有三套吗?如果您不考虑集合(参考您的搜索词),为什么要定义它们。整数也代表什么?特征太模糊。Object_1 和 Object_2 的整数数量不同,集合的大小也不相同......所以我们无法推断出任何维度的东西
1赞 jakstack 10/18/2021
感谢@grodzi,所以object_i中的每个集合都代表了我们关心的给定特征的特征,例如,特征 car-body-color 可以有 {red, metallic, fade},例如 {1,2,3}。所以 1 总是意味着“红色”等。可以是任意数量的集合。搜索词只关心某些特征,所以只关心{2,90},但Object_i许多特征。这些整数集代表了我们现在关心的特征,将来可能不再关心,因此我们可以随着时间的推移添加和删除整数集。
0赞 jakstack 10/18/2021
以上只是一个示例,有助于缩小问题范围,但可能不是解决此类问题的唯一/最佳方法

答:

1赞 gst 10/18/2021 #1

有许多不同类型的相似性度量。要决定使用哪一个,第一步是指定您的测量级别和数据类型。以下是分类数据和连续数据的一些相似性度量:

用于基于相似性的学习的通用算法是最近邻算法。有关更多信息,您可以参考 John.D Kelleher 的书