机器学习问题定义

graph LR
    H[假说<br>Hypothesis]
    L[损失函数<br>Loss Function]
    O[优化算法(学习算法)<br>Optimisation Algorithm]
    Tr[(训练集<br>Training Set)]
    Te[(测试集<br>Testing Set)]

    F[最终假说<br>Final Hypothesis]


    Tr --> O
    Te -- 测试 --> F
    H --> L
    L --> O
    O -- 训练 --> F

通常来说对于任何问题,我们想要使用机器学习去解决它时,我们会遵循定义以下内容:

首先,先需要选择一个假说(hypothesis)(或者模型),这个假说是我们认为能够解决问题的一个函数。这个函数的输入是我们的特征(features),输出是我们的目标变量(target variable)。我们的目标是找到一个函数,使得这个函数能够最好地拟合我们的数据。

而为了使这个假说能够拟合数据,我们需要定义一个损失函数(loss function),这个损失函数能够衡量我们的假说在训练集上的表现。越高的损失代表我们的模型错的越多,因此我们的目标是最小化这个损失函数。

损失函数又叫成本函数(cost function)目标函数(objective function)或者误差函数(error function)。我们通常使用 表示这个函数。对于不同任务我们通常会定义不同的损失函数,比如对于回归任务我们通常使用均方误差(Mean Squared Error,MSE)作为损失函数,对于分类任务我们通常使用交叉熵(Cross Entropy)作为损失函数。

在机器学习中,我们通常使用一些手段来最小化损失函数。我们称呼这些手段为优化(Optimisation)。优化的目标是找到一个参数集合,使得损失函数最小化。我们通常使用梯度下降(Gradient Descent)来优化损失函数。而优化的过程,也是在让模型学习数据集的过程,我们称之为训练(Training)

而在训练中,我们使用的材料和数据我们称之为训练集(Training Set)。训练集是一个广泛的概念,不同的模型使用不同的训练集。

在训练完成后,我们还会使用一些材料用于测试模型在未见过的数据的性能,而这个过程被称为测试(Testing),而测试中所使用的数据被称为测试集(Testing Set)

我们统称所有用到的数据为数据集(Dataset)

通常来说我们数据集中无论是训练集和测试集(还是其他集),其内容格式都是相同的。

别担心可能还不知道其中的一些概念,我们会在后面的章节中详细讲解。