EM算法之推荐系统(二)隐语义模型

一、隐语义模型

1.1 隐语义模型概述       

将用户和物品都转化为隐语义,将这两个通过隐语义进行组合,我们需要做的是通过数据出发,进行个性化的推荐;物品和用户之间可能存在着隐含的联系,因此我们需要建立隐含的关系方程。这个隐含因子只要能够让计算机理解就好。将用户和物品通过中介隐含因子联系起来。例如有N个用户和M和商品,打分矩阵如下所示:

       首先分解,将N个用户分解成N*F的,N个用户转换成每个用户含有F个隐藏因子,对于M个电源,将F个隐藏因子对应M个电影,既能分解也能组合这就是隐语义模型。

1.2 隐语义模型求解

      正常的情况下,我们都会有一个用户对于物品的评分值R_{UI},公式如下所示:

                                       

      首先,我们将用户对于物品的评分值R_{UI}转化为用户与隐含因子的关系P_{U}以及隐含因子与物品之间的关系Q_{I}

     在机器学习中我们需要找到损失函数或者需要优化的目标,在这里同样需要,如下:

     然后我们定义一个损失:

                           

这里的C就是真实值与预测值之差。

        所以我们要求C就需要求P和Q这里面都是一些参数,因此我们需要加一些惩罚项的因子。上式中最右边就是加的是正则化的惩罚项。

       现在我们就需要最小环Loss即C。利用梯度下降如下所示:

                        

        通过梯度下降吧梯度的方向拿出来之后,需要进行参数的更新,需要更新的主要是P和Q。

在求解的时候我们需要正负样本的选择。对于正样本就是打分的。对于负样本的选择要求如下:

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

       (2)选取那些很热门,而用户却没有行为的物品

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

1.3 隐语义模型中的参数选择

      (1)隐特征的个数F,通常是F=100,F越大隐射的空间越大

      (2)学习率alpha,别太大就行;利用0.01,0.001都可以

      (3)正则化参数lamda,别太大,0.01就可以了

      (4)负样本/正样本的比例,ratio,这个需要自己再不同的场景下试验,观察一下准确率、召回率等等。

          

1.4 协同过滤VS隐语义模型

               

        隐语义模型只有把隐含因子设置F小一点,整个的隐射空间就比较小,空间复杂度就比较低,而协同过滤需要维护一个规模比较庞大的用户评价表

二、推荐系统的评估标准

      1.准确率

                      

     2.召回率

                     

     令R(u)是根据用户在训练集上的行为给用户做出的推荐列表,T(u)是用户在测试集删改的行为列表。就是看哪些推荐对了哪些推荐错了。

    3.覆盖率

                     

    4.多样性

               

三、推荐系统实战案例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI炮灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值