数据柔术(开头的翻译)

笔者按:昨天提到了Data Jujitsu,以下是开头部分的翻译。翻译是逼迫我认真思考里面的内容,有些地方未必准确,只是为了表达痛快。你要是跟着学,学坏了可别来找我麻烦。

在学术界、工业界以及政府的经历,给了我独一无二的机会,在不同领域开发产品。其中许多都是与数据相关的。产品建立的方法不断进步,背后的意念亦是如此。得益于数据科学领域的巨大投资,许多新的发明,例如Hadoop,Voldement,Cassandra,Hbase,Pig,Hive等等,使数据产品的开发变得容易。然而,数据产品依然是出了名地极难开发。尤其对于资金有限的小团队,更是望尘莫及。但与此同时,这些问题每天都有人能解决。怎么解决呢?是有些特别聪明的数据科学家,5分钟内就能想出别人一辈子都想不出的点子吗?还是应用数学的魔术师,可以在几个小时就编出几百万行的高效的机器学习程序吗?非也!尽管他们许多人都很聪明,但一上来就硬碰硬解决大问题,往往并非取胜之道。有些办法,可以避开寻找大而繁复的答案,取而代之地,寻找小巧而可迭代的方法。聪明的数据科学家,不只是解决大而难的问题。他们还有大事化小的能耐。

我们称这种能耐为“数据柔术”:它是一种艺术,灵活地使用多种数据工具,解决一些具有重复性的问题,滚到最后,解决一些看似遥不可及的大问题。这个名字源自维基百科对柔术的解释:借力打力的艺术。(笔者按:他妈的,应该叫“数据乾坤大挪移”)

怎么将这个思维用到数据科学中呢?数据本身的“力”是什么?我们又如何借这个力去打它自身?这是本文将探讨的问题。

作为讨论的开始,且让我定义数据产品:利用数据来解决实际问题的产品。大家很自然将数据产品想象成解决一个数据难题。毕竟,将一大堆技术专家和牛逼算法扔去解决一个难题,想想都过瘾。这是我们训练的目标,还是我们入行的初衷。但根据我的经验,一上来就跟问题硬碰硬,往往是灾难的前奏。数据产品的开发是充满挑战的。随着你不断战斗,问题常常变得越来越复杂,以致完全失控。

在投资你的时间精力之前,你得先回答一个问题:有没有人会想要这个成果?如果没有,所有的努力都将成为白费。所以,应该先搞个简单版,看看是否有人感兴趣。怎么做简单版呢?想个投机取巧的办法,让你的产品尽快落地。有时,这个投机取巧的办法会一直用到最终版本,因为它无意中踩中了某个重点。有时,它会被某个复杂的技术取代。做一个简单的版本,看看有没有意思。所求的不是完美,而是“有点好”,好到让你觉得应该继续下去。

以下是个简单的例子。假设你想收集用户的地址。你可能想,不就用个文字框么。但事实上,写一个程序将地址中的名字、门牌号、楼号、城市、邮编等等区分开来,是颇为复杂的。用户未必会乖乖地使用逗号和空格,也可能拼错城市和州的名字。要将问题大大简化可采取以下方法(这也是大多数网站在用的方法):名字、门牌号、楼号等不同的部分,用不同的框框。州名采取下拉式选择。如果有工具,从邮编直接生成城市和州,问题将变得更加简单。

以下是一个复杂一点的例子。LinkedIn的个人页面包含许多信息。可以用这里的信息,建立一个推荐系统,给用户推荐会议吗?答案是可以的。但在考虑怎么做以前,让我们往后走一步,问几个基本问题:

1.用户对这个推荐感冒吗?有无市场需求?如果无,就不应该做。

2. 我们需要多少时间回答上一个问题?

什么都不想直接就做的话,我们可以建立一个完整的推荐工程。它包括信息提取系统,信息检索系统,模型拟合部分,一个前端,内有精心设计的用户界面,等等。恐怕需要1000小时的工作量去做,然后才能知道用户是否需要。

另一种方法。我们可以建一个简单得多的系统。LinkedIn的个人页面中,有用户列出的书。

书都有ISBN号码,ISBN号码对应关键词。与此同时,各种活动也有关键词。我们可以粗粗地匹配这两头,得到推荐结果,建一个简单的用户界面,以广告的形式,投放给高强度用户(highly engaged user,不知怎么译)。结果固然不是最好的,但可以让我们知道用户是否喜欢。关键是,几天甚至几小时就可以做好这个版本。在这个阶段,产品远远不是最终版本,但你有了一个可以测试用户是否感冒的版本。如果他们真的感冒,你可以加大开发力度。你可以大大改善这个功能,例如用更加互动的用户界面,增加功能,实时化,提高推荐质量,还有使用个人页面的其他元素(技能、群组、最近发的tweets)。

重点在于,从简单版本开始,且保持简单越久越好。数据产品的意念总是从简单开始,然后不断复杂化。如果开始就复杂,后面就不可收拾了。但从简单开始不是容易的事情。一个庞大的问题,怎么去解决里面一小部分?慢慢地你会有自己的独门秘方。以下是一些供你起步的办法。

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: