什么算法和/或数据结构可以应用来决定基于一些共同特征的两个事物的相似程度.
处理这类问题的知识领域是什么?
一种方法是:
**其中每个int值代表一个特征
**和每一组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}
的子集
希望这个例子能把问题缩小一点。
有许多不同类型的相似性度量。要决定使用哪一个,第一步是指定您的测量级别和数据类型。以下是分类数据和内容数据的一些相似性度量:
- 分类数据:
- 汉明距离
- Sokal-Michener
- Russel-Rao
- 连续数据:
- 基于闵可夫斯基的距离,如欧几里得距离,曼哈顿距离 <
- Mahalanobis距离/gh>
基于相似度学习的一般算法是最近邻算法。要了解更多信息,你可以向约翰咨询。D凯莱赫的书