我们都喜欢狗狗的照片,它们让我们想起那些与这些这些四条腿的小伙伴们一起玩耍度过的清晨。
我们可以很容易的在照片中认出狗狗,因为我们已经看过千百次它们长什么样子。
可是如果一个外星人因为好奇狗狗长什么样而绑架你,你会怎么办?他强迫你教他如何识别狗狗,这样他就可以绑架一只带回他的星球。
请记住,他完全不知道狗狗长什么样。你要怎么做?
你可能需要告诉交给他一些“规则”:狗狗有四条腿,两只眼睛,两只耳朵…可是,这可能没有想象的那么容易,因为有很多很多的规则。试想一下,你要怎么教会他区别狗狗和狼?这真的很难。
这个设定一些规则并照之遵守以得到想要结果的学习过程叫做 “演绎学习”。可是难点就在于很难顾全所有的可能的变化。
想象一下,除了展示给他一千张狗狗的照片,另外如果给让他看一千张照片都不是狗狗的照片。那事情就变得容易很多了!
我们人类正是这么学习的。通过千百次的观察我们知道了狗狗长什么样。当我们的大脑看到一些它可以认知的东西的时候,某些神经区域就会显示出逐渐增加的活跃性。但根据国家研究委员会出版的《人们如何学习》一书,人类在出生时并没有这些神经特征。随着年龄的增长,有了越来越多的经验,我们的大脑就开始整理如何建立这些联系。
神奇的是,机器学习正是这么工作的。当建立一个机器学习模型的时候,我们不会教他“规则”。而是提供给诶他大量的案例,有的可以得到想要的结果,有的不可以,然后就让电脑自己整理,就像我们的大脑会做的一样。
大部分人认为AI是一个使工作自动化的工具,可是让人们专注于建立像人类行为一样的算法理论。举例来说,脸书(Facebook)的面部识别算法理论比人类的识别能力还要强。可是如果我们反向而为呢?
机器学习是如何工作的?
假设没有空调也没有泳池的你实在是难以忍受这炎热的夏天,你决定在邻居不在家的时候偷偷的潜入他家用他的泳池。
你已经知道大多数时候他都不在家,因为他打网球。所以你决定应用你的AI技能来建模,根据天气挺起情况预测他是否会打网球。
经过几周对他的观察他和并收集了相关数据,你总结了如下表格:
既然你有了好的、有代表性的数据,你便可以开始建模。
有很多种不同的方法,我将用一种叫做决策树的技巧来简单讲解归类问题。
你觉得在上图表格中哪个那个变量会影响你邻居要不要打网球的决策?可能是天气情况。
要弄清如何构建决策树,我们的模型会找出哪那些变量可以将数据最好的分割开来。把天气情况放在决策树的根部,然后我们就可以开始用同样的方法来建立更多的枝杈,直到决策树看起来如下图:
训练完模型之后,我们就会得到一个可以帮助我们预测邻居是否在家的决策树。
你可能会想:“这到底会怎么帮助我学习一个新的技能?”
如果你想要训练一个好的理论可以用来使你的学习收益最大化,有一些主要的规则需要遵守。
如果你想了解更多关于机器学习的知识,这里有一些很棒的资源。
◆ 练习,练习,再练习——收集大量的数据
不是当你已经优秀了才去练习,而是不断地练习帮助你变得优秀。
——Malcolm Gladwell
这一条比较简单——练习的越多,你就会变得越好。
我们都听过“大数据”这个时下很火的词。可是只有很少的人真的了解他真正的含义。根据牛津词典的解释,大数据是:极其大的数据集,需要用计算机来分析并展现出它的特征、趋势和联系,尤其是与人类行为相关的部分。
大数据是用很多很多的例子来训练一个模型。
根据牛津关于技能学习的神经机制的研究,当我们开始学习一些新东西,这个过程中包含了很多神经活动。但当我们反复练习同一个任务的时候,每一次完成他所需要的脑力就会逐渐减少。
当你建一个机器学习的模型时,这会很大程度上决定你算法表现的好坏。你需要很多很多的案例才能得到一个好的模型。相较于给外星人看几张照片,给他看更多的案例会让他学习的更好。
但是不变的是,基于大量的数据建立简单的模型胜过只有少量数据的复杂模型。
——Alon Halevy, Peter Norvig, and Fernando Pereira, Google. The unreasonable effectiveness of data.
我们花了很多时间来学习相关的课题,比如阅读,看视频,向人们请教等,但在真正上手练习之前还是会犹豫很久。
唯一能让你有所提高的办法就是去实践。
◆ 不要死记硬背:避免过度拟合
回顾在学生时代的时候,你是否又有因为死记硬背某个数学题目的解法,却因为考试中的题目与记下来的题目稍有不同而解不出来?这其实是同样的概念,那一点点的不同就可以让你的方法一文不值。
如果你死记硬背一个流程同样会如此,我们会失去将问题普适化、解决没有见过的情形的能力。
在机器学习过程中,这个叫过度拟合。当你训练你的模型通过记忆来学习,就会发生这样的事情。这其实很危险,因为如我们如果用同样的数据集来测验,可能会有100%的拟合度,但当遇到没有见过的问题的时候会表现的很差很差。
当我们知道有办法可以点击一下鼠标就解决问题,就没有必要死记硬背了。
这就是为什么很多人学不会编程。他们会因为有太多的东西去要记忆而失去信心。可是,这正是问题本身——我知道的所有擅长编程的人都很会使用“谷歌”。
根据Eric Mazui (哈佛大学物理学教授,同时也是Peer Instruction的作者)的研究,一个互动式的学习会让学生对问题的理解力比死记硬背的学习高三倍。
这个道理很简单,强迫你自己在没有指导的情况下学习。当你自己弄明白了一些道理之后,你就可以回顾整个过程,这样可以避免没有理解就死记硬背。
◆ 给你的训练做适当的变化:准备多样、有代表性的数据
我们通常会认为不断重复做同一件事会让我们最终成为专家。即使我们从中取得进步,但还有更快捷的方法。不只是练习本身,而是练习的方式。
最关键的就是使学习有变化。
最好的吉他手不只是演奏一个类型——这也是为什么摇滚明星不可能通过只玩摇滚而成为最卓越的演奏家。要达到他们的高度,需要不断尝试并练习不同的音乐类型。所有这些不同的类型的特质,会帮助吉他手成为全能大师。
如果不知道布鲁士…就没有办法用吉他玩摇滚或是其他大众音乐。
——Keith Richards
要想在某一领域有所建树,你不可以只是重复做同一件事。你必须要使得你做的事情有所变化,这样才能有更普适的能力。
用代表不同情形的数据来训练一个机器学习模型是至关重要的一点。
如果你想教那个外星人朋友椅子长什么样,就需要保证提供给他不同类型、不同视角的照片。
下一次当你想学习一项新的技能,尝试尽可能的从不同的视角进行学习。
◆ 不要重新发明轮胎:学会迁移学习
在硅谷你会见到很多换了新的工作领域的人都做得非常好。有建筑师转去做设计师,律师去做销售代表,工程师去做市场营销人员等等。有趣的是,他们都会发现有很多原来工作中的知识可以应用到新的工作。
在人工神经网络(主要用于图像识别)领域有一个叫转移学习的技巧。无须把全部的东西重建,你可以用以前训练过的相似的任务中的一部分放入新的任务。不难想象,这会帮助提高模型的表现并能节省很多时间。
回想吉他演奏家的例子——如果你已经知道如何弹钢琴,可能对你来说学吉他就会容易很多。虽然是完全不同的乐器,但基础的音乐素养是普适的。
最重要的是学会利用大脑中已经建立的联系,将其应用于不同的技能当中。
就像滑板的技能可以应用于滑雪板一样。
通过应用已知的知识,你可以快速的上手新的东西。
机器学习不是什么新东西,已经有几十年了。这是一个缓慢的过程,而且现在逐渐开始可以看到回报了。现在我们有资源来创造一个巨大的影响。上一周我参加Gigaom AI 2017 会议,Jerry Kaplan形容说,从历史上看,我们现在的这是时代可以和犹如之前轮子的发明发明轮子的革命般相提并论。
既然你有一个大概的概念这些神秘的黑箱是如何运作的,我鼓励你去探索一下AI。我们不仅仅需要工程师和数据科学家,我们还需要懂得这幕后是如何运作的、并将这科技的力量应用于新的领域的人们。
原文发布时间为:2017-03-13
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号