2019-04-20

推荐系统的冷启动问题:

人口统计学特征包括年龄、性别、工作、学历、居住地、国籍、民族等

评分预测问题:

每个用户都对一些电影给出了评分,比如用 户A给《虎口脱险》评了1分,给《唐山大兄》评了5分,给《少林足球》评了4分,给《大话西 游》评了5分。但是,每个用户都没有对所有电影评分,比如用户A没有给《变形金刚》和《黑 客帝国》评分。那么,当用户浏览网页并看到《变形金刚》和《黑客帝国》时,我们希望能够给 用户一个分数表明我们认为用户是否会喜欢这部电影,而这个分数也可以帮助用户决策是否要看 这部电影,而如何提高这个分数的预测精度就是评分预测要解决的主要问题。

1 .离线实验方法

评分预测问题基本都通过离线实验进行研究。在给定用户评分数据集后,研究人员会将数据 集按照一定的方式分成训练集和测试集,然后根据测试集建立用户兴趣模型来预测测试集中的用 户评分。对于测试集中的一对用户和物品(u, i),用户u对物品i的真实评分是 Rui  ,而推荐算法预 测的用户u对物品i的评分为 Rˆui ,那么一般可以用均方根误差RMSE度量预测的精度

评分预测的目的就是找到好的模型小化测试集的RMSE。

关于如何划分训练集和测试集,如果是和时间无关的预测任务,可以以均匀分布随机划分数 据集,即对每个用户,随机选择一些评分记录作为训练集,剩下的记录作为测试集。如果是和时 间相关的任务,那么需要将用户的旧行为作为训练集,将用户的新行为作为测试集。Netflix通过 如下方式划分数据集,首先将每个用户的评分记录按照从早到晚进行排序,然后将用户后10% 的评分记录作为测试集,前90%的评分记录作为训练集。

2.评分预测算法

2.1 平均值

简单的评分预测算法是利用平均值预测用户对物品的评分的。下面将分别介绍各种不 同的平均值。

1. 全局平均值

在平均值里简单的是全局平均值。它的定义为训练集中所有评分记录的评分平均值: 

2. 用户评分平均值

用户u的评分平均值 u r 定义为用户u在训练集中所有评分的平均值:

3. 物品评分平均值

物品i的评分平均值 i r 定义为物品i在训练集中接受的所有评分的平均值:

4. 用户分类对物品分类的平均值

假设有两个分类函数,一个是用户分类函数  ,一个是物品分类函数  。 一个定义了用户u 所属的类, 另一个定义了物品i所属的类。那么,我们可以利用训练集中同类用户对同类物品评分 的平均值预测用户对物品的评分。

在用户评分数据上还可以定义很多不同的分类函数。

 用户和物品的平均分 

对于一个用户,可以计算他的评分平均分。然后将所有用户按照 评分平均分从小到大排序,并将用户按照平均分平均分成N类。物品也可以用同样的方式 分类。

 用户活跃度和物品流行度 

对于一个用户,将他评分的物品数量定义为他的活跃度。得 到用户活跃度之后,可以将用户通过活跃度从小到大排序,然后平均分为N类。物品的流 行度定义为给物品评分的用户数目,物品也可以按照流行度均匀分成N类。

2.2 基于邻域的方法

基于用户的邻域算法和基于物品的邻域算法都可以应用到评分预测中。基于用户的邻域算法 认为预测一个用户对一个物品的评分,需要参考和这个用户兴趣相似的用户对该物品的评分。

基于物品的邻域算法在预测用户u对物品i的评分时,会参考用户u对和物品i相似的其他物品 的评分。

对于如何计算物品的相似度

第一种是普通的余弦相似度(cosine similarity):

第二种是皮尔逊系数(pearson correlation):

第三种被Sarwar称为修正的余弦相似度(adjust cosine similarity):

2.3 隐语义模型与矩阵分解模型

在推荐系统领域,提的多的就是潜 语义模型和矩阵分解模型。其实,这两个名词说的是一回事,就是如何通过降维的方法将评分矩 阵补全。

推荐系统系列之隐语义模型

用户的评分行为可以表示成一个评分矩阵R,其中R[u][i]就是用户u对物品i的评分。但是,用 户不会对所有的物品评分,所以这个矩阵里有很多元素都是空的,这些空的元素称为缺失值 (missing value)。因此,评分预测从某种意义上说就是填空,如果一个用户对一个物品没有评过 分,那么推荐系统就要预测这个用户是否是否会对这个物品评分以及会评几分。

1. 传统的SVD分解

2.奇异值分解(SVD)的原理、演算和应用

对于如何补全一个矩阵,历史上有过很多的研究。一个空的矩阵有很多种补全方法,而我们 要找的是一种对矩阵扰动小的补全方法。那么什么才算是对矩阵扰动小呢?一般认为,如果 补全后矩阵的特征值和补全之前矩阵的特征值相差不大,就算是扰动比较小。所以,早的矩阵 分解模型就是从数学上的SVD(奇异值分解)开始的。②给定m个用户和n个物品,和用户对物品的评分矩阵 R属于R的m乘n 。首先需要对评分矩阵中的缺失值进行简单地补全,比如用全局平均值,或 者用户/物品平均值补全,得到补全后的矩阵R'。接着,可以用SVD分解将R'分解

SVD分解是早期推荐系统研究常用的矩阵分解方法,不过该方法具有以下缺点,因此很难在 实际系统中应用。

 该方法首先需要用一个简单的方法补全稀疏评分矩阵。一般来说,推荐系统中的评分矩 阵是非常稀疏的,一般都有95%以上的元素是缺失的。而一旦补全,评分矩阵就会变成一 个稠密矩阵,从而使评分矩阵的存储需要非常大的空间,这种空间的需求在实际系统中 是不可能接受的。

 该方法依赖的SVD分解方法的计算复杂度很高,特别是在稠密的大规模矩阵上更是非常 慢。一般来说,这里的SVD分解用于1000维以上的矩阵就已经非常慢了,而实际系统动 辄是上千万的用户和几百万的物品,所以这一方法无法使用。如果仔细研究关于这一方 法的论文可以发现,实验都是在几百个用户、几百个物品的数据集上进行的。

将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。

SVD分解在推荐系统中的应用及其原理


SVD分解的应用

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 推荐算法&评分预测问题 参考书本: 项亮, 推荐系统实践. 2012本文系阅读笔记 实际系统-topN问题 推荐系...
    锦绣拾年阅读 3,863评论 0 3
  • 基于物品的协同过滤算法:(item-based collaborative filtering) ItemCF的一...
    T_129e阅读 174评论 0 0
  • 这篇文章的技术难度会低一些,主要是对推荐系统所涉及到的各部分内容进行介绍,以及给出一些推荐系统的常用算法,比起技术...
    我偏笑_NSNirvana阅读 12,050评论 5 89
  • 利用回归预测数值型数据 线性回归 前面讲的都是监督学习中的分类,训练出可以判断样本类别的模型,而回归的目的是预测数...
    我偏笑_NSNirvana阅读 9,501评论 4 50
  • 基于模型的协同过滤算法 基于模型的协同过滤算法是源自于推荐过程可以被视为分类或预测问题的这一思想,它将评分矩阵作为...
    T_129e阅读 1,063评论 0 0