相关栏目: 机器人 可穿戴设备 智能家居 其他热点 相关资料 组图 今日导读 本周焦点 FLASH
当前位置: 首页 -> 相关资料 -> 正文

电脑是如何猜出你心里所想的?

来源:vapsec 作者:ifdandy 日期:2014-11-30 05:41:50 浏览:35

在我们的社会行为过程中,会产生各种各样的偏好和趋向,如果有心人便会总结出一套规则,即便不能适用于所有人,但都是可以作为一种可靠的参考而存在,如果不断加以修正,就会能满足一大部分人群。为了能更好地知道用户心里所想,心理活动,由此产生了多种行业和学科,随着科学进步以及研究的深入,这一理论和学科在计算机系统中也取得了良好的实践,我们这里所讲的就是推荐系统。            

                                  u=2924550438,2462355412&fm=23&gp=0.jpg

俗话说“人以群分,物以类聚”单个个体的话很难去了解一个群体,但是从一个群体,却可以轻易了解一个个体,推荐系统则根据这一原则进行工作。推荐系统的设计初衷是帮助在线零售商提高销售额,现在这是一块儿规模巨大且不断增长的业务。所有这些推荐结果都来自于各式各样的推荐系统。它们依靠计算机算法运行,根据顾客的浏览、搜索、下单和喜好,为顾客选择他们可能会喜欢、有可能会购买的商品,从而为消费者服务。

这些年来,推荐系统有了相当的进展。开始时它们还相对较为粗糙,往往对行为做出不准确的预测;但随着更多的和不同类型的网站用户数据变得可用,推荐系统得 以将创新算法应用于这些数据之上,它们迅速得到了改善。今天,推荐系统都是些极其复杂和精专的系统,常常看起来比你自己还要了解你。同时,推荐系统正在向 零售网站以外的领域拓展:大学用它们来引导学生选课,移动电话公司靠它们来预测哪些用户有可能转投另一家供应商,会议主办方也测试过用它们来分配论文给审稿专家。与此同时,推荐系统的开发也已经从上世纪 90 年代中期只有几十个人研究,发展到了今天拥有数百名研究人员,分别供职于各高校、大型在线零售商和数十家专注于这类系统的其他企业。

“你”是如何存在于计算机系统的?

在计算机系统中,任何数据和信息都是以数字形式存在,即二进制数字0和1表示。你有没有想过自己在亚马逊眼中是什么样子?答案是:你是一个很大、很大的表格里一串很长的数字。这串数字描述了你所看过的每一样东西,你点击的每一个链接 以及你在亚马逊网站上买的每一件商品;表格里的其余部分则代表了其他数百万到亚马逊购物的人。你每次登陆网站,你的数字就会发生改变;在此期间,你在网站 上每动一下,这个数字就会跟着改变。这个信息又会反过来影响你在访问的每个页面上会看到什么,还有你会从亚马逊公司收到什么邮件和优惠信息。

许多年来,推荐系统的开发者试过用各种各样的方法来采集和解析所有这些数据。最近这段时间,多数人都选择使用被称为个性化协同推荐 (Personalized Collaborative Recommender)的算法。这也是亚马逊、Netflix、Facebook 的好友推荐,以及一家英国流行音乐网站 Last.fm 的核心算法。说它 “个性化”,是因为这种算法会追踪用户的每一个行为(如浏览过的页面、订单记录和商品评分),以此进行推荐;它们可不是瞎猫碰上死耗子——全凭运气。说它 “协同”,则是因为这种算法会根据许多其他的顾客也购买了这些商品或者对其显示出好感,而将两样物品视为彼此关联,它不是通过分析商品特征或者关键词来进行判断的。

对物品、事物打标签

这一操作对于经常逛豆瓣的朋友可能很熟悉,或者在微博、QQ中也有所接触,系统会提供一些短的关键词或者一些属性让你标注物品或者你自己,如对书籍添加标签“推荐系统”,对自己打标签“金牛座”,“推荐系统”。这时候计算机已经初步知道你以及物品的属性了,以备在需要时候关联到你。

匹配人与人的相似度

GroupLens 和 Ringo 都使用了一种简单的协同算法,被称为 “用户关联”(user-user)的算法。这种类型的算法会计算一对用户之间的 “距离”,根据的是他们对同一物品打分的相似程度。举例来说,如果吉姆和简都给《电子世界争霸战》(Tron)这部电影打了 5 分,那么他们之间的距离就是 0。如果吉姆给它的续集《创:战纪》(Tron: Legacy )这部电影打了 5 分,而简只打了 3 分,那么他们之间的距离就变大了。按照这样的计算得出来品味相对 “靠近” 的用户,我们把他们称之为共有一个 “邻集”(neighborhood)。

但是,这种用户关联的策略效果并不是很好。首先,形成有意义的邻集很难:很多用户两两之间只有很少几个共同评分,有的就完全没有;而仅有的那几个都 打了分的项目呢,往往是票房大片,基本上人人都喜欢的那种。再来,由于用户之间的距离可以变得很快,算法必须当场就进行大部分的计算;而这可能会比一个在 网站上这儿点点那儿戳戳的人下一个动作发出之前需要更久的时间。

匹配物品之间的相似度

因此,大部分的推荐系统如今都依靠一种“物-物关联”(item-item)的算法,这种算法计算的是两本书、两部电影或者两个其他什么东西之间的距离, 依据的是给它们打过分的用户的相似度。喜欢 Tom Clancy 书的人很可能会给 Clive Cussler 的作品打高分,因此 Clancy 和 Cussler 的书就共处一个邻集。一对物品之间的距离可能是根据成百上千万的用户的评分计算得出,在一段时间里往往保持相对稳定,因此推荐系统可以预先计算距离,并更 快的生成推荐结果。亚马逊和 Netflix 都曾公开表示过他们使用的是物-物关联算法的变种,但对细节都绝口不提。

降维算法,把事物抽象成一般特征

不过,用户关联算法和物-物关联算法还存在一个比一致性更大的问题:它们太死了。就是说,它们能发现都喜欢同一样东西的人,但却忽略了爱好非常相似的潜在 用户组合。比如说你喜欢莫奈的睡莲。那么,在这个法国印象派大师画的 250 幅睡莲中,你最喜欢哪一幅?在一群喜欢莫奈的人当中,完全可能每个人喜欢的睡莲都不相同,而基本的算法就有可能识别不出这些人都有着共同的爱好。

大约十年前,研究者们想出了一个办法,通过一个叫降维(Dimensionality Reduction)的过程,把事物更一般化的表现出来。这种方法在计算量上比用户关联和物-物关联算法要密集得多,因此也就没有那么快的得到采用。但随 着计算机变更快更便宜,降维算法也逐步取得了一些进展。

为了弄清降维算法是怎么工作的,我们来看看你爱吃的东西,以及如何把它跟其他一百万人爱吃的东西做比较。你可以把这些信息用一个巨型矩阵表示出来, 每一条竖线代表一样食物,每个人爱吃什么东西就自然形成了一行。在你的这一行上面或许会显示你给了烤牛排 5 颗星、红烧小排 4 星半、烤鸡翅 2 颗星、冻豆腐卷 1 颗星、奶酪烤蘑菇 5 颗星、盐水毛豆 4 颗星,等等。

然而,使用这个矩阵的推荐算法并不关心你给哪种食物评了多少颗星。它想要了解的是你一般而言的喜好,这样它可以将这个信息应用到更丰富多样的食物上。比如 说,基于你上面给出的信息,算法可能会认为你喜欢牛肉、咸的东西和烤制菜品,不喜欢鸡肉和任何油炸的东西,不喜欢也不讨厌蔬菜,依此类推。你爱吃的食物所 拥有的特点或者说维度,它的数量和符合你要求的食物的数量比起来要小得多——至多可能 50 或 100。通过查对这些维度,推荐算法可以迅速决定你是否会喜欢一种新的食物(比方说盐焗排骨),方法就是把这种食物的各项维度(咸的、牛肉做的、不是鸡 肉、不是炒的、不是蔬菜、不是烤的)同你的资料进行比对。这种更为一般性的呈现使得推荐算法能准确的发现有着相似但不同喜好的用户。而且,它大幅压缩了矩 阵的规模,使算法变得更加高效。

至此,大部分工作已经完成了,系统已经可以满足大部分用户的需求。

10
上一篇:高性能液压驱动四足机器人SCalf的.. 下一篇:基于智能相机构建产业机器视觉应用
友荐云推荐
网友评论

本栏目最新内容

本栏目热门内容