至上次重写ID3 MR版之后,手贱继续尝试CF.之前耳闻CF这两年内非常火,论内某大神也给了单机版(90%代码来自于其).所以想试试能否改到MR上.整体来说,CF本身的机制以相似性为核心,与迭代调用几乎无关联.所以在MR上的表现,未必能完全发挥MR作用.基本上是线性路子,一走到底.原先网上也有不少CF的介绍,不过以文文图图居多,对CF的时序性逻辑表达较少,讲的比较隐晦,现在通过代码剖析重新将其展现在大家面前(纯粹理论此处略过): 先贴图,贴图是王道: 1,整个MR过程其实与单机版90%重叠.仅期…
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web 应用中利用集体智慧构建更加有趣的应用或者得到更好的用户体验.集体智慧是指在大量的人群的行为和数据中收集答案,帮助你对整个人群得到统计意义上的结论,这些结论是我们在单个个体上无法得到的,它往往是某种趋势或者人群中共性的部分. Wikipedia 和 Google 是两个典型的利用集体智慧的 Web…
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web 应用中利用集体智慧构建更加有趣的应用或者得到更好的用户体验.集体智慧是指在大量的人群的行为和数据中收集答案,帮助你对整个人群得到统计意义上的结论,这些结论是我们在单个个体上无法得到的,它往往是某种趋势或者人群中共性的部分. Wikipedia 和 Google 是两个典型的利用集体智慧的 Web…
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web 应用中利用集体智慧构建更加有趣的应用或者得到更好的用户体验.集体智慧是指在大量的人群的行为和数据中收集答案,帮助你对整个人群得到统计意义上的结论,这些结论是我们在单个个体上无法得到的,它往往是某种趋势或者人群中共性的部分. Wikipedia 和 Google 是两个典型的利用集体智慧的 Web…
协同过滤(collaborative filtering,CF)算法主要分为memory-based CF 和 model-based CF,而memory-based CF 包括user-based CF和item-based CF. 基于用户的(User-based)协同过滤算法 基于用户的(User-based)协同过滤算法是根据邻居用户的偏好信息产生对目标用户的推荐.它基于这样一个假设:如果一些用户对某一类项目的打分比较接近,则他们对其它类项目的打分也比较接近(相似用户对某一item的打…
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景       协同过滤(collaborative filtering)是推荐系统经常使用的一种方法.cf的主要思想就是找出物品类似度高的归为一类进行推荐.cf又分为icf和ucf. icf指的是item collaborative filtering,是将商品进行分析推荐.同理ucf的u指的是user,他是找出知趣类似的人,进行推荐. 通常来讲icf的准确率可能会高一些.通过这次參加天猫大数据比赛.…
使用Spark进行ALS编程的例子可以看:http://www.cnblogs.com/charlesblc/p/6165201.html ALS:alternating least squares 关于协同过滤ALS原理的可以看这篇文章:http://www.docin.com/p-938897760.html 最后的惩罚因子那部分没看懂.前面的还挺好的. 上面3.1节关于矩阵分解模型的自然意义和解释,讲的非常好! 注:矩阵的每一行代表一个方程,m行代表m个线性联立方程. n列代表n个变量.如…
一.Mahout推荐算法简介 Mahout算法框架自带的推荐器有下面这些: l  GenericUserBasedRecommender:基于用户的推荐器,用户数量少时速度快: l  GenericItemBasedRecommender:基于商品推荐器,商品数量少时速度快,尤其当外部提供了商品相似度数据后效率更好: l  SlopeOneRecommender:基于slope-one算法的推荐器,在线推荐或更新较快,需要事先大量预处理运算,物品数量少时较好: l  SVDRecommender…
https://blog.csdn.net/qq_23269761/article/details/81355383 1.协同过滤(CF)[基于内存的协同过滤] 优点:简单,可解释 缺点:在稀疏情况下无法工作 所以对于使用userCF的系统,需要解决用户冷启动问题 和如何让一个新物品被第一个用户发现 对于只用itemCF的系统,需要解决物品冷启动问题 如何更新推荐系统呢,答案就是离线更新用户相似度矩阵和物品相似度矩阵[不断删除离开的用户/物品,加入新来的用户/物品] 2.MF PMF BPMF[…
1. 定义 协同过滤(Collaborative Filtering)有狭义和广义两种意义: 广义协同过滤:对来源不同的数据,根据他们的共同点做过滤处理. Collaborative filtering (CF) is a technique used by some recommender systems.[1] Collaborative filtering has two senses, a narrow one and a more general one.[2] In general,…
数据规整 首先将评分数据从 ratings.dat 中读出到一个 DataFrame 里: >>> import pandas as pd In [2]: import pandas as pd In [3]: df = pd.read_csv('2014-12-18.csv') In [4]: df.head()Out[4]: user_id item_id behavior_type user_geohash item_category hour0 100268421 2840198…
http://blog.csdn.net/dark_scope/article/details/17228643 〇.说明 本文的所有代码均可在 DML 找到,欢迎点星星. 一.引入 推荐系统(主要是CF)是我在参加百度的电影推荐算法比赛的时候才临时学的,虽然没拿什么奖,但是知识却是到手了,一直想写一篇关于推荐系统的文章总结下,这次借着完善DML写一下,权当是总结了.不过真正的推荐系统当然不会这么简单,往往是很多算法交错在一起,本文只是入门水平的总结罢了. (本文所用测试数据是movielens…
协同过滤(collaborative filtering) 推荐系统: 百度百科的定义是:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程主要有有以下几种推荐的方式: 基于内容的推荐 协同过滤 关联推荐 混合推荐 协同过滤 这里我们主要考虑的是协同过滤,这也是最经典的推荐算法.协同过滤的思想很简单,就是像我们平时需要找一部好看的电影最简单的方式就是找兴趣相同的人推荐. 相似度计算: 相似度的计算主要有以下几种方法: 基于欧氏距离 相似度…
因为协同过滤内容比较多,就新开一篇文章啦~~ 聚类和线性回归的实战,可以看:http://www.cnblogs.com/charlesblc/p/6159187.html 协同过滤实战,仍然参考:http://www.cnblogs.com/shishanyuan/p/4747778.html 其中有一些基础和算法类的,会有其他一些文章来做参考. 1.3 协同过滤实例 1.3.1 算法说明 协同过滤(Collaborative Filtering,简称CF,WIKI上的定义是:简单来说是利用某…
在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法.本文将带你深入了解协同过滤的秘密.下面直接进入正题 1 什么是协同过滤 协同过滤是利用集体智慧的一个典型方法.要理解什么是协同过滤 (Collaborative Filtering, 简称 CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐.这就是协同过滤的核心思想. 换句话说…
第一部分是学习ID3时候积累的. 一.以前写的基础知识 1.信息:是用来消除不确定性的度量,信息量的大小,由所消除的不确定性的大小来计量(香农). 2.由于不确定性是由随机性引起的,所以用概率来描述和计量:熵entropy:源于热力学,是分子混乱程度的度量. 3.X(离散型随机变量)的熵H(X) 为:H(X)= - ∑x ∈X p (x) log2 p (x),其中,约定0log2 0 = 0,通常单位为bits;一个随机变量的熵越大,它的不确定性就越大,正确估计其值的可能性就越小.越不确定的随…
下面这是论文笔记,其实主要是摘抄,这片博士论文很有逻辑性,层层深入,所以笔者保留的比较多. 看到第二章,我发现其实这片文章对我来说更多是科普,科普吧…… 一.论文来源 Personalized Web Recommendation via Collaborative Filtering(很奇怪via为什么小写,先记住吧) (Candidate)博士研究生:孙慧峰 (Advisor)导师:陈俊亮(院士) (Academic Degree Applied for)学位级别:工学博士学科(Doctor…
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3 基于物品的协同过滤推荐算法--读"Item-Based Collaborative Filtering Recommendation Algorithms" . - 番石榴的日志 - 网易博客 基于物品的协同过滤推荐算法--读"Item-Based Collaborative Filtering Recommendation Algorithm…
协同过滤 —— Collaborative Filtering 协同过滤简单来说就是根据目标用户的行为特征,为他发现一个兴趣相投.拥有共同经验的群体,然后根据群体的喜好来为目标用户过滤可能感兴趣的内容. 协同过滤推荐 —— Collaborative Filtering Recommend 协同过滤推荐是基于一组喜好相同的用户进行推荐.它是基于这样的一种假设:为一用户找到他真正感兴趣的内容的最好方法是首先找到与此用户有相似喜好的其他用户,然后将他们所喜好的内容推荐给用户.这与现实生活中的“口碑传…
基本思想 基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分.根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系.在有相同喜好的用户间进行商品推荐.简单的说就是如果A,B两个用户都购买了x.y.z三本图书,并且给出了5星的好评.那么A和B就属于同一类用户.可以将A看过的图书w也推荐给用户B.   基于用户协同过滤算法的原理图 所以,协同过滤算法主要分为两个步骤: 1.寻找相似的用户集合: 2.寻找集…
UserCF  本系列文章主要介绍推荐系统领域相关算法原理及其实现.本文以项亮大神的<推荐系统实践>作为切入点,介绍推荐系统最基础的算法(可能也是最好用的)--基于用户的协同过滤算法(UserCF).参考书中P44-50. 1.简述 假设在一个个性化的推荐系统中,用户A需要推荐,那么可以先找到与A有相似兴趣的用户,例如B.C.D把他们喜欢的,用户A没有听说过的物品推荐给A.这种方法被称为基于用户的协同过滤. 2.计算用户相似度 从算法原理中我们可以得到UserCF主要包括两个步骤: 1.找到和…
[说明] 本文翻译自新加坡国立大学何向南博士 et al.发布在<World Wide Web>(2017)上的一篇论文<Neural Collaborative Filtering>.本人英语水平一般+学术知识匮乏+语文水平拙劣,翻译权当进一步理解论文和提高专业英语水平,translate不到key point还请见谅. 何博士的主页:http://www.comp.nus.edu.sg/~xiangnan/ 本文原文:http://www.comp.nus.edu.sg/~xi…
协同过滤(Collaborative Filtering,CF)算法是一种常用的推荐算法,它的思想就是找出相似的用户或产品,向用户推荐相似的物品,或者把物品推荐给相似的用户.怎样评价用户对商品的偏好?可以有很多方法,如用户对商品的打分.购买.页面停留时间.保存.转发等等.得到了用户对商品的偏好,就可以给用户推荐商品.有两种方法:用户A喜欢物品1,商品2和物品1很相似,于是把物品2推荐给用户A:或者用户A和用户B很类似,B喜欢商品2,就将商品2推荐给用户A.所以协同过滤分为两类:基于用户的协同过滤…
[论文标题]Sparse Probabilistic Matrix Factorization by Laplace Distribution for Collaborative Filtering     (24th-IJCAI ) (Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI 2015) ) [论文作者]Liping Jing, PengWa…
寒神解释:某些用户的倾向性和品味没有一致性,比较散.因此在协同过滤这种算法里,没办法和某个group有很高的相似/一致度,推荐会失效. 我理解是寻找邻居时候计算得到的相似度和其他用户相似度都非常小,或者说都低于阈值,这样由于没有邻居,那么就不是CF了.…
http://antkillerfarm.github.io/ 向量的范数(续) 范数可用符号∥x∥λ表示. 经常使用的有: ∥x∥1=|x1|+⋯+|xn| ∥x∥2=x21+⋯+x2n−−−−−−−−−−−√ ∥x∥∞=max(|x1|,-,|xn|) 这里不做解释的给出例如以下示意图: 当中,0范数表示向量中非0元素的个数. 上图中的图形被称为lp ball. 表征在同一范数条件下,具有相同距离的点的集合. 范数满足例如以下不等式: ∥A+B∥≤∥A∥+∥B∥(三角不等式) 向量范数推广可…
[论文标题]AutoRec: Autoencoders Meet Collaborative Filtering (WWW'15) [论文作者]Suvash Sedhain †∗ , Aditya Krishna Menon †∗ , Scott Sanner †∗ , Lexing Xie ∗† [论文链接]Paper(2-pages // Double column) <札记非FY> ====================首先,AutoEncoder 是什么?[ref-1]=======…
SparkMLlib-协同过滤推荐算法,电影推荐系统,物品喜好推荐 一.协同过滤 1.1 显示vs隐式反馈 1.2 实例介绍 1.2.1 数据说明 评分数据说明(ratings.data) 用户信息(users.dat) 电影信息(movies.dat) 程序代码 二.协同过滤推荐算法--推荐系统代码 2.1 训练数据 2.2 实战代码 2.3 运行结果(亲测可行) 三.Spark MLlib推荐算法 四.基于物品的Spark MLlib代码 推荐模型效果的评估 相关内容原文地址: 博客园:Le…
数据集: https://grouplens.org/datasets/movielens/ ml-latest-small 协同过滤算法理论基础 https://blog.csdn.net/u012995888/article/details/79077681 相似度计算主要有三个经典算法:余弦定理相似性度量.欧氏距离相似度度量和杰卡德相似性度量.下面分别进行说明: 余弦定理相似性度量       三角形余弦定理公式:,由该公式可知角A越小,bc两边越近.当A为0度时,bc两边完全重合. 当b…
1.推荐系统中的算法: 协同过滤: 基于用户 user-cf 基于内容 item –cf slop one 关联规则 (Apriori 算法,啤酒与尿布) 2.slope one 算法 slope one 算法是基于不同物品之间的评分差的线性算法,预测用户对物品评分的个性化算法.slope one 算法是由daniel 教授在2005年提出.主要分为2步 1. 计算物品之间评分差的平均值,记为物品间的评分偏差: 2.根据物品间的评分偏差和用户的历史评分,给用户生成预测评分高的推荐物品列表. 实例…