一、用户行为数据简介
用户行为数据在网站上最简单的存在形式是日志,用户行为在个性化推荐系统中一般分为两种–显性反馈行为(如:评分、喜欢、不喜欢)和隐形反馈行为(即不能明确反应用户喜好的行为,如:页面浏览行为)
二、用户行为分析
在利用用户行为数据设计推荐算法之前,首先需要对用户行为数据进行分析
(1)用户活跃度和物品流行度的分布
用户活跃度:用户产生过行为的物品总数
物品流行度:对物品产生过行为的用户总数
均符合长尾分布
三、基于邻域的算法
1、基于用户的协同过滤算法
主要步骤:
(1)找到和目标用户兴趣相似的用户集合
(计算两个用户的兴趣相似度)
(2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
用户相似度计算的改进
在计算用户相似度时,考虑物品的流行度对提升推荐结果的质量有帮助,而两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度,
2、基于物品的协同过滤算法
给用户推荐那些和他们之前喜欢的物品相似的物品。如:亚马逊、Netflix、hulu、Youtube。该算法可以利用用户的历史行为给推荐结果提供推荐解释
步骤
(1)计算物品之间的相似度
该算法并不利用物品的内容属性计算物品的相似度,主要是通过分析用户的行为记录计算物品之间的相似度,即物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。
(2)根据物品的相似度和用户的历史行为给用户生成推荐列表
用户活跃度对物品相似度的影响
在协同过滤中两个物品产生相似度是因为它们共同出现在很多用户的兴趣列表中,但每个用户对物品相似度的贡献是不同的,例如:书店老板。
物品相似度的归一化
3、userCF和ItemCF比较
四、隐语义模型(雅虎)
核心思想:通过隐含特征联系用户兴趣与物品
基于兴趣分类的方法大概需要解决三个问题:
(1)如何给物品分类?
(2)如何确定用户对哪些类的物品感兴趣,以及感兴趣的程度?
(3)对于一个给定的类,选择哪些属于这个类的物品推荐给用户,以及如何确定这些物品在一个类中的权重?
**隐含语义分析技术(LFM)**采取基于用户行为统计的物品自动聚类。
在LFM中,有4个比较重要的参数,
隐特征的个数F;
学习速率alpha;
正则化参数lambda;
负样本/正样本比例ratio(对LFM的性能影响最大)
五、基于图的模型
基于随机游走的personalRank算法