摘要:
导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章。虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对 Cassandra、Mongodb、CouchDB、Redis、 Riak、Membase、Neo4j和HBase进行了比较:(编注1:NoSQL:是 阅读全文
摘要:
1 基于用户的最近邻推荐: 主要思想:找出与当前用户有相似偏好的其他用户,即对等用户或最近邻,然后对当前用户没有见过的产品P,利用其近邻对p的评分计算预测值。 注意:相似偏好是指对物品的评分偏好,而不是相似个人资料的用户。 对于具有相似偏好的用户集,采用Pearson相关系数,给定评分矩阵R,用户a和用户b的相似度sim(a,b)的求法是对【(用户a对产品pn的评价与用户a的平均评分之差)乘以(用户b对产品pn的评价与用户b的平均评分之差)的积】求和(一共P个产品),再除以【(用户a对产品pn的评价与用户a的平均评分之差)的平方的求和】的平方根与【(用户b对产品pn的评价与用户b的平... 阅读全文
摘要:
1 贝叶斯分类器 优点:接受大量数据训练和查询时所具备的高速度,支持增量式训练;对分类器实际学习的解释相对简单 缺点:无法处理基于特征组合所产生的变化结果2 决策树分类器 优点:很容易解释一个受训模型,而且算法将最为重要的判断因素都很好的安排在了靠近树的根部位置;能够同时处理分类数据和数值数据;很容易处理变量之间的相互影响;适合小规模数据 缺点:不擅长对数值结果进行预测;不支持增量式训练3 神经网络 优点:能够处理复杂的非线性函数,并且能发现不同输入间的依赖关系;支持增量式训练 缺点:黑盒方法,无法确定推导过程;选择训练数据的比率与问题相适应的网络规模方面,没有明确的规则可以遵循,... 阅读全文
摘要:
1 什么是推荐系统? 推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。 推荐系统和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。 推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。2 推荐系统的方法 推荐系统的方法: 社会化推荐(socialrecommendation) 基于内容的推... 阅读全文
摘要:
Taste简介Taste是ApacheMahout提供的一个协同过滤算法的高效实现,它是一个基于Java实现的可扩展的,高效的推荐引擎。Taste既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste不仅仅只适用于Java应用程序,它可以作为内部服务器的一个组件以HTTP和WebService的形式向外界提供推荐的逻辑。Taste的设计使它能满足企业对推荐引擎在性能、灵活性和可扩展性等方面的要求。Taste的架构Taste由以下五个主要的组件组成:DataModel:DataModel是用户喜好信息的抽象接口,它的具体实 阅读全文
摘要:
UserCF和ItemCF都依赖于相似度的计算,因为只有通过衡量用户之间或物品之间的相似度,才能找到用户的“邻居”,才能完成推荐。上文简单的介绍了相似性的计算,但不完全,下面就对常用的相似度计算方法进行详细的介绍:1.基于皮尔森相关性的相似度——Pearsoncorrelation-basedsimilarity 皮尔森相关系数反应了两个变量之间的线性相关程度,它的取值在[-1,1]之间。当两个变量的线性关系增强时,相关系数趋于1或-1;当一个变量增大,另一个变量也增大时,表明它们之间是正相关的,相关系数大于0;如果一个变量增大,另一个变量却减小,表明它们之间是负相关的,相关系数小于0;如果. 阅读全文
摘要:
协同过滤——CollaborativeFiltering 协同过滤简单来说就是根据目标用户的行为特征,为他发现一个兴趣相投、拥有共同经验的群体,然后根据群体的喜好来为目标用户过滤可能感兴趣的内容。协同过滤推荐——CollaborativeFilteringRecommend 协同过滤推荐是基于一组喜好相同的用户进行推荐。它是基于这样的一种假设:为一用户找到他真正感兴趣的内容的最好方法是首先找到与此用户有相似喜好的其他用户,然后将他们所喜好的内容推荐给用户。这与现实生活中的“口碑传播(word-of-mouth)”颇为类似。 协同过滤推荐分为三类:·基于用户的推荐(User-based 阅读全文
摘要:
第一章布局和合成设计过程发现探索执行对好的设计做出定义用户会为设计感到愉悦,但是会被内容吸引用户可以通过直观的导航栏在网页上移动用户认识到每一页都是网站的一部分网页的分解内容块徽标导航内容页脚空白处网格理论黄金分割率:1.6180339…=1.62三分之一法则960网格系统平衡对称平衡水平平衡双边平衡辐射非对称平衡统一性接近性重复性强调布置连续性隔离对比比例“面包黄油”式布局左栏导航右栏导航三栏导航寻找灵感不匹配的样式,位于http://unmatchedstyle.comCSS驱动,位于http://cssdrive.com设计灾难,位于http://designmeltdown.com型式 阅读全文
摘要:
互联网产品—从设计到运营(一) 把握互联网产品时代的机会机遇:1一个优势互补的优秀团队 2富有激情、坚持不懈的互联网精神 3 瞄准商业模式传统网站衡量指标PULSE:PageView(页面访问次数)、Uptime(持续运行时间)、Latency(延迟)、SevenDaysActiveUser(7天活跃用户)、Earning(收入)Google用户体验师提出HEART框架:Happiness(愉悦感)、Engagement(参与度)、Adoption(接受度)、Retention(留存率)、TaskSuccess(任务完成率)。资源:www.masar.cn 玛撒网 多个微博、SNS同步更新工具 阅读全文
摘要:
Mahout之(一)数据承载推荐数据的处理是大规模的,在集群环境下一次要处理的数据可能是数GB,所以Mahout针对推荐数据进行了优化。Preference在Mahout中,用户的喜好被抽象为一个Preference,包含了userId,itemId和偏好值(user对item的偏好)。Preference是一个接口,它有一个通用的实现是GenericPreference。因为用户的喜好数据是大规模的,我们通常会选择把它放入集合或者数组。同时,由于Java的对象的内存消耗机制,在大数据量下使用Collection<Preference>和Preference[]是非常低效的。为什么 阅读全文