推荐系统传统算法
用户角度:推荐系统在‘信息过载’的情况下,进行‘信息过滤’,使用户能高效获得感兴趣的信息。
公司角度:推荐系统解决产品最大限度地吸引用户、留存用户、增加用户黏性、提高用户转化率的问题(如购买转化率,点击率等),达成公司的商业目标、增加公司收益。
协同过滤算法(Collaborative filtering, CF)
协同大家的反馈、评价和意见一起对海量信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。
根据用户的行为历史生成用户-物品共现矩阵,利用用户相似性和物品相似性进行推荐。
UserCF(基于用户的协同过滤)
(1)构建共现矩阵:行坐标为用户,列坐标为商品
(2)计算用户相似度:余弦相似度、皮尔逊相关系数
(3)获得预测结果:用户相似度和相似用户的评价 的 加权平均值
ItemCF(基于物品的协同过滤)
(1)构建共现矩阵:行坐标为用户,列坐标为商品
(2)计算物品相似度
(3)获得预测结果:物品相似度和物品已有评分相乘 的累加值
UserCF具有更强的社交特性,适用于发现热点以及跟踪热点的趋势,适用于新闻推荐场景
ItemCF更适用于兴趣变化较为稳定的应用,如购物推荐,电影推荐
协同过滤不具备较强的泛化能力,推荐结果头部效应明显,处理稀疏向量的能力弱。即热门产品具有很强的头部效应,容易和大量物品产生相似性,尾部物品特征向量稀疏,很少与其他物品产生相似性,很少被推荐。
矩阵分解算法(Matrix Factorization, MF)
通过分解协同过滤的共现矩阵为用户和物品生成一个隐向量,用户对物品的评分是用户的隐向量与物品的隐向量的内积
采用梯度下降方法实现矩阵分解:参考
矩阵分解泛化能力加强,空间复杂度低,但不方便加入用户、物品和上下文相关的特征。
逻辑回归算法(Logistic Regression, LR)
综合利用用户、物品、上下文等多种不同特征,生成较为‘全面’的推荐结果
核心是计算各特征的权重
采用梯度下降方法求取模型参数:参考
逻辑回归模型表达能力不强,仅利用单一特征进行简单加权 ,无法进行特征交叉等高级操作
因子分解机(Factorization Machines,FM)
FM为每个特征学习一个隐权重向量,在特征交叉时,使用两个特征隐向量的内积作为交叉特征的权重。
能更好地解决数据稀疏性问题,提高泛化能力,但丢失了某些具体特征组合的精确记忆能力。
特征域感知因子分解机(Field-aware Factorization Machine, FFM)
每个特征对应一组相对于特征域的隐向量,在特征交叉时,使用特征1所对应的特征域2的隐向量和特征2所对应的特征域1的隐向量作为交叉特征的权重
模型的表达能力更强,但计算复杂度高
梯度提升决策树+逻辑回归算法(Gradient Boosting Decison Tree+Logistic Regression, GBDT+LR)
大规模分段线性模型 (Large Scale Piece-wise Linear Model, LS-PLM)
混合逻辑回归(Mixed Logistic Regression, MLR)
首先对样本进行聚类分片,在每个分片内部构建逻辑回归模型,将每个样本的分片概率与逻辑回归的得分进行加群啊平均,得到最终的预估值。