# Outline
- First-order optimization
- SGD and its variants
# 机器学习回顾
- A set of data: X={xn}n=1N⊂X, optionally, with labels Y={y}n=1N⊂Y.
- A loss function L:Y×Y↦R.
- A model with parameter Mθ:X↦Y.
- A training task:
θ∈Ωminf(θ)n=1∑NL(Mθ(xn),yn)
- f(θ): the objective function of the variable θ.
- Ω: the feasible domain of θ.
# Case 1 - 简单的股价预测问题
问题的输入是:
- xn∈R2: 代表第 n 个公司的营业额和利润;
- yn∈R: 代表第 n 个公司的股价。
一个使用 MSE 的线性回归是一个平滑的 (smooth)、凸的 (complex) 优化问题,是最简单的优化问题。
# 优化问题的难度
因此,一个优化问题的难度取决于以下三点:
- 凸性
- 平滑性
- 是否有约束
# 凸性
# 定义
一个(下)凸函数 f:Rn→R 定义在凸集 Ω⊂Rn 上,如果对于任意的 x1,x2∈Ω 和任意的 λ∈[0,1],都有
f(λx1+(1−λ)x2)≤λf(x1)+(1−λ)f(x2).
一般地,满足 Jenson 不等式
f(E(X))≤E(f(X))
的函数称为凸函数。
另一种凸函数的定义是
f(x′)−f(x)≥⟨∇f(x),x′−x⟩.
其几何含义是,函数始终位于其切线上方。
这一等式可能不那么显然,但是其一阶情况为
f(x′)−f(x)≥f′(x)(x′−x).
基于凸函数定义
f(x+t(x′−x))≤(1−t)f(x)+tf(x′),
即
f(x′)≥f(x)+tf(x+t(x′−x))−f(x).
令 t→0, 即得上述定义。
# 一阶优化
光滑函数的梯度下降过程为
θ(k+1)=θ(k)−τk∇f(θ(k)).
非光滑函数的次梯度下降过程为
θ(k+1)=θ(k)−τkg(k),g(k)∈∂f(θ(k)).
于是显然有
∥θ(k+1)−θ∥2=∥θ(k)−θ∥2−2τk⟨g(k),θ(k)−θ⟩+τk2∥g(k)∥2.
# 一阶优化收敛速度的衡量
对于一个收敛序列 {θ(k)∣k=1,2,…} 以及其极限 limk→∞θ(k)=θ, 有:
k→∞lim∥θ(k)−θ∥∥θ(k+1)−θ∥=⎩⎪⎨⎪⎧1,r∈(0,1),0,Sublinear Convergence.Linear Convergence.Superlinear Convergence.
# 渐近收敛速度和非渐近收敛速度
渐近收敛速度用来刻画问题,非渐近收敛速度用来刻画算法。