推荐系统
文章平均质量分 84
aturbofly
小硕一枚,码农一个。酷爱编程。热爱互联网。目前主要从事自然语言处理,推荐方面的算法开发。
研究生期间的研究方向:推荐系统。
展开
-
推荐系统概述
一推荐系统的发展 二主要方法 2.1 协同过滤推荐算法 2.1.1基于记忆的协同过滤 2.1.2基于模型的协同过滤 2.2 基于内容的推荐算法 2.2.1内容分析 2.2.2偏好学习 2.2.3过滤 2.3 基于知识的推荐算法 2.3.1 基于约束推荐 1推荐知识库 2过约束处理 2.3.2 基于案例推理的推荐 2.4 基于标签的推荐原创 2016-05-02 21:01:14 · 12645 阅读 · 3 评论 -
推荐系统排序(Rank)评价指标总结
1.Mean Average Precision (MAP)AP=∑nij=1P(j).yi,j∑nij=1yi,jAP= \dfrac{\sum_{j=1}^{n_i}P(j).y_{i,j}}{\sum_{j=1}^{n_i}y_{i,j}} 其中, yi,jy_{i,j}:排序中第j个元素对于查询i是否是相关的;相关为1,不相关为0。 P(j)=∑k:πi(k)≤πi(j)原创 2017-10-05 17:07:36 · 24930 阅读 · 0 评论 -
《Statistical Methods for Recommender Systems》阅读笔记--第三章(1)--EE问题
插一句:这个问题,我之前写过三篇相关的博客(有一篇竟然不知道怎么被不小心覆盖了。悲伤。。。),感兴趣的可以先参考: ● http://blog.csdn.net/allenalex/article/details/78220926 ● http://blog.csdn.net/allenalex/article/details/78242068 当然,这本书里的这一原创 2018-01-23 23:18:33 · 656 阅读 · 0 评论 -
bandit算法(3)--UCB算法
引言前面已经介绍了两种bandit算法—ϵ\epsilon-greedy算法和softmax算法。现在我们来总结下这两种算法的共有属性:两种算法在每一轮选择时,默认都是选择到目前为止最好的臂;除此之外,算法会尝试去探索一些目前看起来不是最好的臂: -ϵ\epsilon-greedy算法探索的时候完全是随机的。 -softmax算法探索是基于到当前时刻臂的收益原创 2017-10-15 17:22:04 · 23505 阅读 · 3 评论 -
《Statistical Methods for Recommender Systems》--第五章(1)推荐问题设定和系统架构
可以将网站分为以下四类,对应每类,再选择推荐模型的时候会有各自的考虑: 1. general portals;也就是综合的门户网站,比如雅虎,新浪等; 2. Personal portals;个性化网站;应该指的是类似个人博客一类的网站 3. Domain-specific sites;领域特定的网站...原创 2018-02-08 22:07:24 · 478 阅读 · 0 评论 -
《Statistical Methods for Recommender Systems》阅读笔记--第三章(2)推荐系统中的EE问题
这章节提到一种解决诸如采用的训练数据由于时间影响(比如用早上的数据,训练后预测晚上的;或者使用历史数据)带来偏差的问题的方法——Kalman filter。具体参考《Applied Bayesian Forecasting and Time Series Analysis》。这块自己研究不深,工作中也没有太过在意,不过最近团队有同事提出了这个问题。后面考虑研究下。 对用户聚类分群,然后在翻译 2018-02-04 12:18:35 · 1056 阅读 · 0 评论 -
《Statistical Methods for Recommender Systems》阅读笔记---第一章
关于推荐系统的书籍目前市面上常见的有这三本:《推荐系统实践》、《推荐系统》(《Recommender Systems:An Introduction》)和《推荐系统:技术、评估及高效算法》(Recommender Systems Handbook)。《Statistical Methods for Recommender Systems》这本书是自己无意间发现的。关于推荐系统的资料虽然众多(有想要原创 2018-01-20 22:19:28 · 1312 阅读 · 5 评论 -
《Statistical Methods for Recommender Systems》阅读笔记--第4章(1)评估方法--数据切分及线上评估方法
评估主要分两种: ● 部署前的离线评估。关于这部分的指标大家可以参考我的另外两篇博客: 1)http://blog.csdn.net/allenalex/article/details/51318270 2)http://blog.csdn.net/allenalex/article/details/78161915 ● 部原创 2018-02-04 16:08:17 · 575 阅读 · 0 评论 -
推荐系统经典论文
下面提供的论文,可以说基本都是经典中的经典。读完这些论文,相信对推荐系统的认识肯定会有质的飞越:(不够再找我。O(∩_∩)O~)综述类:1、Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions。最经典的推荐算法综述2、C...原创 2018-03-08 23:06:36 · 10273 阅读 · 11 评论 -
《Statistical Methods for Recommender Systems》--第五章(2)一般系统架构
下图是一个典型的web推荐系统的架构: 主要包含4个组块: 1. Recommendation service –推荐服务;从web服务器获得推荐请求,然后返回推荐物品; 2.Storage systems–存储系统;主要存储用户特征(以及潜在因子)、物品特征(和因子)、模型的参数。并且能够通过有效的索引检索到物品。 ...原创 2018-03-03 10:17:21 · 602 阅读 · 0 评论 -
推荐系统的评价指标总结
评价一个推荐系统的好坏的重要性不用多少。本文的总结非常的全面,相信读者通过阅读本文以及本文参考的文献可以对推荐系统的评价指标有比较全面的掌握。 对推荐系统的研究一个重要的环节是如何评价一个推荐算法的好坏。关于推荐系统评价的研究很多,文献[1,2,3]在不同程度对评价方法进行了总结。评价方法分为离线评估,用户调查,在线评估。由于用户调查和在线评估代价要求高,目前大多数的研原创 2016-05-04 21:58:25 · 44257 阅读 · 1 评论 -
《Statistical Methods for Recommender Systems》阅读笔记--第二章
经典算法通常可利用的信息有一下几种: 1)物品的相关信息 2)用户的相关信息 3)用户和物品的交互信息利用前两种信息的经典算法包括: 1、基于用户人口统计属性的推荐(最近邻推荐) 2、基于内容的推荐这两种推荐都是需要将用户和物品转换成特征向量表示。 然后基于向量来计算两两之间(用户-用户,物品-物品,用户-物品)相似度来实现推荐。这种在书中,作者称之为无监督方原创 2018-01-21 14:43:49 · 679 阅读 · 0 评论 -
推荐系统面临的挑战及发展趋势
1 推荐算法的鲁棒性由于推荐系统能够影响用户的购买行为,带来经济效益,因此越来越多的恶意用户设法通过影响推荐系统的行为来控制推荐系统以实现提高物品销量,损坏竞争对手利益,甚至破坏系统使其无法产生有效推荐[1]。通常所说的对推荐系统的攻击指的是针对协同过滤方法的攻击,因为其他比方法是基于客观事物的信息,用户通常无法操纵这些信息的修改。文献[2]分析了4大类8种不同的攻击策略。文献[56]从不同的原创 2016-05-03 22:56:07 · 18493 阅读 · 0 评论 -
推荐系统中的相似度计算方法总结及实现代码(python)
相似度的计算是推荐系统非常重要的环节,包括:用户与用户之间的相似度,物品与物品之间的相似度或者用户与物品的相关性。 下面以在协同过滤中计算两个用户的相似度来介绍几种常用的相似度计算方法。其中有些方法只适用于协同过滤,有些适应于更多其他推荐方法。 1)共同邻居。直接计算两个用户的交集 2)Jaccard系数。基于共同原创 2016-05-03 22:34:36 · 21633 阅读 · 0 评论 -
开源推荐系统crab里面的一处bug
作为一款python写的开源推荐系统,crab总体还是很不错的。它最大的特色在于很好的实现了协同过滤算法,包括基于用户的协同过滤和基于物品的协同过滤。在阅读源码的过程中发现基于用户的协同过滤算法部分有一处bug,对最后的推荐结果影响非常的大,这里特意指出来。基于用户的协同过滤算法步骤大致包含:1、基于用户对物品的行为构建用户物品评分矩阵;2、基于评分矩阵计算用户的相似度;3、根据相似度找n个原创 2016-08-25 19:44:39 · 2298 阅读 · 0 评论 -
协同过滤算法概述
主要内容:不同算法类的简单介绍,各自的适用场景以及面临的挑战; 和其他算法的比较。一.简介协同过滤是最早提出,同时也是研究的最多,实际应用也最多的一种推荐技术。对于协同过滤算法的分类,主要有两种分类方式。有学者考虑算法是否基于基本概率模型,将协同过滤算法分为非概率性算法和概率性算法。还有将算法分为基于内存的协同过滤算法和基于模型的协同过滤算法。本文采用前一种来阐述。二.非概率性算法基于内存的协原创 2017-05-26 19:18:55 · 3129 阅读 · 0 评论 -
《Mining Large Streams of User Data for Personalized Recommendations》笔记
论文发表年份:2012 主要内容:1、当前在个性化推荐中如何使用数据挖掘技术 2、从 Netflix竞赛中获得的经验; 3、Netflix竞赛中主要使用的个性化推荐技术 4、展望相对于数据挖掘技术,还存在很多可能对推荐效果影响更大的问题。比如用户交互设计等。但这些不属于本文关注范围。原创 2017-08-01 21:27:31 · 751 阅读 · 0 评论 -
推荐算法的可扩展性之hadoop篇(待续...)
我们都知道,大多数的推荐算法都是单机版的。如果不进行任何处理是不能够分布式执行,也就不能充分利用像hadoop这样的分布式计算集群。这严重限制了 推荐算法的实际应用。比如协同过滤,像亚马逊、天猫这些包含大量用户、大量物品及大量行为的平台,用户-物品矩阵巨大。要实现协同过滤,时间复杂度不说,就是存储,单机的也没法 搞定。所以,实现分布式的推荐算法,充分利用集群的资源就变得非常的必要。原创 2017-08-01 22:00:44 · 4143 阅读 · 0 评论 -
用一个例子详解主题敏感(topic-sensitive)pagerank算法流程
本文根据主题敏感pagerank出处的论文《Topic-Sensitive PageRank》中的计算流程,尝试通过列举一个简单的例子来说明主题敏感pagerank的流程。 希望能够帮助有需要的同学。如算法流程有误,请多多指教。原创 2017-08-14 23:06:36 · 4017 阅读 · 1 评论 -
推荐系统冷启动常用解决方案
本文主要基于博主的实际经验,简单介绍几种推荐系统实践中常用的几种解决冷启动的方案。每种方案尽量提供主要的资料,但不展开详细介绍,有需要的可以自己查看相关资料或google。 此外,本文只针对用户的冷启动问题,不涉及物品的冷启动。 我们通常所说的用户冷启动问题是指系统中没有用户的行为数据,但并不表示没有其他数据。有哪些数据可以用来解决冷启动呢?系统内的数据通常包括用户的一些注册信息,比如用户的年龄原创 2017-09-07 23:21:45 · 7071 阅读 · 0 评论 -
bandit算法(1)--epsilon-Greedy Algorithm(附代码)
简述 epsilon-Greedy算法(ϵ\epsilon-贪婪算法)算是MBA(Multiarmed Bandit Algorithms)算法中最简单的一种。因为是MBA算法介绍的第一篇,所以在这里还是先简单说明下MBA。当然,要解释MBA,首先就得EE问题(Explore-Exploit dilemma)。 什么是EE问题呢? 这两个”E”,其中一个代表“exploit”,中文可译作“原创 2017-10-12 23:00:43 · 22502 阅读 · 0 评论 -
详解RankNet原理及实践
0.pair-wise rank简介         pair-wise rank的主要思想是把排序形式化为成对分类(pairwise classification)或成对回归(pairwise regression)问题。和point-wise 最大的区别是,pair-wise的样本是有一对item的相对关系组成的。例如对于某个用户u, 物品i...原创 2018-11-11 14:43:42 · 7636 阅读 · 2 评论