降低损失:迭代方法

上一单元介绍了损失的概念。在本单元中,您将了解机器学习模型如何以迭代方式减少损失。

迭代学习可能会让您想到“Hot and Cold”这种寻找隐藏物体(如顶针)的儿童游戏。在该游戏中,“隐藏的物品”是最佳模型。您可以大胆猜测(“ \(w_1\) 的值为 0”),然后等待系统告诉您损失是多少。然后,您再尝试另一种猜测(“ \(w_1\) 的值为 0.5”),看看损失是什么。事实上,如果您玩得正确,通常会逐渐变热。游戏真正的诀窍在于尽可能高效地找到最佳模型。

下图展示了机器学习算法用于训练模型的迭代试错过程:

从特征和标签到模型和预测的循环。

图 1. 一种用于训练模型的迭代方法。

我们将在整个机器学习速成课程中使用相同的迭代方法,详细说明各种复杂功能,尤其是在标记为“模型(预测函数)”的暴风雨云中。迭代策略在机器学习中很常见,主要是因为它们可以很好地扩展到大型数据集。

“模型”将一个或多个特征作为输入,并返回一项预测作为输出。为简单起见,假设一个模型接受一个特征 (\(x_1\)) 并返回一个预测 (\(y'\)):

$$ y' = b + w_1x_1 $$

我们应该为 \(b\)和 \(w_1\)设置哪些初始值?对于线性回归问题,事实证明起始值并不重要。我们可以选择随机值,但采用下面这些无关紧要的值:

  • \(b\) = 0
  • \(w_1\) = 0

假设第一个特征值是 10。将该特征值插入到预测函数中可产生:

$$ y' = 0 + 0 \cdot 10 = 0 $$

图中的“计算损失”部分是模型将使用的损失函数。假设我们使用平方损失函数。损失函数有两个输入值:

  • \(y'\):模型对特征 x 的预测x
  • \(y\):特征 x 对应的正确标签。x

最后,我们已经到达图中的“计算参数更新”部分。机器学习系统会在这里检查损失函数的值,并为 \(b\) 和 \(w_1\)生成新值。现在,我们先假设这个神秘的框会产生新值,然后机器学习系统会根据所有标签重新评估所有特征,为损失函数生成一个新值,而该值又产生新的参数值。学习过程会持续迭代,直到该算法发现损失可能最低的模型参数。通常,您可以反复迭代,直到整体损失不再发生变化或变化速度至少变化得非常缓慢。这时候,我们可以说该模型已收敛