推荐算法-基于模型的协同过滤

模型的建立相当于从行为数据中提取特征,给用户和物品同时打上“标签”

有显性特征时,我们可以直接匹配做出推荐

没有时,可以根据已有的偏好数据,去发掘出隐藏的特征,这需要用到隐语义模型(LFM)

一、隐语义模型(LFM Latent Factor Mode)

基于样本的用户偏好信息,训练一个推荐模型,然后根据实时的用户喜好信息进行预测新物品的得分,计算推荐

目标:揭示隐藏特征【使用偏好数据训练模型,找到内在规律,再用模型来做预测(类似回归)

方法:矩阵分解进行降维分析【分解之后的矩阵代表了用户和物品的隐藏特征

1、LFM降维方法-矩阵因子分解

想要发现K个隐类,就是找到两个矩阵P和Q,使得两个矩阵的乘积近似等于R

找到影响用户打分的隐藏因子-》预测评分矩阵 

2、模型的求解-损失函数

目标:找到最好的分解方式,让分解之后的预测评分矩阵误差最小

选择平方损失函数,并且加入正则化项,以防止过拟合

 

3、最小化过程的求解:

  • 随机梯度下降算法:
  • 模型求解算法-交替最小二乘法(ALS Alternating Least Square)

        思想:由于两个矩阵P和Q都是未知,且通过矩阵乘法耦合再一起,为了使它们解耦,

        可以先固定Q,把P当作变量,通过损失函数最小化求出P,再反过来固定P,把Q当作变量,求解出Q,如此交替执行,直到误差满足阈值条件,或者到达迭代上限。

 

posted @ 2019-09-03 07:56  与君共舞  阅读(4043)  评论(0编辑  收藏  举报