专栏名称: 虎嗅APP
有视角的商业资讯交流平台
目录
相关文章推荐
新浪科技  ·  【#男子山姆购榴莲千层发现疑虫卵异物# ... ·  5 天前  
新浪科技  ·  【#无创血糖手表靠谱吗# ... ·  1 周前  
新浪科技  ·  【#Steam季票规则更新##Steam要求 ... ·  1 周前  
51好读  ›  专栏  ›  虎嗅APP

防忽悠、别上当:这篇文章让你读懂“机器学习”,顺便告诉你科技公司真正在干什么

虎嗅APP  · 公众号  · 科技媒体  · 2017-04-21 20:42

正文


今年科技创投界的“爆款”是什么?当然是人工智能,人工智能是什么?一个普遍接受的描述是这么说的“人工智能是研究使计算机来模拟人的某些思维过程和智能行为 (如学习、推理、思考、规划等) 的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。”

从这个描述来看,严格来说,人类还没有实现真正的人工智能。更缜密的表述是,在目前全球范围的大众市场还没有真正意义上的可靠的人工智能技术应用案例。这也是为什么人们在谈论人工智能的大多数时候,都要提到机器学习。作为支撑人工智能的底层技术之一,机器学习实际上是许多自称从事人工智能研发和应用的创业公司真正在做的事情。

那么什么是机器学习呢?顾名思意,机器学习简单来说就是利用程序算法来处理数据并做出分析判断的过程。机器仍旧是机器,它并不能够像人类一样学习,最终机器给出的决策,其实还是一长串 if... then... 条件语句的判断结果。为了让更多人了解所谓的人工智能和机器学习是怎样工作的,本文借用 R2D3 的可视化案例,描述对一个简单问题的分析过程。相信您读过之后,轻松举一反三也可以看透各种“狗”如何下赢李世石、打赢德州扑克的原因。

首先定义我们的问题:基于一套房产的数据,让计算机判断它是在旧金山还是在纽约。也就是说,不给出这套房产的地理位置,让计算机通过分析其他的数据来判断。(牵强附会地说,这就好像是不告诉计算机每一招棋的走法,而是让它自己分析数据来判断该怎么走一样。)

计算机要做判断,首先需要人类工程师写代码输入计算机,旧金山和纽约都有哪些区别。在机器学习技术领域,这个工作步骤叫任务分类 (Classification Task)


旧金山和纽约的房子最大的不同之一,就是海拔高度。旧金山城区如过山车一般忽高忽低的道路,意味着有许多高海拔的房子。所以计算机首先把数据集合按海拔高度排序 (如图)。

接着,工程师会输入一个新的维度,让计算机进一步对规律做判断,比如我们加入“房价”,得到了下面的结果。


以每平方米 19116.7 美元的房价为分隔线,一个初步的预测是:如果满足海拔 73 米以下,售价 19116.7 美元/平方米以上的条件,很可能在纽约。(再牵强附会地说,这就好像计算机在和人类下棋时预测下一步走在哪里会有多少胜率一样。)

那么剩下的就是海拔 73 米以下,售价 19116.7 美元/平方米的区间了。计算机要怎么判断呢?还是要靠工程师加“维度”,新的“维度”,比如:建成年份、浴室面积、卧室面积…… 等等。目的就是找出“分界条件”,这也是机器学习技术原理的基础之一。

下面要做的就是用“决策树”来做判断了 (如图),我们把在海拔 74 米以上和以下的房子一分为二,判断的结果正确率只有约 63%,因为我们把 74 米以上的纽约房屋也算进旧金山的类别里了。

不过没关系,工程师利用统计学的原理,调整一下算法,可以找到一个最佳的“分界点”,把正确率提高。


当然,这还不够,所以工程师这时候要输入程序让计算机做递归 (recursion) 运算,不断在新的维度寻找“分界点” (如图)。


在低海拔区间,最佳分支是平方尺房价,在高海拔区间,最佳分支是总价。这都是计算机依照程序设计递归计算分析出来的——个人认为,这就是统计学。

每加入一个新维度做递归运算,计算机程序模型的准确率就提高一点,直到我们把所有维度都输入完,就得到了一个基本成型的决策树 (如图)。


有了这个决策树,计算机就可以做它最擅长的 if... then... 判断了。也就是说,机器学习并不是说“机器”真的在学习,它只是在执行工程师编写的代码而已。有没有“天算”我不知道,但是“机器学习”、“大数据”、“云计算”和所谓的“智慧城市”,归根结底其实都是“人算”——人写代码、机器算。


看到这里我们不难发现,整个过程的关键,其实是数据。只要有足够丰富的数据集合,让工程师可以不断增加新的维度,计算机的大规模运算能力可以不断提高“预测”的正确率,像本文给出的这个简单问题,甚至可以实现 100% 的正确率。

这也是为什么大多数互联网科技公司会免费提供服务的原因,因为所有的用户都在无偿劳动,为百度、阿里巴巴和腾讯们输送源源不断的个人数据——只要你使用他们的服务,无论是搜索还是购物,无论是支付还是消息应用,你都在为科技公司们“免费打工”。

而人工智能 (机器学习) 技术对于科技公司们的美妙之处就在于,当用户免费贡献的海量数据经由程序算法分析,“研发”出新的产品和服务并获得利润时,并不需要理会贡献了数据的“劳动力”,甚至可以反过来再卖给普通用户。


一个推荐