推荐算法:
推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。
协同过滤推荐:
1.启发式推荐算法(Memory-based algorithms)
启发式推荐算法易于实现,并且推荐结果的可解释性强。启发式推荐算法又可以分为两类:
基于用户的协同过滤(User-based collaborative filtering):主要考虑的是用户和用户之间的相似度,只要找出相似用户喜欢的物品,并预测目标用户对对应物品的评分,就可以找到评分最高的若干个物品推荐给用户。举个例子,李老师和闫老师拥有相似的电影喜好,当新电影上映后,李老师对其表示喜欢,那么就能将这部电影推荐给闫老师。
基于物品的协同过滤(Item-based collaborative filtering):主要考虑的是物品和物品之间的相似度,只有找到了目标用户对某些物品的评分,那么就可以对相似度高的类似物品进行预测,将评分最高的若干个相似物品推荐给用户。举个例子,如果用户A、B、C给书籍X,Y的评分都是5分,当用户D想要买Y书籍的时候,系统会为他推荐X书籍,因为基于用户A、B、C的评分,系统会认为喜欢Y书籍的人在很大程度上会喜欢X书籍。
2.基于模型的推荐算法(Model-based algorithms)
基于模型的推荐算法利用矩阵分解,有效的缓解了数据稀疏性的问题。矩阵分解是一种降低维度的方法,对特征进行提取,提高推荐准确度。基于模型的方法包括决策树、基于规则的模型、贝叶斯方法和潜在因素模型。
推荐框架:tensorflow,pytorch
推荐系统的目的:
1.帮助用户快速找到想要的商品,提高用户对网站的忠诚度;
2.提高网站交叉销售能力、成交转化率;
流程
首先,找到User1 喜欢的商品;
找出与User1具有相同的商品兴趣爱好的人群;
找出该人群喜欢的其他商品;
例子
两名用户都在某电商网站购买了A、B两种产品。当他们产生购买这个动作的时候,两名用户之间的相似度便被计算了出来。其中一名用户除了购买了产品A和B,还购买了C产品,此时推荐系统会根据两名用户之间的相似度会为另一名用户推荐项目C。
难点1:如何获取兴趣相似的用户
思路:通过购买过相同商品为介质,关联用户的关系
难点2:计算相似度
欧氏距离计算(计算两个点之间的直线距离)
∣ x ∣ = ( x 1 2 + x 2 2 + … + x n 2 ) |x| = \sqrt{ (x_1^2 + x_2^2 + … + x_n^2)} ∣x∣=(x12+x22+…+