博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
隐语义模型LFM
阅读量:4699 次
发布时间:2019-06-09

本文共 681 字,大约阅读时间需要 2 分钟。

 

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

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

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的空间复杂度更低

转载于:https://www.cnblogs.com/stAr-1/p/8779749.html

你可能感兴趣的文章
MWPhotoBrowser 属性详解 和代理解释
查看>>
android用户界面之AlarmManager教程实例汇
查看>>
从SourceForge上获取CVS管理的开源代码
查看>>
keepalived + LVS实现高可用负载均衡集群
查看>>
JAVA中isEmpty、null、""的区别
查看>>
沙滩球的理解
查看>>
SpringMVC入门笔记
查看>>
Oracle trunc()函数的用法
查看>>
Linux——SUID、SGID、SBIT简介
查看>>
P1149 火柴棒等式
查看>>
《Java并发编程实战》第十章 避免活跃性危急 读书笔记
查看>>
将字符串使用md5加密
查看>>
20171026_Python学习第二周四次课
查看>>
各大主流.Net的IOC框架性能测试比较
查看>>
堆排序算法
查看>>
OC基础15:内存管理和自动引用计数
查看>>
【Deep Learning】genCNN: A Convolutional Architecture for Word Sequence Prediction
查看>>
IT增值服务,客户案例(一)--山东青岛在职人士,2年.Net经验,转Java开发半年
查看>>
jQuery 文件碎片
查看>>
Cocos2d-x之MenuItem
查看>>