关于协同过滤算法(基于用户)的小问题
以前没怎么接触过算法,看网上资料大概是分为以下几个步骤
1.收集用户的爱好
2.找到相似的用户或者物品
3.计算推荐
公式也有给,但是看其他一些资料又出现了模型、训练等字眼,想请教一下基于用于的协同过滤算法需要用上机器学习吗,这个模型又是指什么呢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先我们明确下协同过滤的意义,协同过滤就是通过对象的相似性进行筛选来进行推荐。
基于用户的协同过滤,打个比方就是A用户买了一系列的编程书籍,B用户有着和A用户相似的一些属性,比如都是java工程师,那么A用户买的书就可以推荐给B用户。这个理论的成立是基础是最大似然估计
其中可以看出来,用户拥有了一些标签,通过这些类似的标签来进行推荐,就是基于用户的协同过滤
那么我怎么利用这些标签呢,换句话说,基于这个思想,我怎么来写代码呢,这里就用上了机器学习。把用户的一些列标签当成x,那么组成多元一次方程。y=ax1+bx2+c,这就是两个标签组成的二元一次方程,那么a,b,c的值如何确定呢?这个过程就是机器学习梯度下降的过程。而这个方程式就是所谓的模型。梯度下降的过程就是所谓的训练。