第二章
前深度学习时代—推荐系统的进化之路
协同过滤组
- ItemCF:物品协同过滤
- UserCF:用户协同过滤
- MF(矩阵分解):为了使协同过滤更好的处理稀疏共现矩阵问题、增强模型的泛化能力
逻辑回归组(协同过滤组仅使用用户的显性、隐形反馈信息,LR组能更好的融合 用户、物品、上下文特征)
- LR
- LS-PLM:大规模分片线性模型
因子分解机组(加入了二阶特征,使模型具有特征组合的能力)
- FM -> FFM(域感知因子分解机)
组合模型
- GBDT+LR
协同过滤算法
计算相似度的几种方法:
- 余弦相似度:夹角越小,证明余弦相似度越大,两个用户越相似
- 皮尔逊相关系数:用用户平均分对独立评分进行修正,减小了用户评分偏置的影响
- 其他比如 https://bigdata-madesimple.com/implementing-the-five-most-popular-similarity-measures-in-python/
UserCF缺点:
- 用户数远大于物品数,导致矩阵计算开销大,复杂度会以 $n^2$ 速度增长
- 用户行为数据稀疏,准确性低
UserCF适用于发现热点、以及跟踪热点的趋势,如新闻
ItemCF适用于兴趣变化较为稳定,如购物网站、视频网站
协同过滤的问题 :
- 泛化能力较弱,两个热门itemm相似无法推广到其他物品上
- 热门商品具有很强的头部效应,容易跟大量物品产生相似,而尾部的物品由于特征向量稀疏,导致大量尾部的物品很少被推荐
- 头部效应明显,稀疏向量的处理能力弱
- 因此MF技术提出
矩阵分解:
- 共现矩阵的基础上,增加模型的泛化能力
- 使用更稠密的隐向量表示用户和物品,挖掘用户和物品的隐含兴趣和隐含特征
- 隐向量是通过分解协同过滤生成的共现矩阵得到的
- m n维矩阵分解成 m k 和 k * n 的矩阵,k为隐向量的维度
- k越小,隐向量包含的信息越少,泛化能力越强;k越大,隐向量包含的信息越多,泛化能力越小
- 隐向量的生成过程是对共现矩阵进行全局拟合的过程,因此隐向量其实是全局信息生成,有更强的泛化能力
矩阵分解的方法:
- 特征值分解(Eigen Decomposition):只作用于方阵,不适用于分解用户-物品矩阵
- 奇异值分解(Singular Value Decomposition,SVD):要求原始矩阵为稠密,而实际情况比较稀疏,需要对缺失值进行填充;计算复杂度高,实际情况计算开销过大
- 梯度下降(Gradient Descent)
正则化加入loss function保持模型稳定
对于加入了正则化的loss function来说,模型权重值越大,损失函数越大
梯度下降是朝着损失小的方向发展,
加入正则项,希望在不影响原模型和数据集之间的损失前提下,使模型的权重变小,权重变小自然会让模型的输出波动更小,从而让模型更加稳定
MF优点:
- 泛化能力强
- 空间复杂度低:$n^2$ 降低到 (n+m)k
- 更好的拓展性和灵活性
但是这几个方法都没有很好的处理 用户、物品、上下文 这些特征
逻辑回归算法
常用的训练方法:
梯度下降法
一阶最优化算法
找一个函数的局部最小值,必须沿函数上当前点对应梯度的反方向进行规定步长距离的迭代搜索
梯度的性质:如果实值函数F(x)在点x处可微且有定义,那么函数F(x)在点x出沿着梯度相反的方向-$\bigtriangledown$F(x)下降最快
优化某模型目标函数时候,只需对目标函数进行求导,得到梯度的方向,沿梯度反方向下降,并迭代过程直至寻找到局部最小点
- 牛顿法
- 拟牛顿法
LR的优势:
- 数字含义上的支撑
可解释性强
根据权重可以判断哪些特征比较重要
- 工程化需要
LR的局限性:
- 表达能力不强,无法进行特征交叉、特征筛选操作
因子分解机模型
POLY2模型
- 对特征进行暴力组合,对所有特征进行了两两交叉
- 导致 原本非常稀疏的特征向量 变的 更加稀疏
- 权重参数由 n 上升到 $n^2$, 复杂度变得更大了
FM模型(隐向量特征交叉)
- 为每个特征学习了一个隐权重向量(latent vector)
- 在特征交叉时,使用两个特征隐向量的内积作为交叉特征的权重
- FM是将MF思想进行了进一步扩展,应用在了除物品、用户之外的所有特征上
- 权重参数从 $n^2$ 减少到了nk
- 相比较POLY2,丢失了一些具体特征组合的记忆能力,但泛化能力更强
- 捕捉非线性关系
FFM模型:加入了特征域的概念
理论上来说FM也适用于高阶特征交叉,但是复杂度无法在工程方面接受
GBDT+LR
GBDT通过逐一生成决策子树的方式生成整个树林
生成新子树的过程是利用样本标签值与当前树林预测值之间的残差,构建新的子树
多棵回归树组成
每棵树生成的过程是一棵标准的回归树生成过程
缺点:容易产生过拟合,以及GBDT的特征转换方式实际上丢失了大量特征的数值信息
LS-PLM
- 对样本进行分片,分片中使用LR进行CTR预估
- 具有样本分片的能力,能够挖掘出数据中的非线性模式,省去人工样本处理和特征工程
- 稀疏性强
LR、FM都比较适用于高维稀疏特征,GBDT不适合?
原始特征通过GBDT转变成高维稀疏特征