1、用户行为数据
用户行为数据在网站中最简单的存在形式就是日志,用户行为就是指用户在系统中进行的各种操作,比如用户在电商网站中进行的浏览、点击、搜索、购买、收藏等行为。我们可以通过分析这些数据来推测用户喜爱哪种商品,从而为用户推荐他们更偏爱的商品。
2、用户行为分类
根据反馈的明确性来说,用户行为在个性化推荐系统中一般分两种:①显性反馈行为:明确表示用户对商品喜恶的行为,比如评价、收藏等;②隐性反馈行为:不能明确表示用户喜恶的行为,比如浏览页面等。
根据反馈的方向来说,用户行为数据可以分为:①正反馈:对于某一商品用户倾向于喜欢它;②负反馈:对于某一商品,用户倾向于厌恶它。
对于显性反馈行为我们很容易区分一个用户行为是正反馈还是负反馈, 而在隐性反馈行为中,则相对难以确定。
3、推荐算法
在推荐系统中,最基本也最广泛应用的算法是基于用户的协同过滤算法(UserCF)和基于物品的协同过滤算法(ItemCF)。基于用户的协同过滤算法(UserCF)的基本思想是:当为A用户推荐时,可以先找到和他有相似兴趣的其他用户,然后把这些用户喜欢而A用户没有浏览的物品推荐给A,即为A用户推荐与他有相似兴趣的用户喜欢的商品。UserCF的推荐结果着重于反映和用户兴趣相似的小群体的热点,而ItemCF 的推荐结果着重于维系用户的历史兴趣。换句话说,UserCF的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度,而ItemCF的推荐更加个性化,反映了用户自己的兴趣爱好。所以,新闻网站多用UserCF算法,电商推荐网站多用ItemCF算法。
但是随着系统用户量的增多,计算用户兴趣相似度矩阵将越来越困难,其运算时间复杂度和空间复杂度的增长和用户数的增长近似于平方关系。而且基于用户的协同过滤很难对推荐结果作出解释。因此,亚马逊提出了另一个算法——基于物品的协同过滤算法(ItemCF)。
基于物品的协同过滤算法(ItemCF)的基本思想是:给用户推荐那些和他们之前喜欢的物品相似的物品。 比如,该算法会因为你购买过《Java从入门到精通》而给你推荐《Java并发编程实战》。不过,基于物品的协同过滤算法并不利用物品的内容属性计算物品之间的相似度,二是通过分析用户的行为数据计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。
ItemCF流程:
①计算物品间的相似度
N(i)代表喜欢i商品的用户数量,由此我们可以看出,Wij代表喜欢i商品的用户中同时喜欢j商品的用户比例。
在得到商品之间的相似度后,ItemCF通过如下公式计算用户对一个商品的兴趣:
这里N(i)是用户喜欢的商品的集合,S(j,K)是和商品j最相似的K个物品的集合,wij是物品i和j的相似度,Xui是用户u对商品i的喜爱程度。
原文地址:https://www.cnblogs.com/qilin20/p/12292956.html