每个算法都会有输入和输出:数据输入计算机,算法会利用数据完成接下来的事,然后结果就出来了。机器学习则颠倒了这个顺序:输入数据和想要的结果,输出的则是算法,即把数据转换成结果的算法。学习算法能够制作其他算法。通过机器学习,计算机就会自己编写程序,就用不到我们了。
哇!计算机会自己编写程序。现在看来这是一个强大的想法,甚至可能有点吓人。如果计算机开始自己编程,那么我们将如何控制它们?我们会看到,人类可以很好地控制它们。可能会有人当即反对,这听起来太美好了,不像真的。当然,编写算法需要智力、创造力、问题
解决能力,这些都是计算机没有的。如何把机器学习与魔法区分开来?的确,今天为止,人们能编写许多计算机无法学习的程序。可令人更为惊讶的是,计算机却能学习人们无法编写出来的程序。我们会开车、会辨认字迹,但这些技能都是潜意识发挥出来的,无法向计算机解释这些事情是如何完成的。但是,如果我们把关于这些事情的足够多的例子交给学习算法,该算法会很乐意弄明白怎样独立完成这些事情,这时我们就可以放手让算法去做了。邮局正是通过这种方法来识别邮政编码,自动驾驶汽车也是这样才得以实现在路上跑。
解释机器学习的力量的最好方法,也许就是将其与其他低技术含量的活动进行类比。工业社会,商品由工厂制造,这也意味着工程师必须弄明白商品如何通过零件组装起来、这些零件如何生产等,细到生产原料。这是一项大工程。计算机是人类发明的最复杂的产品,计算机设计、工厂生产、程序运行都涉及大量的工作。还有另外一种方法能让我们得到一些想要的东西:让自然规律去塑造它们。在农业当中,我们播种,确保种子有足够的水分和营养,然后收割成熟的作物。
为什么技术不能这样?完全可以,而这也是机器学习的承诺。学习算法是种子,数据是土壤,被掌握的程序是成熟的作物。机器学习专家就像农民,播下种子,灌溉,施肥,留意作物的生长状况,事事亲力亲为,而不是退居一旁。
一旦我们这样看待机器学习,随即也会发生两件事:第一,我们掌握的数据越多,我们能学的也越多。没有数据?什么也学不到。大数据?很多东西可以学习。这也是机器学习无处不在的原因,因为有飞速增长的数据。如果你在超市购买机器学习,其包
装上可能会写着“只需添加数据”。
第二,机器学习是一把剑,利用这把剑可以杀死复杂性怪兽。只要有足够的数据,一段只有几百行代码的程序可以轻易生成拥有上百万行代码的程序,而且它可以为解决不同问题不停产生不同的程序。
这可以显著降低程序员工作的复杂度。当然,就像对付九头蛇,我们砍掉它的头,会立即长出新头,但长出的头会变小,而且头的生长也需要时间,因此我们仍有可能胜出。
我们可以把机器学习当作逆运算,正如开平方是平方的逆运算、整合是分化的逆运算。正如我们会问“什么数的平方是16”,或者“导数为x+1的函数是什么”,我们也会问“什么算法会得出该结果”。我们很快会看到,怎样将这个观点运用到具体的学习算法中。
有些学习算法学习知识,有的则学习技能。“所有人都会死”是知识,骑单车是技能。在机器学习中,知识往往以统计模型的形式出现,因为多数知识都是可以统计的:所有人都会死,但只有4%是美国人。技能往往以程序的形式出现:如果马路向左弯曲,那么向左转动车头;如果一只鹿跳到你面前,那么立刻刹车(很遗憾,在写这本书时,谷歌的自动驾驶汽车仍会把被风吹起的塑料袋和鹿弄混)。通常,这些程序都很简单,复杂的是它们的核心知识。如果你能判断哪些邮件是垃圾邮件,那么你也就能判断该删除哪些邮件。如果你能在象棋游戏中判断这盘棋自己的优势在哪里,那么你也就懂得该怎么走(能让你处于最有利地位的一步)。
机器学习有许多不同的形式,也会涉及许多不同的名字:模式识
别、统计建模、数据挖掘、知识发现、预测分析、数据科学、适应系统、自组织系统等。这些概念供不同群体使用,拥有不同的联系。有些有很长的半衰期,有些则较短。在本书中,我用“机器学习”一词泛指所有这些概念。
机器学习有时会和人工智能(AI)混淆。严格来讲,机器学习是人工智能的子域,但机器学习发展得如此壮大且成功,现已超越以前它引以为傲的母领域。人工智能的目标是教会计算机完成现在人类做得更好的事,而机器学习可以说就是其中最重要的事:没有学习,计算机就永远无法跟上人类的步伐;有了学习,一切都与时俱进。
在信息处理这个生态系统中,学习算法是顶级掠食者。数据库、网络爬虫、索引器等相当于食草动物,耐心地对无限领域中的数据进行蚕食。统计算法、线上分析处理等则相当于食肉动物。食草动物有必要存在,因为没有它们,其他动物无法存活,但顶级掠食者有更为刺激的生活。数据爬虫就像一头牛,网页相当于它的草原,每个网页就是一根草。当网络爬虫进行破坏行动时,网站的副本就会保存在其硬盘当中。索引器接着做一个页面的列表,每个词都会出现在页面当中,这很像一本书后的索引。数据库就像大象,又大又重,永远不会被忽略。在这些动物当中,耐心的野兽飞快运转统计和分析算法,压缩并进行选择,将数据变为信息。学习算法将这些信息吞下、消化,然后将其变成知识。
机器学习专家在计算机科学家中就是一种精英式的“神职”。许多计算机科学家,尤其是更老的那一代,并不如他们想的那样能很好地理解机器学习。这是因为,计算机科学通常需要的是准确思维,但
机器学习需要的是统计思维。例如,如果有条规定是“垃圾邮件标记的正确率是99%”,这并不意味存在缺陷,而可能意味这是你的最好水平,已经很好用了。这种思维上的差别很大程度上也解释了为什么微软能赶上网景公司,但想赶上谷歌却困难得多。说到底,浏览器只是一个标准的软件,而搜索引擎则需要不同的思维模式。
之所以说机器学习研究者是超级计算机迷的另外一个原因,就是当今世界急需他们,但他们寥寥无几。按照计算机科学严格的标准,这样的人数量就更少了。蒂姆·奥莱利认为,“数据科学家”是硅谷最热门的职业。根据麦肯锡全球研究院估计,截至2018年,仅美国就需要再培养14万~19万机器学习专家才够用,另外还需要150万有数据头脑的经理。机器学习的应用爆发得如此突然,连教育都无法跟上其步伐,同时,人才奇缺也是因为这门学科在人们看来很难而令人望而生畏。教科书很可能会让你感到数学很难,然而,这个困难表面看起来很大,其实并不是。机器学习所有的重要观点可以不用通过数学表示出来。当你读这本书时,甚至可能会发现,你发明了自己的学习算法,而且看不到一个方程式的影子。
工业革命使手工业自动化,信息革命解放了脑力劳动,而机器学习则使自动化本身自动化。没有机器学习,程序员会成为阻挠进步的障碍。有了机器学习,进步的步伐就会加快。如果你是一个懒惰又不那么聪明的计算机科学家,机器学习就是理想的职业,因为学习算法会完成所有事情,功劳却是你的。从另一方面讲,学习算法会让我们失业,这也只是我们应受的惩罚。
将自动化带入新的高度,机器学习革命会带来广泛的经济及社会
变革,正如互联网、个人计算机、汽车以及蒸汽机在当时对社会和经济的影响那样。这些变革已经明显存在的领域就是商业。
为何商业拥护机器学习
为什么谷歌比雅虎要有价值得多?它们都是用户登录最多的网站,都靠在网页上登广告赚钱。它们都用拍卖的方式销售广告,用机器学习来预测用户点击某广告的概率(概率越大,广告价值越大),但谷歌的机器学习就比雅虎要好很多。这不是它们市场价值差异巨大的唯一原因,却是主要原因。如果没有达到预测的点击量,对广告商来说就是浪费机会,对网站来说是收益损失。谷歌每年的收入是500亿美元,预测点击率每上升1%,就可能意味着每年为公司带来额外5亿美元的收入。难怪谷歌是机器学习的铁杆粉丝,雅虎和其他公司也在奋起直追。
网络营销仅仅是巨大变革中的一种表现形式。无论什么市场,生产商和用户在交易发生之前,都需要进行联系。在互联网出现之前,交易的主要障碍就是实地交易。你只能从当地的书店购买书籍,而当地书店的书架空间又有限。但当你可以随时把所有书下载到电子阅读器时,问题就变成了可供选择的书太多。你怎么浏览书店里上百万不同名字的书?同样的问题也出现在其他信息产品当中:视频、音乐、新闻、推特文章、博客、网页。这个问题还会出现在能够远程购买的产品和服务当中:鞋子、鲜花、小配件、酒店房间、辅导、投资。人们在找工作或挑日子时,也会遇到选择过多的问题。你们如何找到彼此?这是信息时代的定义问题,而机器学习就是问题解决方案的主要部分。
当公司不断发展壮大后,它会经历三个阶段:第一阶段的所有事都由人工完成——夫妻店的店主亲自了解其顾客,他们依照顾客类型订购、展示、推荐产品。这很不错,但规模不大。
第二阶段是最辛苦的时期,公司变得越来越大,需要用到计算机。
公司招来程序员、顾问,买来数据库管理器,程序员编写了成百万行的代码来使公司所有能自动化的功能自动化。更多的人享受到服务,但也有麻烦:决定是在粗略的人口统计类别的基础上做出来的,计算机程序也过于死板,无法与人类无限的才能相匹配。
经过一段时间进入第三阶段,没有足够的程序员和顾问满足公司的需要,因此公司不可避免地向机器学习寻求帮助。亚马逊无法通过计算机程序将所有用户的喜好熟练地进行编码,脸书也不知道如何编写这样的程序,能选择最好的更新内容展示给每位用户。沃尔玛每天销售百万件商品,还要做数十亿个选择。如果沃尔玛的程序员努力编写出能够做所有选择的程序,这些选择就不用人来做了。相反,这些公司所做的工作是,它们在收集到如山的数据后,让学习算法尽情学习,然后预测顾客想要什么产品。
学习算法就是“媒人”:它们让生产商和顾客找到对方,克服信息过载。如果这些算法足够智能,你就能取得两全其美的结果:从宏观来讲,选择广、成本低;从微观来讲,能够了解顾客的个性化需求。
学习算法并不是完美的,决定的最后一步通常还得由人来做,但学习算法很智能,为人们减少了需要做的选择。
回顾过去,我们看到,从计算机到互联网再到机器学习的进步是必然的:计算机使互联网成为可能,这个过程产生大量数据以及无限选择这个问题。单单互联网还不足以把“一个尺寸满足所有”的需求转向追求无限多样化的长尾效应。网飞公司的库存里可能有10万种不同名字的DVD(数字多功能光盘),但如果顾客不懂得如何找到自己喜欢的,他们就会默认选择最流行的DVD。只有网飞公司有了学习算法之后,才能帮助它了解顾客的喜好,并推荐DVD,长尾效应也才得以真正实现。
一旦必然的事情发生,机器学习成为媒介,那么其力量也开始慢慢积聚。谷歌的算法很大程度上决定你会找到什么信息,亚马逊决定你会买到什么产品,全球最大的婚恋网站默契网(Match.com)决定你的约会对象是谁。最好的选择权仍在你手里——从算法给你展示的所有选项中挑选,但99.9%的选择由算法做出。当下,一家公司的成败取决于学习算法对其产品的喜爱程度,而整个经济体的成功——是否每个人都能得到自己需要的物美价廉的产品,则取决于学习算法的好用程度。
公司确保学习算法喜爱其产品的最佳方法就是,让公司自己运行算法。谁有最佳算法、数据最多,谁就能赢。新型网络效应占据上风:谁有最多的用户,谁就能积累最多的数据,谁有最多的数据,谁就能学到最好的模型,谁学到最好的模型,谁就能吸引最多的用户,这是一种良性循环(如果你在竞争,就会变成恶性循环)。把搜索引擎从谷歌转换到必应,可能会比把应用系统从Windows切换到Mac要简单,
但在实际操作中,你不会这么做,因为谷歌拥有领先优势及更大的市场份额,比必应更懂得你想要什么,虽然必应的技术也不错。可惜的是,必应刚进入搜索行业,没有什么数据资源,而谷歌却拥有十余年的机器学习经验。
你可能会认为,过一段时间,更多的数据结果意味着更多的重复,但数据的饱和点还未出现,长尾效应持续起作用。如果你看亚马逊或网飞公司为你提供的推荐产品,很明显,这些推荐项仍很粗略,而谷歌的搜索结果也有很大的优化空间。每个产品的特性、网页的每个角落都有很大的潜力,能通过机器学习得到改善。网页底部的链接应该是红色的还是蓝色的?两个颜色都试试,看看哪个颜色的点击率会更高。还有,最好让机器学习持续运行,不断调整网页的所有方面。
所有拥有众多选择和大量数据的市场都会发生这样的动态循环。
比赛正在进行,谁学得最快,谁就赢了。随着越来越好地了解用户需求,这个比赛不会停止:企业可以将机器学习应用到企业运作的每个方面,只要有足够的数据,只要数据能够从计算机、通信设备以及更廉价、更普适的传感器源源不断地输出。“数据是新型石油”是目前的流行说法,既然是石油,提炼石油就是一笔大生意。和其他公司一样,IBM已制定经济增长战略,为企业提供分析服务。业界将数据看作战略资产:我有什么数据,而竞争对手却没有?我要怎么利用这些数据?竞争对手有什么数据,而我却没有?同样的道理,没有数据库的银行无法和有数据库的银行竞争,没有机器学习的企业也无法跟上使用机器学习的企业。虽然第一家公司的专家写了上千条规则,预测用户的喜好,但是第二家公司的算法却
能学习数十亿条规则,一整套规则都可用于每位用户。这就相当于长矛对机关枪。机器学习是很棒的新技术,但这并不是商业界拥护它的原因——人们之所以拥护它,是因为别无选择。
给科学方法增压
机器学习是“打了类固醇”的科学方法,也遵循同样的过程:产生假设、验证、放弃或完善。科学家可能会花费毕生精力来提出或验证几百个假设,而机器学习系统却能在一秒钟内做完这些事。机器学习使科学的发现过程自动化。因此,并不奇怪,这既是商业领域的革命,也是科学领域的革命。
为了取得进步,科学的每个领域都需要足够的数据,以与其研究现象的复杂性相对应。这是物理成为第一个腾飞学科的原因:第谷·布拉赫对星球位置的记录,以及伽利略对钟摆摆动、斜面的观察,已经足以推导出牛顿定律。这也是为什么虽然分子生物学这个学科比神经科学年轻,但是已超越神经科学:DNA(脱氧核糖核酸)微阵列以及高通量测序技术提供了大量的数据,而神经科学家对此只能可望而不可即。这也是为什么社会科学研究是一场艰苦卓绝的斗争:你拥有的只是100人的样本和每个人的十几个测量值,你能模拟的也只是某个规模很有限的现象,甚至这个现象可能不是孤立存在的,还受到其他现象的影响,这就意味你仍然没有彻底了解它。
有个好消息,那就是之前缺乏数据的学科现在拥有很多数据。用不着让50名睡眼惺忪的本科生到实验室完成任务并付给他们报酬,[3]心理学家通过在亚马逊“土耳其机器人”上发布实验任务,就可以
找到满足他们数量要求的实验对象(这个网站对更多样化的样本也有帮助)。虽然回想起来越来越困难,但也只是10年前,研究社交网络的社会学家哀叹说,他们无法得到成员超过几百人的社交网络。现在有了脸书,有超过10亿用户。大部分用户会发布有关他们生活的很多细节,就像地球社会生活的实时直播。在神经科学领域,神经连接组学和功能性磁共振成像让人们对大脑有了十分详细的了解。在分子生物学领域,基因和蛋白质的数据库数量以指数级速度增长。甚至更为“年长”的学科,如物理学和解剖学也在不断进步,因为粒子加速器和数字巡天领域的数据在源源不断输出。
如果你不将大数据变成知识,它将毫无用处,可是世界上没有那么多科学家来完成这件事。埃德温·哈勃通过钻研照相底片发现新的星系,但史隆数字巡天计划中,多达5亿的天体肯定不是这样被辨认出来的。这就像在沙滩上用手来数沙粒的数目。你可以记录规则,把星系从星星及干扰物(如鸟、飞机、超人)区分开来,但得出的星系并不是那么准确。相比之下,天体图像目录编辑和分析工具(SKICAT)项目使用了学习算法。底片包括标记了正确类别的天体,从这些底片出发,学习算法可以明白每个分类的特点,并将其应用到没有标记的底片当中。甚至更理想的是,学习算法能够将那些对人类来说难以标记的天体进行分类,这些天体正是该项调查计划的主要内容。
有了大数据和机器学习,你就能弄明白比之前复杂很多的现象。
在多数领域,科学家一般只使用种类很有限的模型,例如线性回归模型,在这个模型当中,你用来适应数据的曲线总是一条直线。遗憾的
是,世界上的大多数现象都是非线性的(或者说这也是一件幸事,如果是线性的,生活会变得非常乏味。实际上,那样就不会存在生命了)。机器学习打开了广阔、全新的非线性模型世界。这就好比在只有几缕月光照射的房间,打开了明亮的灯。
在生物学领域,学习算法的研究成果包括:DNA分子中基因的位置;在蛋白质合成前,多余的核糖核酸在哪里进行绞接;蛋白质如何折叠成各自的特有形状;不同条件如何对基因的表达造成影响。用不着在实验室对新药进行测试,机器学习就可以预测这些药物是否有效,只有最有效的药品才会受到测试。学习算法还会剔除那些可能产生严重副作用(甚至导致癌症)的药物,备选药物无须在经过人体试验被证明无效后才被禁止使用,从而避免了代价昂贵的失败。
然而,最大的挑战就是将所有这些数据组合成一个整体。导致你患心脏病的因素有哪些?这些因素如何相互影响?牛顿需要的只是三个运动定律和一个万有引力定律,但一个细胞、一个有机体、一个社会的完整模型却无法由一个人来发现。虽然随着知识的增长,科学家的分工变得越来越细,但是没有人能够将所有知识整合到一起,因为知识太多了。虽然科学家们会合作,但语言是传播速度非常缓慢的介质。虽然科学家们想努力追上别人的研究,但出版物的数量如此之多,他们的距离被拉得越来越远。通常是,重做一项实验比找到该实验的报告还要容易。机器学习在这时就会起作用,它能根据相关信息搜索文献,将某领域的行话翻译到另一个领域,并建立联系,而科学家们在过去都没有意识到。渐渐地,机器学习成为一个巨大的中心,通过这个中心,某领域里发明的建模技术将会被引入其他领域。
如果计算机没有被发明出来,20世纪下半叶的科学将停滞不前。这可能不会很快在科学家当中表现出来,因为他们专注于所有仍可努力实现、有限的进步,但进步的空间真的太小了。同样,如果没有机器学习,许多科学在未来10年将会面临收益递减。
为了预见科学的未来,看看曼彻斯特大学生物技术研究院的实验室,在那里,一个名叫亚当的机器人正在努力工作,目的是找到哪些基因在酵母中对哪些酶进行编码。亚当有一个酵母新陈代谢的模型,还掌握了基本的基因及蛋白质知识。它提出假设,设计实验验证假设,进行实地实验,分析结果,提出新的假设,直到它满意为止。当下,人类科学家仍然在独立检查亚当的结果,然后才会相信这些结果,但在未来,他们就会交给机器人科学家来验证彼此的假设。
10亿个比尔·克林顿
在2012年的美国总统选举中,机器学习决定了谁能当上总统。
通常决定总统选举的因素包括经济、候选人的亲民度等,但这些因素没有起到作用,而选举的结果主要受到几个“摇摆州”的影响。米特·罗姆尼的竞选采用的是传统的投票策略,将选民分成几大类,然后选择是否把每个类别作为目标。尼尔·纽豪斯(罗姆尼的民意调查专家)说道:“如果我们能在俄亥俄州赢得无党派人士,那么这场竞赛我们就赢了。”虽然罗姆尼获得了7%无党派人士的支持,但他仍失去了这个州,在竞选中失利。
相比之下,奥巴马总统雇用了拉伊德·贾尼(机器学习专家,他是奥巴马竞选中的首席科学家)。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛