Fork me on GitHub

【机器学习】--隐语义模型

一、前述

隐语义模型是近年来推荐系统领域较为热门的话题,它主要是根据隐含特征将用户与物品联系起来。

因为用户和物品之间有着隐含的联系。所以把用户转成隐语义,然后物品转成隐语义组合,通过中介隐含因子连接。

二、具体

1、隐语义模型举例和求解

N代表用户,M代表物体

第一步:先分解 将用户分解成F个因子的矩阵 将物品也分解成F个因子的矩阵 (F*N)T*(F*M )=N*M 其中T表示转置。

第二步:转成机器学习模型:

RUI代表用户对物品的关系

Pu代表用户对隐藏因子的关系

QI代表物品对隐藏因子的关系

转换成机器学习模型,必须先找出损失函数。

损失值=预测值-真实值 其中预测值即分解的RUI ,真实值就是真实的RUI,我们希望找出P矩阵(用户和隐藏因子的和关系)和Q矩阵(物品和隐藏因子的关系),实际上就是找出对应的参数,所以这些参数就是我们需要求解的模型,我们将这些参数加入到损失函数里面去,做正则化。

第三步:求解模型

对损失函数求导:

对参数更新迭代:沿着梯度下降的方向,P ,Q就是具体的参数

第四步:建模求解,选择正负样本。

正样本:用户对物品打分就是正样本。

负样本:选取那些很热门,而用户却没有行为的物品。

对每个用户,要保证正负样本的平衡(数目相似)

对于用户—物品集K {(u,i)},其中如果(u, i)是正样本,则有 𝑟𝑢𝑖= 1,负样本则𝑟𝑢𝑖= 0

第五步:参数选择

F值越大,表示映射维度越多。

隐特征的个数F,通常F=100

学习速率alpha,别太大
正则化参数lambda,别太大
负样本/正样本比例 ratio

第六步:模型使用

根据求得的P和Q,还原回去可得原用户对物品的评分矩阵,从而进行推荐。

2、协同过滤VS隐语义比较

原理:协同过滤基于统计,隐语义基于建模
空间复杂度,隐语义模型较小
实时推荐依旧难,目前离线计算多
隐语义模型咋解释呢?不解释

 

posted @ 2018-06-12 01:42  L先生AI课堂  阅读(2109)  评论(0编辑  收藏  举报