基础
机器学习(machine learning)
机器学习,是让计算机通过研究例子把一件事做得越来越好,而不是有人递给它一本规则手册。想象教一个孩子认猫:你不会背诵「猫」的定义,只是指着上百只猫,直到那个模式在他脑中「咔」地接通。机器学习程序也是这样——给它看成千上万张标注着「猫」或「不是猫」的照片,它就一点点地自我调整,直到能认出一只它从没见过的猫。
这个转变意义深远。在老式编程里,每一条规则都得由人手写出来:邮件里如果出现「免费赚钱」,就标为垃圾邮件。可是发垃圾邮件的人很狡猾,规则永远写不完。机器学习把它反了过来——你把一堆已经分好「垃圾」与「非垃圾」的邮件喂给程序,它自己去发现那些蛛丝马迹般的模式。正因如此,它如今驱动着从你的相册应用,到帮你把句子补完的种种建议。
一个常见的误解,是以为机器「理解」了它学到的东西。其实并没有——它只是找到了行得通的统计模式。喂给它带偏见或马虎的例子,它会一丝不苟地把偏见也一并学去。模型的好坏,永远不会超过它所学的数据,这正是为什么例子的分量,远比大多数人想象的要重。
不要去写「如果像素拼出胡须和尖耳朵,那就是猫」这条规则。给它看一万张标注好的照片,让程序自己把这条规则找出来。
把规则搬出去,把例子放进来:这正是机器学习核心处的那一次反转。
「机器学习」一词由 IBM 工程师亚瑟·塞缪尔于1959年提出。他的西洋跳棋程序靠着和自己对弈而越下越强,自行调整对棋局优劣的判断——从经验中学习,而非依赖人手写下的指令。
又称
另见