1、协同过滤算法(统计学习的计算方式)
基于统计的方法。判断相似性,相似性推荐选择。
1)数据收集:如用户偏好
数据来源:(用户和物品关联方式)评分、投票、转发、保存、书签、标记、标签和评论(需要文本分析偏好)。
2)相似推荐:找到相似物品或用户
相似度计算:欧氏距离作为判断相似度。皮尔逊距离(协方差[-1,1]判断正负相关,相似度=协方差/标准差)也可以
a)基于用户的协同过滤:给用户A建立一个向量,查询与该用户最相似的向量B,在B用户的购买记录里查找A没有购买的物品推荐。而对于新用户,用户向量不明确,则没有可以推荐的 。两用户共同打分数量越多越好,越相似。归一化。但在实际应用中很少用,基于用户的数据太稀疏。用户数据量大和用户的喜好会变化,不稳定。所以多用基于物品的协同过滤。
(1) 用户冷启动方式(新注册用户):引导用户把自己的一些属性表达出来(比如填调查问卷表);利用现有的开放数据平台;根据用户注册属性;推荐排行榜单。
(2)基于用户的协同过滤优缺点:适用于用户较少;时效性要求高,用户个性化兴趣要求不高;用户有新行为不一定需要推荐结果立即变化;采用冷启动方式的时候,在新用户对少的物品产生行为后,不能立即对他进行个性化推荐,因为用户相似度是离线计算的;新物品上线后,一旦有用户对物品产生行为,就可以将物品推荐给其他用户;很难提供用户信服的推荐解释,所以很少用。多用于实时新闻和突然情况。
b)基于物品的协同过滤:用皮尔逊或者欧式距离计算物品间的相似度。物品稳定,物品间相似度也是稳定的。减均值 相似度计算 找k近邻推荐。
(1) 物品冷启动方式(新研发上线产品):文本分析、主题模型或打标签判断所属类别;推荐排行榜单。
(2)基于物品的协同过滤优缺点:适用于物品数明显小于用户数的场合,如物品很多,计算物品相似度矩阵代价较大;长尾物品丰富,用户个性化需求强烈;用户有新行为,一定会导致推荐结果的实时变化;冷启动的时候,新用户只要对一个物品产生行为,就能推荐相关物品给他,但无法在不离线更新物品相似度表的情况下将新物品推荐给用户;可以根据用户历史行为归纳推荐理由,多用于推荐系统。多用于图书、电子商务和电影等。’
2、隐语义模型(机器学习思想):【users;items】=【users;classes】*【classes;items】借助classes隐含特征求解从
1)数据出发,进行个性化推荐;用户和物品之间有着隐含的联系;隐含因子让计算机能理解就好;将用户和物品通过中介隐含因子联系起来。
2)负样本选择:对每个用户要求正负样本数1:1;热门物品而用户没有选择的为负样本;建立用户-物品数据集。
3)模型选择参数:隐特征个数F,通常设为100;学习率alpha;正则化参数lambda;正负样本比例。
4)评估标准:准确率(预测值与真实值之间的均方误差)和召回率(推荐对的比例,用户线上点击的)。覆盖率和多样性。
3、协同过滤和隐语义比较:协同过滤是基于统计建模而隐语义是基于机器学习算法建模;隐语义模型空间复杂度相对较小,因数据量大计算量大,实时推荐系统都很难做到,大都离线计算。