关于协同过滤算法(基于用户)的小问题

以前没怎么接触过算法,看网上资料大概是分为以下几个步骤

  1.收集用户的爱好

  2.找到相似的用户或者物品

  3.计算推荐

公式也有给,但是看其他一些资料又出现了模型、训练等字眼,想请教一下基于用于的协同过滤算法需要用上机器学习吗,这个模型又是指什么呢。

阅读 2.2k
1 个回答

首先我们明确下协同过滤的意义,协同过滤就是通过对象的相似性进行筛选来进行推荐。
基于用户的协同过滤,打个比方就是A用户买了一系列的编程书籍,B用户有着和A用户相似的一些属性,比如都是java工程师,那么A用户买的书就可以推荐给B用户。这个理论的成立是基础是最大似然估计
其中可以看出来,用户拥有了一些标签,通过这些类似的标签来进行推荐,就是基于用户的协同过滤
那么我怎么利用这些标签呢,换句话说,基于这个思想,我怎么来写代码呢,这里就用上了机器学习。把用户的一些列标签当成x,那么组成多元一次方程。y=ax1+bx2+c,这就是两个标签组成的二元一次方程,那么a,b,c的值如何确定呢?这个过程就是机器学习梯度下降的过程。而这个方程式就是所谓的模型。梯度下降的过程就是所谓的训练。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题