一.算法实现 基于p-stable分布,并以‘哈希技术分类’中的分层法为使用方法,就产生了E2LSH算法。 E2LSH中的哈希函数定义如下: 其中,v为d维原始数据,a为随机变量,由正态分布产生; w为宽度值,因为a?v+b得到的是一个实数,如果不加以处理,那么起不到桶的效果,w是...
分类:
编程语言 时间:
2015-05-06 10:55:56
阅读次数:
222
在推荐系统众多方法中,基于用户的协同过滤推荐算法是最早诞生的,原理也较为简单。该算法1992年提出并用于邮件过滤系统,一直到2000年,该算法都是推荐系统领域最著名的算法。 本文简单介绍基于用户的协同过滤算法思想以及原理,最后基于该算法实现园友的推荐,即根据你关注的人,为你推荐博客园中其他你有可能感...
分类:
编程语言 时间:
2015-04-30 06:19:35
阅读次数:
209
1. 基于用户的协同过滤基于用户(User-Based)的协同过滤算法首先要根据用户历史行为信息,寻找与新用户相似的其他用户;同时,根据这些相似用户对其他项的评价信息预测当前新用户可能喜欢的项。给定用户评分数据矩阵R,基于用户的协同过滤算法需要定义相似度函数s:U×U→R,以计算用户之间的相似度,然...
分类:
其他好文 时间:
2015-04-27 12:56:37
阅读次数:
636
场景: 一个新妈妈给刚出生的宝宝买用品,随着宝宝的长大,不同的阶段需要不同的物品。 这个场景中涉及到考虑用户所处阶段,给用户推荐物品的问题。 如果使用用户协同过滤,则需要根据购买记录,找到与用户处于同一阶段的用户。 不加入分类信息,单纯使用物品信息,则可能因为买了不同牌子的尿布,而判断为非相似用户,...
分类:
编程语言 时间:
2015-04-27 00:20:42
阅读次数:
186
搜集了快一个月的资料,虽然不完全懂,但还是先慢慢写着吧,说不定就有思路了呢。 开源的最大好处是会让作者对脏乱臭的代码有羞耻感。 当一个做推荐系统的部门开始重视【数据清理,数据标柱,效果评测,数据统计,数据分析】这些所谓的脏活累活,这样的推荐系统才会有救。 求教GitHub的使用。 简单不...
分类:
编程语言 时间:
2015-04-25 22:23:27
阅读次数:
392
1 什么是协同过滤协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤 (Collaborative Filtering, 简称 CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从...
分类:
其他好文 时间:
2015-04-25 16:22:01
阅读次数:
156
SVD推荐算法(一)
看了不少论文,总结起来用SVD做推荐主要有两种不同的方式。
1 本质上是memory-based,只不过先用SVD对user-item的评分矩阵做降维,得到降维后的user特征和item特征,可以分别做userbased的协同过滤和itembased的协同过滤。
2 本质上是model-based,跟传统数学意义的SVD没有太大关系,只不过借鉴了SV...
分类:
编程语言 时间:
2015-04-24 21:11:34
阅读次数:
243
在使用mahout之前要安装并启动hadoop集群将mahout的包上传至linux中并解压即可mahout下载地址:点击打开链接mahout中的算法大致可以分为三大类:聚类,协同过滤和分类其中常用聚类算法有:canopy聚类,k均值算法(kmeans),模糊k均值,层次聚类,LDA聚类等常用分类算...
分类:
编程语言 时间:
2015-04-15 21:13:03
阅读次数:
170
0.前言 需求是这么来的,搭建了Storm集群进行协同过滤算法的计算性能测试,要求精度在毫秒(ms)级别。局域网内40个虚拟机节点,用 date 命令,精度上和效率上都不可行。所以,就搭建了 NTP 服务器。1.简介 简单的说就是选择几部主要主机 (Primary server) 调校时间,让这.....
分类:
系统相关 时间:
2015-04-13 18:29:04
阅读次数:
247
在使用mahout之前要安装并启动hadoop集群
将mahout的包上传至linux中并解压即可
mahout下载地址:
点击打开链接
mahout中的算法大致可以分为三大类:
聚类,协同过滤和分类
其中
常用聚类算法有:canopy聚类,k均值算法(kmeans),模糊k均值,层次聚类,LDA聚类等
常用分类算法有:贝叶斯,逻辑回归,支持向量机,感知器,神经网络等
...
分类:
编程语言 时间:
2015-04-11 09:04:31
阅读次数:
328