接下来继续为大家分享机器学习系列课程,第一章的第二节,机器学习如何做:
机器如何学习?
首先了解下,机器是如何做到学习的。在上一节中,跟大家分享了机器为什么能够学习。那么机器如何一步步做的呢,我想给大家分享一个非常有趣的案例:假设机器可以穿越时空回到17世纪,在17世纪有一个重大的科学发现,就是牛顿的力学三定律。那么我们的机器是否能够学习牛顿学习这个世界的过程?也就是机器能否发现学习到牛顿的力学三定律。以牛顿第二定律来做一个说明,牛顿第二定律是指,物体加速度的大小跟作用力成正比,与物体质量的倒数成正比,即 a = F * 1/m。大家可以看右边的图,大家都学过模拟当初牛顿发明第二定律的过程。在实验中,我们得到了数据表格,表格中的五个点分别对应了当时的力和加速度。对于机器来说任务是这样的:我们期望通过观测到的五个数据进行归纳学习,学习到物体的加速度 a 与作用力 F 之间的关系。当机器掌握其本质性的关系之后,就可以进行演绎,就可以知道当对质量为 3Kg 的物体施加 4N 的作用力时,会产生多大的加速度。最终机器通过这样的学习可以预测任何物体在某一个作用力下的加速度。
机器的学习方案
如何为机器设计一套步骤,让机器学到这个事情?
步骤1:首先,我们把观测到的五个数据画在图中,会发现这样的五个数据很像经过原点的直线(为什么经过原点?因为当作用力为0时,加速度也是0,所以会经过原点)。所以我们大胆的假设,作用力和物体加速度的关系就是一个线性关系。这个线性关系可以用 a = w * F 来表示,w 是什么,我们还不知道。我们知道经过原点的直线有很多条,那么我们选择出的正确关系,至少应该很好的拟合我们已知的观测数据。
步骤2:设计一个评价指标(loss),可以衡量假设与观测数据的拟合程度,即假设一条经过原点的直线,把观测数据上的每个点与这条直线的偏离程度(相减)都进行求解之后,再进行加和,当加和是最小值时,我们假设的这条直线就很好的拟合了我们观测到的数据,这时这条直线的参数,就是我们想求的最优解。