关于推荐算法的讨论

于笔者而言,虽然也曾从事过技术研发相关的工作,但是对算法这类很“高深”和数学关系又比较紧密的技术来说,要 真正地了解起来确实是一个难度很大的动作。但是在笔者参加了一些和算法以及推荐系统相关的活动之后,发现这一高深的 学问已经被从事软件开发的朋友应用的非常广泛。特别是在电商火爆的今天,各种和推荐相关的网站风起云涌,算法进入平 常百姓家也就是水到渠成了。这也是为什么InfoQ在2013年,将算法和推荐系统作为一个和移动开发、云计算等相并列的重 点专题的原因之一。

作为一个编辑,要想为读者提供说得过去的内容,前提肯定是要对这一技术领域能有个七七八 八的理解。也基于这个原因,笔者和业界的一些专家做了相关的沟通,包括ResysChina论坛的发起人谷文栋(新浪微博 @clickstone),百度的前技术委员会主席廖若雪(新浪微博@Riso-)等。本文旨在将笔者从这些专家身上所学习到的内容 分享给大家,希望对想要算法有所了解的同学有所帮助。

算法和推荐引起关注的原因

在2012年年底,InfoQ 曾参与举办过一次以算法为主题的百度技术沙龙(新浪微博@百度技术沙龙),邀请了百度的研发工程师赵岷以及百分点COO 兼技术副总裁张韶峰参加,能容纳160人的场地来了差不多260人,反响非常强烈。而在ResysChina举办的推荐系统大会上, 更是火爆,来自Hulu(新浪微博@Hulu_Beijing)、Facebook、百度、淘宝、腾讯等公司的算法专家分享自己的经验,在微 博上也激起热烈的讨论。至于算法和推荐之所以受关注的几个原因,大体可以归纳为以下几点:

从行业趋势来看。信息大爆炸使得信息极大丰富,传统获取信息的手段已经不能很好地解决这种环境下的信息获取需求 ,推荐和个性化技术,作为解决信息爆炸问题的一个方法,取得了不错的效果。在业内的各个公司的应用也越来越多,这反 过来也促进了大家对推荐的热情

从技术本身来看。推荐涉及到的技术深度、复杂度往往也是计算机科学最前沿的。例如:推荐系统要处理的数据规模往 往高达PB(Petabeta,1PB=1024TB),而实时性要求则要求到秒级别,这对于架构和算法都是非常高的挑战。

推荐是系统和人的互动,推荐首先需要更好地理解人,理解用户。就百度前技术委员会主席廖若雪看来,这是一个互联 网更加智能化的发展方向,系统的智慧会越来越高级,这本身是非常有吸引力的方向。

算法并不深奥,案例为证

如笔者在本文开始时所谈到的,考虑到算法和数学等结合很紧密,而且在日常的生活中 应用的也较少,其实很多人对算法还是多少有些恐惧。但算法真的有那么深奥吗?广义来说,算法是人们归纳总结出来的解 决一类问题的方法。一般而言,我们所说的计算机算法,为了描述的精确严密,通常会采用数学的形式语言去描述问题和给 出对应的解决方案。抽样的形式语言对大众而言是不容易理解的。但算法本身只是一个解决问题的途径,实际的应用中我们 会使用很多的算法,有的简单有的复杂。

为了让普通技术人员对算法有更好的了解,廖若雪列举了一个电商网站经 常有的一个功能——“热销榜”。其实“热销榜”就是一个简单有效的算法引用,利用销售量直接进行排序。同时,在这个 基础上也可以进行进一步的深入分析,针对实际问题,做出更有针对性的策略升级。但直接按照销售量排序,有时我们会遇 到大量热门商品长期占据榜单,存在“过期”的情况。比如,适合冬季销售的产品大量卖出,到夏季时已经无人再购买,但 由于历史数据,使得这个商品仍然占据着榜单的位置,显得不合时宜。这时我们就要有针对性地改进算法,加入“时间”维 度的信息。

我们既可以简单地按照离散的一刀切的方式,如只计算1个月以内的销售量;也可以做一个连续化的函数 ,使得历史的销售量会随着时间进行衰减,如使用“牛顿冷却定理”(注:温度高于周围环境的物体向周围媒质传递热量逐 渐冷却时所遵循的规律。当物体表面与周围存在温度差时,单位时间从单位面积散失的热量与温度差成正比,比例系数称为 热传递系数)。在算法的指定和改进中,我们既可以针对实际问题,使用独特的有针对性的方案;同时也可对问题进行抽象 ,将实际问题转变为一个已知问题的变种,利用已有的知识和成熟的算法,来解决新问题。

其实很多算法,其基本 原理都是来源于我们的常识,例如:你想购买一部手机,但是满足你基本要求的手机是在太多了,你开始纠结。于是你关注 周围的同事和朋友们都在使用哪款手机,并咨询他们对这款手机的评价,从而来帮助自己做决策,因为你觉得他们在对手机 的使用习惯和需求,比其他人(比方说你的长辈或者晚辈们)的更相似,所以他们的评价更有参考价值。这就是大名鼎鼎的 协同过滤算法,是推荐领域里最为经典的算法。它的核心思想就是:根据与你最相似的一些用户对某个事物的喜好程度的投 票,来预估你对这个事物的喜好程度。

时间: 2024-10-04 08:58:57

关于推荐算法的讨论的相关文章

【双11背后的技术】基于深度强化学习与自适应在线学习的搜索和推荐算法研究

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:灵培.霹雳.哲予 1. 搜索算法研究与实践 1.1 背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,而淘宝的用户不仅数量巨大,其行为特点以及对商品的偏好也具有丰富性和多样性.因此,要让搜索引擎对不同特点的用户作出针对性的排序,并以此带动搜索引导的成交提升,是一个极具挑战性的问题.传统的Learning to Rank(LTR)方法主要是

如何破解YouTube视频推荐算法?

如何破解YouTube视频推荐算法?     如果你是某个发行渠道(比如电影.戏剧.电视节目.网络视频)的内容工作者,那么内容的成败就取决于发行机制的运转逻辑.比如说,你制作了一档电视节目,你很想它能火起来,那么你就得知道该在哪里切入广告,怎么宣传节目,上哪个频道播放,所选的频道能被多少家庭收看,等等,诸如此类. 如果你的发行渠道是YouTube,那么你最应该搞清楚的是YouTube的算法是怎么工作的(同理可推国内).然而,全天下所有由算法来运营的平台,要搞清楚这一点那不是一般的困难. YouT

如何破解YouTube视频推荐算法

如果你是某个发行渠道(比如电影.戏剧.电视节目.网络视频)的内容工作者,那么内容的成败就取决于发行机制的运转逻辑.比如说,你制作了一档电视节目,你很想它能火起来,那么你就得知道该在哪里切入广告,怎么宣传节目,上哪个频道播放,所选的频道能被多少家庭收看,等等,诸如此类. 如果你的发行渠道是YouTube,那么你最应该搞清楚的是YouTube的算法是怎么工作的.然而,全天下所有由算法来运营的平台,要搞清楚这一点那不是一般的困难. YouTube没有把他们算法用到的变量公之于众.要搞清楚其算法的运转原

用Spark学习矩阵分解推荐算法

在矩阵分解在协同过滤推荐算法中的应用中,我们对矩阵分解在推荐算法中的应用原理做了总结,这里我们就从实践的角度来用Spark学习矩阵分解推荐算法. 1. Spark推荐算法概述 在Spark MLlib中,推荐算法这块只实现了基于矩阵分解的协同过滤推荐算法.而基于的算法是FunkSVD算法,即将m个用户和n个物品对应的评分矩阵M分解为两个低维的矩阵: 其中k为分解成低维的维数,一般远比m和n小.如果大家对FunkSVD算法不熟悉,可以复习对应的原理篇. 2. Spark推荐算法类库介绍 在Spar

达观推荐算法实现:协同过滤之item embedding

推荐系统本质是在用户需求不明确的情况下,解决信息过载的问题,联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢(这里的信息的含义可以非常广泛,比如咨询.电影和商品等,下文中统称为item).达观数据相关推荐是达观推荐系统中的重要组成部分,其价值在于,在没有用户画像信息的情况下,也能给用户以好的推荐体验,比如资讯类,通过达观相关推荐算法找到item相关的其他item,可以提供对某一类或者针对某一事件多角度多侧面的

游戏运营杂谈之-----&gt;IB推荐算法

最近比较累,也比较忙,有些东西没来得及写给各位,这里抱歉了,无论是否对错,都只是鄙人一家之言,还请见谅,有错欢迎指出,并加以改之. 什么是IB推荐算法,说白了就是当玩家在游戏商城浏览或者购买时,基于玩家的浏览和购买行为,进行个性化的IB推荐,达到扩增IB销量,增加收入的目的,其实这是一种虚拟营销,是玩家关系管理系统下的一个应用,之前有人说这个虚拟营销就是废话连篇,今天结合具体的应用来说说这个虚拟营销. 这里的虚拟营销是说得在游戏内针对玩家的营销,营销无论是在人还是环境,都很重要,营销的对象是玩家

网站拉拢用户的核心机密:推荐算法

文章描述:互联网无处不在的"推荐算法". 数据显示,三分之一的用户会根据电子商务网站的推荐买东西,这是任何广告都不可能做到的成绩.媒体上播放的大众化广告对消费者的影响已经越来越低,于是有人做出预见--个性化推荐技术将成为广告的终极形式.     很多年前,看过一部电影叫作<谁知女人心>,好莱坞大牌梅尔·吉布森饰演的男主角是一个典型的大男子主义者.一次浴室触电的意外突然让这个大男人获得了神奇的本领--"读心术",可以轻而易举地洞悉身边女人们的心事,听到她们

大数据-新闻推荐系统中的推荐算法

问题描述 新闻推荐系统中的推荐算法 如何有一个算法是从大数据的新闻列表中通过内容找到自己想要的新闻呢?基于Hadoop的可以.求大神们给一些思路.不要关系型数据库的. 解决方案 [推荐系统算法]推荐引擎算法学习导论 解决方案二: google 协同过滤算法google 新闻推荐 解决方案三: 协同过滤算法http://www.cnblogs.com/zhangchaoyang/articles/2664366.html 解决方案四: 一般做新闻推荐有三种推荐策略:第一是热门推荐,可以设置一个时间

基于用户的协同过滤推荐算法原理和实现

      在推荐系统众多方法中,基于用户的协同过滤推荐算法是最早诞生的,原理也较为简单.该算法1992年提出并用于邮件过滤系统,两年后1994年被 GroupLens 用于新闻过滤.一直到2000年,该算法都是推荐系统领域最著名的算法.       本文简单介绍基于用户的协同过滤算法思想以及原理,最后基于该算法实现园友的推荐,即根据你关注的人,为你推荐博客园中其他你有可能感兴趣的人. 基本思想       俗话说"物以类聚.人以群分",拿看电影这个例子来说,如果你喜欢<蝙蝠侠&