机器学习解决什么问题 — 为什么偏偏是现在,以及预测与分类
这一章讲三件事: 这项技术为什么是在这些年才火起来的(三个条件缺一不可); 它主要用来解决哪两类问题; 以及一句最容易被略过、却是全部要害的话——规则不由人写。
它在全书链条里的位置: 从这一章起进入原书的附录, 那是第 2 版在正文写完十二年后加上去的。 前十八章讲的是「人怎么把问题化到机器能照做」; 附录讲的是另一条路:让机器自己从数据里把规则找出来。 需要的基础: 无。
1. 先看现象:为什么偏偏是现在才火
这一节回答一个时代问题,而原书把它放在了讲定义之前——这个顺序是对的。
机器学习不是新想法。它这些年才火起来,是因为三样东西同时到位了1。
第一样:有大量现成的、机器能直接处理的数据。 互联网让这件事变得很容易——网上到处是现成的图片、文字、记录; 而且能存大量数据的设备也越来越便宜2。
第二样:要算的东西恰好能拆开同时算。 机器学习里最常做的那类计算(把一排排数按位置对应着乘起来再加总), 可以切成很多份分给不同的部件,各算各的、互不干扰—— 这种「同一批活拆开、好几个部件同时干」的算法,叫并行3。
并行这条性质带来的后果很实在:砸设备就能提性能。 你多买一倍的计算部件,就真能快接近一倍;而专门干这种活的零件, 就是电脑里那块画图用的板子——它叫显卡,行话按英文缩写叫 GPU (这个名字原书没有提,是我们补的)。
第三样:算出来的结果有现成的出口。 最常见的例子是购物网站上那句「购买此商品的顾客还购买了」4—— 算出来 立刻就能换成钱。再加上图像识别这类应用: 把手写文字认成文本、从图片里框出人脸、在一堆照片里找出某个人5。
三样合起来才是答案:有料进得来、算得动、算完有地方用。 缺任何一样,这项技术都火不起来。
全章的主走查:一家网店,投多少广告费,销售额会是多少
─────────────────────────────────────────────────────────
§3 先摆出过去几次的记录:花了多少、卖了多少
§4 假设两者之间是「乘一个数再加一个数」的关系 ← 建立模型
§5 那两个数还没定 —— 它们叫参数
§6 拿一部分数据把参数调好,另留一部分当考试题
────────────────────────── ───────────────────────────────
图说:这条走查从这一章的第 3 节起,一直走到第 7 节。
第 20 章会换一台更具体的机器,再走一次完整的调参过程。
2. 最要害的一句:规则不由人写
这一节回答:机器学习和前面十八章的做法,根本差别在哪。
先摆位置。人工智能是个很宽的词;机器学习是实现它的一种基本手段。
而机器学习里层数特别多的那一种,叫深度学习(第 21 章讲它)6。
人工智能(最宽:让机器做原本要人来做的判断)
└── 机器学习(从大量数据里自 己找规律)
└── 深度学习(层数很多的那一种,第 21 章讲)
图说:三个词的关系是层层包含,不是并列。
新闻里常把它们混着用,那是新闻的问题,不是你没读懂。
原书说,机器学习主要用来解决两类问题7:
- 以大量数据为基础,预测结果;
- 对大量数据进行识别和分类。
但紧接着那一句才是要害:预测或分类的具体方法,并不是由程序员事先设定的, 而是由计算机从大量数据中自动提取出关键之处(这些关键之处的行话叫特征), 从而解决问题8。
把这句话和前十八章并排看,差别就出来了:
| 前十八章 | 附录这三章 | |
|---|---|---|
| 规则从哪来 | 人想出来,写进程序 | 机器从数据里找出来 |
| 人干什么 | 把问题化到「机械照做就行」 | 挑模型、备数据、解释结果 |
3. 第一类问题:预测
这一节开始走主走查。
预测问题就是:给定一个输入,得到一个尽量接近目标的输出9。
原书的例子:你经营一个网站,想知道在广告上花的钱 会在销售额上有多大反映10。这里有三样东西,名字要分清:
| 名字 | 在这个例子里是什么 |
|---|---|
| 输入 | 广告费 |
| 输出 | 算出来的销售额(预测值) |
| 目标 | 实际的销售额 |
这类问题也叫回归问题11。
人其实一直在做这件事:「上次投了多少、销售额涨了多少, 所以再加点投放应该还会涨」——这就是凭经验做的预测12。 机器学习要做的是把这件事变成可计算的。
先把过去的记录画成点:横轴是广告费,竖轴是销售额,每次投放是一个点13。 这是主走查的第一步。
4. 第二步:先假设一种关系,这一步叫建立模型
这一节是很多人会略过、但绝不能略过的一步。
要从那堆点里预测,得先假设它们之间是什么关系。 原书假设的是最简单的一种:销售额 = 广告费 × a + b14。
做出这个假设的过程,就叫为这个问题建立模型15。这是主走查的第二步。
注意这一步是人做的,不是机器做的。 而且它可能一开始就错。 原书专门提醒: 模型是有局限的——万一广告费和销售额之间根本不是这种关系, 那么无论怎么调,都不可能预测准16。