用于查找此模式的任何方法/算法



我是机器学习的新手,所以我想我应该向你们征求建议。我的问题基本上是找到具有相似模式的用户。例如,有3个用户A、B和C,每个用户每天有4个特征,F1、F2、F3、F4。让我们假设这些功能的值如下:第1天

用户F1 F2 F3 F4

10 20 10 50

B 2 4 2 10

C 2 3 9 13

第2天……

我想确定的是用户A&B具有100%匹配(每个特征的比率总是5。假设对于这5天中的每一天,该比率是常数),而a&C或B&C的比赛成绩在0.00到1.00之间。什么算法对我有效?我考虑过余弦相似性、相关性计算等。但由于我没有很多数据点(5天*4=20个值),我不知道这是否有效?

https://en.wikipedia.org/wiki/Cosine_similarity显示A和B(或者,通常情况下,任何两个向量,其中一个是另一个的倍数)的值为1.0,但A、C和B、C的值不为1.0,您应该能够手动检查。

因为你只有少量的向量,所以应该可以计算和检查所有的相似性。如果你有大量的向量,你可以寻找余弦相似的近似方法,比如https://en.wikipedia.org/wiki/Locality-sensitive_hashing#Random_projection.

您不需要机器学习算法,您需要的是一种查看两个向量相似性的方法。最常见的方法是使用二次差。如果你的数据有一个相似的范围,这将正常工作。这意味着您的数据在相同的范围内,类似于(0-10)。如果你有一些值,比如0.0001,其他值,比如10000,那么你需要其他方法。

另一个好方法是Kullback-Liebler。在这里,您必须将数据转换为概率。所有行的总和必须为1。

最新更新