zoukankan      html  css  js  c++  java
  • 隐语义模型LFM

     

    隐语义模型是通过隐含特征,联系用户和物品,基于用户的特征对物品进行自动聚类,然后在用户感兴趣的类中选择物品推荐给用户。

    对于推荐系统,常用的算法:

    USER-CF:给用户推荐和他兴趣相似的用户喜欢的物品

    ITEM-CF:给用户推荐他们感兴趣物品的相似物品

    LFM:得到用户感兴趣的分类,从该分类中挑选物品推荐给用户

    对于LFM,要做的工作有:

    1.对物品进行分类,这里是模糊分类,也就是得出每个物品在每个类中的权重,并不是说一个物品就是属于一个类

    2.确定用户感兴趣的类,这里要计算用户对所有类的兴趣度

    3.从类中挑选物品给用户推荐,根据1,2结果相乘,得出用户对所有物品的兴趣度,进行排序,得出结果

     

    公式:

    其中R是用户u对物品i的兴趣度组成的矩阵

    P是用户u对第k个类的兴趣度组成的矩阵

    Q是物品i在第k个类中的权重

    一图胜千言:

    可以看出,协同过滤是基于统计的,不需要有学习过程,可以实时得出。而隐语义模型是基于建模的,根据训练集,计算出上图中的全部参数,有训练过程,无法实时给出结果。

    损失函数:

    其中后两项为L2正则化项,防止过拟合

    求解可以用梯度下降:

    梯度:

    迭代求解:

    隐语义模型中负样本的选择

    1)对每个用户,要保证正负样本的数目相近
    2)对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。(更代表用户对该物品不感兴
    趣)
    参数:

    1.隐特征个数,也就是类个数f

    2.学习率∂

    3.正则化参数λ

    相对CF,LFM的空间复杂度更低

  • 相关阅读:
    JS和C# 里的闭包及闭包在事件中的使用
    ***项目开发记录
    七牛云存储之应用视频上传系统开心得
    二维码及二维码接合短URL的应用
    EF批量添加,删除,修改的扩展
    ngTemplateOutlet递归的问题
    每日新知2019-06-03
    Spring boot初始
    纯前端播放本地音乐
    macbook 安装任意来源
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8779749.html
Copyright © 2011-2022 走看看