机器的思考故事——计算机能学会牛顿第二定律吗?
本项目从“牛顿第二定律”入手,介绍机器学习的思考过程,以及在过程中如何确定模型参数,模型三个关键部分(假设、评价、优化)该如何应用。
机器学习的方法论和人类科研的过程有异曲同工之妙,下面以“机器从牛顿第二定律实验中学习知识”为例,帮助读者更加深入理解机器学习(监督学习)的方法论本质。
参考资料:
一、机器学习的方法论
机器学习的过程是一个漫长的训练过程,换句话说,这是一个归纳总结的过程,因此有很多开发者把这一过程称为“炼丹”。
机器学习的实现可以分成两步:训练和预测,类似于我们熟悉的归纳和演绎:
- 归纳: 从具体案例中抽象一般规律,机器学习中的“训练”亦是如此。从一定数量的样本(已知模型输入 X X X和模型输出 Y Y Y)中,学习输出 Y Y Y与输入 X X X的关系(可以想象成是某种表达式)。
- 演绎: 从一般规律推导出具体案例的结果,机器学习中的“预测”亦是如此。基于训练得到的 Y Y Y与 X X X之间的关系,如出现新的输入 X X X,计算出输出 Y Y Y。通常情况下,如果通过模型计算的输出和真实场景的输出一致,则说明模型是有效的。
牛顿第二定律
牛顿第二定律是艾萨克·牛顿在1687年于《自然哲学的数学原理》一书中提出的,其常见表述:物体加速度的大小跟作用力成正比,跟物体的质量成反比,与物体质量的倒数成正比。牛顿第二运动定律和第一、第三定律共同组成了牛顿运动定律,阐述了经典力学中基本的运动规律。
在中学课本中,牛顿第二定律有两种实验设计方法:倾斜滑动法和水平拉线法,如下图所示。

牛顿第二定律实验设计方法
相信很多读者都有摆弄滑轮和小木块做物理实验的青涩年代和美好回忆。通过多次实验数据,可以统计出如 表1 所示的不同作用力下的木块加速度。

表1:实验获取的大量数据样本和观测结果
观察实验数据不难猜测,物体的加速度 a a a和作用力之间的关系应该是线性关系。因此我们提出假设 a = w ⋅ F a = w \cdot F a=w⋅F,其中, a a a代表加速度, F F F代表作用力, w w w是待确定的参数。
通过大量实验数据的训练,确定参数 w w w是物体质量的倒数 ( 1 / m ) (1/m) (1/m),即得到完整的模型公式 a = F ⋅ ( 1 / m ) a = F \cdot (1/m)