物品推荐

图推荐-基于随机游走的personrank算法

六月ゝ 毕业季﹏ 提交于 2019-12-03 04:10:24
转自 http://blog.csdn.net/sinat_33741547/article/details/53002524 一 基本概念 基于图的模型是推荐系统中相当重要的一种方法,以下内容的基本思想是将用户行为数据表示为一系列的二元组,每一个二元组(u,i)代表用户u对物品i产生过行为,这样便可以将这个数据集表示为一个二分图。 假设我们有以下的数据集,只考虑用户喜不喜欢该物品而不考虑用户对物品的喜欢程度, 其中用户user=[A,B,C],物品item=[a,b,c],用户和物品有以下的关系: 上述便是一个典型的二分图,我们用G(V,E)来表示,其中V为用户user和物品item组成的顶点集即[A,B,C,a,b,c],而E则代表每一个二元组(u,i)之间对应的边e(u,i),我们这里不考虑用户对物品的喜爱程度,即默认喜爱则e=1,不喜爱则e=0。 那么我们如何使用上述的二分图模型进行物品的推荐呢?根据用户与物品的相关性,对于相关性高的顶点有如下的定义: (1)两个顶点之间有很多路径相连 (2)连接两个顶点之间的路径长度都比较短 (3)连接两个顶点之间的路径不会经过度比较大的顶点 上面有一个概念需要理解,度,顶点的度是指和该顶点相关联的边数。 基于上述的定义,我们这里使用基于随机游走的PersonalRank 算法 来计算,那么这个算法是什么意思呢? 在解释之前

推荐系统之冷启动问题

风流意气都作罢 提交于 2019-12-03 04:09:33
推荐系统之冷启动问题 转自http://blog.csdn.net/zhangjunjie789/article/details/51379127 如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题。 冷启动问题主要分为三类: (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使用网站的时候,系统并没有他的行为数据; (2) 物品冷启动:解决如何将新的物品推荐给可能对它感兴趣的用户; (3) 系统冷启动:如何在新开发网站设计个性化推荐系统,此时网站上用户很少,用户行为也少,只有一些商品的信息。 冷启动的主要解决方案: (1) 提供非个性化推荐:如热门排行榜推荐,等到用户数据收集到一定程度时,切换到个性化推荐; 用户的注册信息分为3种:   1)人口统计学信息:年龄、性别、职业、民族、学历和居住地等;典型代表是Bruce Krulwich开发的Lifestyle Finder   2)用户兴趣的描述:有些网站要求用户填写;   3)从其他网站导入的用户站外行为数据。 有两个推荐系统数据集包含了人口统计学信息:BookCrossing数据集和Lastfm数据集。 利用的用户人口统计学特征越多,越能准确地预测用户兴趣。 (2) 利用用户注册信息:如性别,年龄,做粗粒度的个性化; 基于注册信息的个性化推荐流程:   1)

推荐系统之隐语义模型LFM

会有一股神秘感。 提交于 2019-12-03 04:09:32
LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型。那这种模型跟ItemCF或UserCF的不同在于: 对于UserCF,我们可以先计算和目标用户兴趣相似的用户,之后再根据计算出来的用户喜欢的物品给目标用户推荐物品。 而ItemCF,我们可以根据目标用户喜欢的物品,寻找和这些物品相似的物品,再推荐给用户。 我们还有一种方法,先对所有的物品进行分类,再根据用户的兴趣分类给用户推荐该分类中的物品,LFM就是用来实现这种方法。 如果要实现最后一种方法,需要解决以下的问题: 给物品分类 确定用户兴趣属于哪些类及感兴趣程度 对于用户感兴趣的类,如何推荐物品给用户 对分类,很容易想到人工对物品进行分类,但是人工分类是一种很主观的事情,比如一部电影用户可能因为这是喜剧片去看了,但也可能因为他是周星驰主演的看了,也有可能因为这是一部属于西游类型的电影,不同的人可以得到不同的分类。 而且对于物品分类的粒度很难控制,究竟需要把物品细分到个程度,比如一本线性代数,可以分类到数学中,也可以分类到高等数学,甚至根据线性代数主要适用的领域再一次细分,但对于非专业领域的人来说,想要对这样的物品进行小粒度细分无疑是一件费力不讨好的事情。 而且一个物品属于某个类,但是这个物品相比其他物品,是否更加符合这个类呢?这也是很难人工确定的事情。解决这个问题,就需要隐语义模型

推荐系统发展综述

匿名 (未验证) 提交于 2019-12-03 00:37:01
1. 引言 随着信息技术和互联网技术的发展,人们从信息匮乏时代步入了信息过载时代,在这种时代背景下,人们越来越难从大量的信息中找到自身感兴趣的信息,信息也越来越难展示给可能对它感兴趣的用户,而推荐系统的任务就是连接用户和信息,创造价值。 设想用户想买一本《Recommender Systems An Introduction》,用户只需要走进一家书店,寻找这本书即可。通过互联网,用户可以打开当当,在搜索框中输入书名,然后就可以找到用户想要购买的书籍,这两种方式都需要用户有明确的目的,如购买《Recommender Systems An Introduction》或某一类别的书籍。 但是,当用户没有明确目标时,比如寻找感兴趣的音乐,用户只能通过一些预先设定的类别或标签去寻找他可能感兴趣的音乐,但面对如此之多音乐,用户很难在短时间内找出真正感兴趣的音乐。这时就需要一个自动化的工具,来分析用户曾经收听的音乐,进而寻找出用户可能感兴趣的音乐推荐给用户,这就是个性化推荐系统的工作。 作为一种信息过滤系统,推荐系统具有以下两个最显著的特性: (1)主动化。从用户角度考虑,门户网站和搜索引擎都是解决信息过载的有效方式,但它们都需要用户提供明确需求,当用户无法准确描述自己的需求时,这两种方式就无法为用户提供精确的服务了。而推荐系统不需要用户提供明确的需求,而是通过分析用户和物品的数据

3、基于物品的协同过滤算法

匿名 (未验证) 提交于 2019-12-03 00:19:01
随着网站的用户数目越来越大,计算用户兴趣相似度矩阵越来越困难,其运算时间复杂度和空间时间复杂度的增长和用户数的增长近似于平方关系。其次,基于用户的协同过滤算法很难对推荐结果作出解释。 因此产生了 基于物品的协同过滤算法(ItemCF) 。ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。 ItemCF可以利用用户的行为给推荐结果提供推荐解释 计算物品之间的相似度 根据物品的相似度和用户的历史行为给用户生成推荐列表 我们可以通过以下公式定义物品的相似度 以上,其中 N(i) 表示喜欢物品i的用户数,而分子 N(i)∩N(j) 表示喜欢物品i同时喜欢物品 j 的用户数 因此,上述公式可以理解为喜欢物品i的用户中有多少比例的用户也喜欢物品 j 然后,这里有一个问题,就是如果物品 j 很热门,那么喜欢物品i的用户很多都喜欢物品 j 那么W就会区域1.所有我们使用以下公式 以上,在分母中加上 N(j) 对相似度进行惩罚,即越热门,这个物品被使用的人越多,那么分母就会变大。从而可以挖掘 长尾信息 。 其中 C[i][j] 表示的是同时喜欢物品i 和物品j的用户数 如果物品相似度求出来了,就可以根据以下公式计算用户u对于一个物品j的兴趣度 其中 N(u) 是用户喜欢的物品的集合, S(j,k) 是和物品j最相似的K个物品的集合, w

推荐系统架构

匿名 (未验证) 提交于 2019-12-02 23:57:01
推荐系统架构 下图所示是业界推荐系统通用架构图,主要包括:底层基础数据、数据加工存储、召回内容、计算排序、过滤和展示、业务应用。 底层基础数据是推荐系统的基石,只有数据量足够多,才能从中挖掘出更多有价值的信息,进而更好地为推荐系统服务。底层基础数据包括用户和物品本身数据、用户行为数据、用户系统上报数据等。 召回内容 电商网站、内容网站、视频网站中数据量很大,并不能直接把所有的物品数据全部输送到推荐系统进行排序,那么如何对物品进行筛选就成了很关键的问题。第4章中介绍了一些常用的数据挖掘算法和应用场景,在进行物品召回时可以基于一些常用的机器学习算法构建用户偏好模型、用户兴趣模型、物品相似模型、物品互补模型等。在进行内容召回时,只召回和用户有偏好关系、和用户有直接关联、和用户有直接关系的相关物品,输入排序模型,进行打分排序。例如,在某新闻类网站中,根据用户对新闻的相关行为信息构建用户对新闻标签的兴趣模型,在为用户推荐时就可以推荐用户偏好标签下的新闻数据,如图14-5所示。 在物品召回过程中,重点是如何构建合适的用户偏好模型,只有保证偏好模型的准确性才能确保用户召回物品的准确性。 计算排序 特征工程 “数据决定了机器学习的上限,而算法只是尽可能逼近这个上限”,这里的数据指的就是经过特征工程得到的数据。特征工程指的是把原始数据转变为模型的训练数据的过程,目的就是获取更好的训练数据特征

推荐算法-余弦相似度

匿名 (未验证) 提交于 2019-12-02 23:55:01
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 一、余弦相似度: 余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性" 二维向量的余弦相似度: 多维向量的余弦相似度(类比) /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 协同过滤(Collaborative Filtering , 简称 CF ): 收集用户行为 减噪与归一化处理 减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以是我们的分析更加精确 归一化:将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确。 二、基于物品的协同过滤推荐算法(itemCF): 算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品 用户行为与权重:点击 -1、搜索 -3、收藏 -5 、付款 -10 用户 A 、B 、C 商品 1 、2 、3 、4 、5 、6 根据用户行为列表计算用户、物品的评分矩阵 根据用户、物品的评分矩阵计算物品、物品的相似矩阵 相似度矩阵x评分矩阵=推荐列表 推荐列表中用户之前已经有过行为的元素置为0 /*--> */ /*--> */ /*--> */ /*--> */ /*--> */

协同过滤推荐算法

时光总嘲笑我的痴心妄想 提交于 2019-12-02 11:50:38
一、推荐算法 当你在电商网站购物时,天猫会弹出“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到“你可能认识XXX“的信息;当你在微博添加关注人时,也会看到“你可能对XXX也感兴趣”等等。所有这一切,都是背后的推荐算法运作的结果。 推荐算法,不是某一个也不是某一类算法,凡是能实现推荐功能的算法(比如关联算法、分类算法、聚类算法),都可称之为推荐算法。 推荐功能就是为用户(User)推荐商品(Item)。 依据不同的角度,推荐大致分为以下几种: 1)基于内容的推荐:这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐。这类推荐算法可以找到用户独特的小众喜好,而且还有较好的解释性。 2)基于流行度的推荐:常见的比如基于最多用户点击、最多用户浏览等,属于大众型的推荐方法,在目前的大数据时代并不主流。 3)基于人口统计信息的推荐:这一类是最简单的,它只是简单的根据用户的基本信息发现用户的相关程度,然后进行推荐,目前在大型系统中已经较少使用。 4)混合推荐:这个类似机器学习中的集成学习,博采众长,通过多个推荐算法的结合得到一个更好的。 5)协同过滤推荐:目前最主流的,花样繁多,在工业界已经有了很广泛的应用。它的优点是不需要太多特定领域的知识,可以通过基于统计的机器学习算法得到较好的推荐效果。工程上容易实现

推荐系统| 概述

混江龙づ霸主 提交于 2019-12-01 13:54:06
推荐系统的目的 信息过载 推荐系统 推荐系统是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。解决一些人的“选择恐惧症”;面向没有明确需求的人。 解决如何从大量信息中找到自己感兴趣的信息。 解决如何让自己生产的信息脱颖而出,受到大众的喜爱。 目的: 让用户更快更好的获取到自己需要的内容 让内容更快更好的推送到喜欢它的用户手中 让网站(平台)更有效的保留用户资源 推荐系统的基本思想 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。 知你所想,精准推送 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。 物以类聚 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。 人以群分 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。 推荐系统的数据分析 要推荐物品或内容的元数据,例如关键字,分类标签,基因描述等; 系统用户的基本信息,例如性别,年龄,兴趣标签等 用户的行为数据,可以转化为对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。这些用户的偏好信息可以分为两类:       ①显式的用户反馈

推荐算法初探

丶灬走出姿态 提交于 2019-12-01 05:02:22
1. 推荐算法简介 0x1:关于推荐的几个小故事 在开始讨论抽象具体的算法和公式之前,笔者希望先通过几个小故事,来帮助读者朋友建立一个对推荐算法的感性理解。同时我们也可以更好地体会到在现实复杂世界中,推荐是一项非常复杂的事情,现在的最新的推荐算法可能只模拟了其中30%不到的程度。 1. 150年前美国西部小镇的生活情形 假想150年前一个美国小镇的生活情形,大家都互相认识: 百货店某天进了一批布料,店员注意到这批布料中某个特定毛边的样式很可能会引起Clancey夫人的高度兴趣,因为他知道Clancey夫人喜欢亮花纹样,于是他在心里记着等Clancey夫人下次光顾时将该布料拿给她看看。 Chow Winkler告诉酒吧老板Wilson先生,他考虑将多余的雷明顿(Renmington)来福枪出售,Wilson先生将这则消息告诉Bud Barclay,因为他知道Bud正在寻求一把好枪。 Valquez警长及其下属知道Lee Pye是需要重点留意的对象,因为Lee Pye喜欢喝酒,并且性格暴躁、身体强壮 100年前的小镇生活都与 人和人之间的联系 有关。人们知道你的喜好、健康和婚姻状况。不管是好是坏,大家得到的都是 个性化的体验 。那时,这种高度个性化的社区生活占据了当时世界上的大部分角落。 请注意,这里每个人都对其他 每个人的个性和近期情况 非常了解