协同过滤算法是构建智能推荐系统时最常用的技术,当收集到更多关于用户的信息时,它可以提供更好的推荐。目前主流的推荐算法,比如抖音、淘宝等都使用协同过滤作为其复杂推荐算法的一部分。
简单的说,协同过滤就是根据历史数据预测用户喜好的算法。
协同过滤算法4种方法
最近领域
协同过滤的标准方法称为最近邻算法。有基于项目的协同过滤算法和基于用户的协同过滤算法。
基于项目的协同过滤
需要大量关于项目自身特征的信息,而不是使用用户的交互和反馈。
就拿电影来说,像是电影的类型、年份、导演、演员等电影属性;也可以是应用自然语言处理提取的文本内容。
基于项目的协同过滤算法关键优势是稳定性,即给定项目的评级不会随着时间的推移而发生显着变化
基于用户的协同过滤
基于用户的历史偏好,在用户偏好方面,也有两类。
1、明确评级,是用户最直接的反馈,比如对餐厅的评价、对电影的评价,以明确分值形式来表示用户的喜好程度。
2、隐式评级,间接的体现用户偏好。例如页面浏览量、点击量、购买记录、音乐曲目推荐等等。
基于用户的协同过滤算法是找到与目标用户最相似的用户属性,并将这类用户对某个项目的评分加权作为目标用户对该项目评分的预测。
需要注意的是,基于用户的协同过滤算法会存在不同的人在给出评分时会有不同的基线,为了避免这种偏差,我们可以在计算加权平均时减去每个用户对所有项目的平均评分,然后将其加回给目标用户。
而计算相似度的两种方法是皮尔逊相关系数和余弦相似度。
矩阵分解
由于稀疏性和可扩展性是标准协同过滤算法的两大挑战,因此出现了一种更先进的方法,将原始稀疏矩阵分解为具有潜在因素/特征和较少稀疏性的低维矩阵。