1.引言
在之前的讨论中,我们构建了一个理论模型来表达最优决策规则,这是建立在我们对数据的概率模型有充分理解的基础上的。相对地,经验风险最小化(Empirical Risk Minimization, ERM)策略则在缺乏精确概率模型的情况下,借助数值方法来发掘有效的决策规则。本章将深入探讨如何高效解决经验风险最小化问题,重点介绍解决这类问题时常用的核心优化方法,以及分析这些方法执行时间所需的数学工具。
本文的焦点是梯度下降算法,以及如何巧妙设计损失函数以确保梯度下降法能够成功找到解决方案。梯度下降法是一种迭代算法,它在可能的模型集合中进行选择,每一步都将当前模型替换为一个具有更低经验风险的新模型。我们将证明,当优化问题属于凸函数集合时,梯度下降法能够保证找到全局最优解。在风险最小化的背景下,这意味着只要损失函数是凸的,并且决策函数是特征的线性组合,梯度下降法就能够找到最小化经验风险的模型。
接下来,我们将研究随机梯度下降(Stochastic Gradient Descent, SGD),这是机器学习中的核心工具。SGD实际上是对感知机学习规则的一种扩展。它的通用性允许我们将SGD应用于多种不同的函数类别和损失函数,并确保即便数据不可分离,算法也能收敛。我们将花费相当篇幅来探讨SGD的动态特性,以期理解其在机器学习中广受欢迎并取得成功的原因。
从凸问题的讨论出发,我们将进一步探索更一般的非凸问题。特别是,我们将强调梯度下降和随机梯度下降在经验风险最小化中的两个突出特点,这些特点有助于解释这些方法的鲁棒性。
首先,我们将展示即使在非凸问题中,经验风险最小化的梯度下降也具有一种隐含的凸性质,这种性质有助于促进算法的收敛。尽管我们优化的函数表示在最坏情况下可能是计算上不可行的,但我们仍然能够对预测本身的收敛性进行推理。
其次,我们将证明梯度下降能够在优化过程中隐式地管理预测函数的复杂性,这在存在无限多解的情况下,有助于鼓励选择复杂性较低的解决方案。
最后,本文将以对其他经验风险最小化方法的讨论结束,这些方法更明确地考虑了模型复杂性以及稳定收敛的需求。通过这些讨论,我们希望能够为读者提供一个关于如何选择和应用不同优化策略的全面视角。
2.优化基础概述
2.1.命题和定义
让我们暂时将焦点从经验风险最小化问题上移开,转而思考一个更普遍的优化问题:
min
w
Φ
(
w
)
\min_{w} \Phi(w)
minwΦ(w)
这里,
Φ
:
R
d
→
R
\Phi: \mathbb{R}^d \rightarrow \mathbb{R}
Φ:Rd→R 是定义在
R
d
\mathbb{R}^d
Rd 上的实值函数。我们应在何种条件下、通过什么方法来最小化此类函数呢?在解答这些问题之前,我们需要先明确我们所追求的目标。
定义 5:最小化解
如果存在一个点 w ∗ w^* w∗ 满足对所有 w w w 都有 Φ ( w ∗ ) ≤ Φ ( w ) \Phi(w^*) \leq \Phi(w) Φ(w∗)≤Φ(w),则称 w ∗ w^* w∗ 是 Φ \Phi Φ 的一个最小化解。如果存在 e > 0 e > 0 e>0 使得对所有满足 ∥ w − w ∗ ∥ ≤ e \|w - w^*\| \leq e ∥w−w∗∥≤e 的 w w w 都有 Φ ( w ∗ ) ≤ Φ ( w ) \Phi(w^*) \leq \Phi(w) Φ(w∗)≤Φ(w),则称 w ∗ w^* w∗ 是 Φ \Phi Φ 的局部最小化解。有时,我们也会将全局最小化解与局部最小化解进行对比。
举例来说,下图中的函数展示了不同的最小值情形。在第一个例子中,存在一个唯一的最小化解。在第二个例子中,有无限多个最小化解,且所有局部最小化解也都是全局最小化解。而在第三个例子中,许多局部最小化解并不是全局最小化解。
在这些例子中,没有次优局部最小化解的两个函数都有一个共同特性:对于任意两点 w 1 w_1 w1 和 w 2 w_2 w2,连接这两点的线段 ( w 1 , Φ ( w 1 ) ) (w_1, \Phi(w_1)) (w1,Φ(w1)) 到 ( w 2 , Φ ( w 2 ) ) (w_2, \Phi(w_2)) (w2,Φ(w2)) 完全位于函数图像的上方。这类函数我们称之为凸函数。
定义 6:凸函数
如果一个函数
Φ
\Phi
Φ 对于所有的
w
1
,
w
2
∈
R
d
w_1, w_2 \in \mathbb{R}^d
w1,w2∈Rd 和
α
∈
[
0
,
1
]
\alpha \in [0, 1]
α∈[0,1] 满足以下条件:
Φ
(
α
w
1
+
(
1
−
α
)
w
2
)
≤
α
Φ
(
w
1
)
+
(
1
−
α
)
Φ
(
w
2
)
\Phi(\alpha w_1 + (1 - \alpha)w_2) \leq \alpha \Phi(w_1) + (1 - \alpha)\Phi(w_2)
Φ(αw1+(1−α)w2)≤αΦ(w1)+(1−α)Φ(w2)
则称
Φ
\Phi
Φ 是凸函数。我们很快将看到,凸函数是一类特殊的函数,对于这类函数,梯度下降法能够保证找到最优解。
假设我们要最小化一个可微函数 Φ : R d → R \Phi: \mathbb{R}^d \rightarrow \mathbb{R} Φ:Rd→R。我们考虑的大多数算法都是从某点 w 0 w_0 w0 开始,然后尝试找到一个新点 w 1 w_1 w1,其函数值更低。最简单的方法是找到一个方向 v v v,使得沿此方向 Φ \Phi Φ 会减少。这个概念可以形式化为以下定义:
定义 7:下降方向
如果存在某个 t > 0 t > 0 t>0 使得 Φ ( w 0 + t v ) < Φ ( w 0 ) \Phi(w_0 + tv) < \Phi(w_0) Φ(w0+tv)<Φ(w0),则称 v v v 是 Φ \Phi Φ 在 w 0 w_0 w0 处的一个下降方向。
对于连续可微函数,判断
v
v
v 是否为下降方向非常简单:如果
v
T
∇
Φ
(
w
0
)
<
0
v^T \nabla \Phi(w_0) < 0
vT∇Φ(w0)<0,则
v
v
v 就是一个下降方向。这一点可以通过泰勒定理来理解:
Φ
(
w
0
+
α
v
)
=
Φ
(
w
0
)
+
α
∇
Φ
(
w
0
+
α
~
v
)
T
v
\Phi(w_0 + \alpha v) = \Phi(w_0) + \alpha \nabla \Phi(w_0 + \tilde{\alpha} v)^T v
Φ(w0+αv)=Φ(w0)+α∇Φ(w0+α~v)Tv
对于某个
α
~
∈
[
0
,
α
]
\tilde{\alpha} \in [0, \alpha]
α~∈[0,α]。如果
α
\alpha
α 很小,由于连续性,我们将有
∇
Φ
(
w
0
+
α
~
v
)
T
v
<
0
\nabla \Phi(w_0 + \tilde{\alpha} v)^T v < 0
∇Φ(w0+α~v)Tv<0。因此
Φ
(
w
0
+
α
v
)
<
Φ
(
w
0
)
\Phi(w_0 + \alpha v) < \Phi(w_0)
Φ(w0+αv)<Φ(w0) 且
v
v
v 是一个下降方向。
这种下降方向的特征使我们能够确定 w w w 最小化 Φ \Phi Φ 的条件。
命题 4:局部最小化解
如果 w ∗ w^* w∗ 是 Φ \Phi Φ 的局部最小化解,那么必须有 ∇ Φ ( w ∗ ) = 0 \nabla \Phi(w^*) = 0 ∇Φ(w∗)=0。
这个命题的原因是,如果 − ∇ Φ ( w ∗ ) -\nabla \Phi(w^*) −∇Φ(w∗) 不为零,它总是一个下降方向。如果 w ∗