



正如1.1节所述,为了创建一个能够执行分类或估计任务的类似大脑的机器,我们必须找到一个将输入转化为对应期望输出的数学函数(模型)。然而,遗憾的是,在大多数实际场景中,我们并不知道这个转换函数的具体形式。例如,我们不知道哪个函数能够根据历史价格、全球事件等输入,来预测未来的股票价格——这阻碍了我们构建股价预测器,并且利用它来实现财富增值。我们有的只是训练数据——一组已知输出的输入数据。那么,我们该如何继续呢?答案是:我们将尝试对未知函数进行建模。这意味着我们将创建一个函数,作为未知函数的近似或者替代。从这个角度来看,机器学习其实就是函数逼近——我们只是在试图逼近未知的分类或估计函数。
让我们简要回顾一下上一节的主要思想。在机器学习领域,我们面对的问题本质上可以归结为将一组输入转换为相应的输出。这些输出可以是类别或估计值。由于不知道真正的转换函数,我们便尝试构建一个模型函数来代替它。首先,我们依据对问题的物理理解,设计出一个包含可调参数值的模型函数,用它作为真实函数的近似。这就是模型架构,其中的可调参数也被称为权重。最简单的模型架构是输出为输入值的加权和。然而,仅确定模型架构是不够的,我们还需要明确具体的参数值(权重),这需要通过训练来实现。在训练过程中,我们致力于寻找一组最优权重,使训练输入能够转换为与对应目标输出尽可能匹配的结果,从而确定模型函数。一旦估计出模型的权重,我们就可以将这台机器投入实际应用中:对于任何输入,该函数都能生成对应的输出。这就是所谓的推理。当然,因为训练输入只是所有可能输入的一小部分,我们无法保证推理能够在所有实际输入上生成期望的结果。模型的成功依赖于所选模型架构是否合适以及训练数据的质量和数量。
获取训练数据
一旦掌握了机器学习的基本概念,获取训练数据就成为最大的挑战。在有能力的情况下,研究人员通常会手动生成与输入数据相对应的目标输出(这些输出有时被称为基准真值),以此确定训练数据集。这个过程被称为人工标注或人工策划,需要众多人员对大量输入数据进行审查并生成相应的基准真值输出。对于一些广泛研究的问题,或许能在互联网上找到现成的训练数据;否则,这将是一项艰巨的任务。我们将在后面详细讨论这一点。
现在,让我们通过一个具体的例子来探讨模型构建的过程,即图1.1所示的模拟猫脑的机器。