深入了解机器学习:训练和损失

训练模型只需从有标签样本中学习(确定)所有权重和偏差的理想值。在监督式学习中,机器学习算法通过检查许多示例并尝试找到将损失降至最低的模型来构建模型;此过程称为经验风险最小化。

损失是错误预测的惩罚。也就是说,损失是一个表示模型在单个样本上的预测质量的数字。如果模型的预测完全准确,则损失为零,否则损失会更大。训练模型的目的是从所有样本中找到一组平均损失“较小”的权重和偏差。例如,图 3 左侧显示的是高损失模型,右侧显示的是低损失模型。对于该图,请注意以下几点:

  • 箭头表示损失。
  • 蓝线表示预测。

两个笛卡尔曲线,每个曲线图显示一条线和一些数据点。在第一个曲线图中,这条线对于数据的拟合度很差,因此损失很高。在第二个曲线图中,折线更适合数据,因此损失较低。

图 3. 左侧模型中的损失较高;右侧模型中的损失较低。

 

请注意,左侧曲线图中的箭头比右侧曲线图中的箭头长得多。显然,相较于左侧曲线图中的线条,右侧曲线图中的预测模型要好得多。

您可能想知道是否可以创建数学函数(损失函数),以有意义的方式汇总各个损失。

我们在此探讨的线性回归模型使用一种称为平方损失函数(也称为 L2 损失)的损失函数。单个样本的平方损失如下:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

均方误差 (MSE) 是指整个数据集中每个样本的平均平方损失。如需计算 MSE,请先计算各个样本的所有平方损失之和,然后除以样本数量:

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

其中:

  • \((x, y)\) 是一个示例,其中
    • \(x\) 是模型用于进行预测的特征集(例如,每分钟的鸣叫次数、年龄、性别)。
    • \(y\) 是示例标签(例如,温度)。
  • \(prediction(x)\) 是权重和偏差与一组特征的组合 \(x\)。
  • \(D\) 是一个包含许多有标签样本(成对)的数据集。 \((x, y)\)
  • \(N\) 是 \(D\)中的样本数。

虽然 MSE 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情况的最佳损失函数。