基于其他用户喜欢的用于查找用户想要的内容的算法

Iva*_*van 8 algorithm statistics machine-learning bayesian neural-network

我正在考虑编写一个应用程序,根据家庭成员的喜好对HTPC中的电影进行分类.

我不知道统计数据或人工智能,但这里的东西看起来很多汁.我不知道从哪里开始做.

这就是我想要完成的事情:

  1. 从每个用户喜欢组合一组样本,分别对每个样本属性进行评级.例如,也许用户喜欢西方电影很多,所以西方流派会为该用户带来更多的权重(等等其他属性,如演员,导演等).

  2. 用户可以基于其他用户的喜欢获得建议.例如,如果用户A和B都喜欢Spielberg(用户之间的连接),而用户B喜欢Batman Begins,但是用户A厌恶Katie Holmes,则相应地为用户A权衡电影(再次,每个属性分开,例如,也许用户A不喜欢动作电影,所以将评级降低一点,因为凯蒂霍姆斯不是主要的明星,所以不要像其他属性那样考虑到这一点.

基本上,比较来自用户A的集合,类似于来自用户B的集合,并为用户A提供评级.

我对如何实现这一点有一个粗略的想法,但我确信一些聪明的头脑已经考虑过一个更好的解决方案,所以...任何建议?

实际上,经过快速研究,似乎贝叶斯过滤器可行.如果是这样,这会是更好的方法吗?是否只是简单地"标准化"电影数据,为每个用户训练分类器,然后只对每部电影进行分类?

如果你的建议包括一些大脑融化概念(我在这些科目中没有经验,特别是在人工智能方面),如果你在深入研究多肉之前还列出了一些基础知识供我研究,我会很感激.

谢谢!

mon*_*ksy 2

有一些算法对此很有用:

ARTMAP:通过概率对彼此进行分组(这并不快,但在我看来,这是解决您的问题的最佳方法)

ARTMAP 拥有一组共同属性,并通过百分比确定相似性的可能性。 艺术地图

KMeans:这根据向量之间的距离来分隔向量 KMeans:维基百科

PCA:将所有值的平均值与变化位分开。这就是您在计算机视觉中进行人脸检测和背景减除的方法。 主成分分析