首页 > 编程笔记 > 通用技能 阅读:19

什么是机器学习(新手必看)

从本质上讲,机器学习是一种通过算法计算数据来自动发现世界运行规律的方法。

我们经常听到人工智能和机器学习可以互换使用,把两者混为一谈。但严格来说并非如此,人工智能并不总是涉及机器学习,机器学习也不总是涉及人工智能。两者其实是互为补充的。

介绍机器学习的最好方法是利用实例。想象一下,你正在制作一个健身追踪器,这是一种运动员可以佩戴的小腕带,它包含一个加速度计,可以显示任意时间点每个轴(x、y 和 z)上加速度的值,如下图所示。


图 1 以 6.25 Hz 采样的三轴加速度计的输出

为了帮助运动员,你需要自动记录他们正在进行的活动。例如,一个运动员可能会在周一花一个小时跑步,然后在周二花一个小时游泳。

由于我们游泳时的动作与跑步时的动作有很大的不同,你可以根据腕带上加速度计的输出来推断出具体的动作。为了收集数据,你可以将腕带发给十几个运动员,让他们进行特定的活动——例如游泳、跑步或什么都不做——同时用腕带记录数据(如下图所示)。


图 2 三轴加速度计的输出显示了与图 1 不同的活动,每种活动都可以用每个轴上的加速度随时间变化的模式来描述

现在获取到了数据集,你希望尝试确定一些规则来帮助你判断某个特定运动员是在游泳、跑步还是在放松。一种方法是手动分析和检查数据,看看是否有什么特别之处。也许你会注意到,跑步时某一特定轴上的加速度要比游泳更快。你可以使用此特征编写具有一定逻辑的代码,从而根据该轴的变化情况确定运动员的活动。

手动分析数据可能很棘手,通常需要该领域的专业知识(比如运动中的人体动作)。而另一种方法则是使用机器学习。

使用机器学习的方法将所有运动员的数据输入训练算法中,当获取到加速度计数据以及运动员目前正在进行的活动的相关信息时,算法会尽力学习两者之间的映射关系,这种映射称为模型。

如果训练成功,你的新机器学习模型就有可能通过一个全新的、从未见过的输入(一个来自特定时间窗口的加速度计数据样本)来推断出运动员正在进行的活动,这个过程被称为推理。

这种理解新输入的能力被称为泛化。在训练过程中,模型学习了跑步和游泳的不同特征。然后,就像使用前面提到的条件逻辑一样,你可以在自己的健身追踪器中使用该模型来理解新的数据。

机器学习算法有很多,每个算法都有自己的优点和缺点——而机器学习并不总是针对这项工作的最佳工具。稍后,我们将讨论机器学习最有帮助的场景。但一个很好的经验法则是,当我们的数据很复杂时,机器学习真的会“发光”。

相关文章