4.1 随机抽样的一般优化模型
假设我们的模型的在样本i上面的损失函数是ℓ(h(xi,w),Yi),则平均经验风险:Rn(w)=n1∑i=1nℓ(h(xi,w),Yi)。在个数为N的训练集上有:
w∈RdminRn(w)=n1i=1∑nℓ(h(xi,w),Yi)
但是呢,n一般是很大的,计算上面的和式都不现实,更不用说再对它计算导数,然后迭代求解了。因此一般是通过多样本进行随机抽样,来进行梯度更新和模型优化。设第 k 次迭代时由随机变量ζk 从全样本中随机产生一个子集合 Sk⊆Q
,相应的目标
函数变为:
Fk(w)=Fk(w:ξk)≜F(w;Sk)=∣Sk∣1i∈Sk∑fi(w;xi,Yi)
4.1.1随机梯度优化算法(SG)
每次随机选取一个样本点,根据这个样本点决定优化的方向dk
在实际应用中,如果我们把每个样本都被计算梯度称做一个周期。那么批处理方法每个
周期只能迭代一次,而 SG 可以迭代 n 次。但是 SG 也有一些缺点,如其每次迭代的方向并
不一定是下降方向,步长需要调节,无法利用现有线搜索技术等。
4.1.2批量样本优化算法
g(wk,ξk)=⎩⎪⎨⎪⎧∇f(wk;ξk)简单的随机梯度法∣Sk∣i∈Sk1∇fi(wk;xi,Yi)简单的随机梯度法Hk∣Sk∣1∑i∈Sk∇fi(wk;xi,Yi)批量二阶方法
- 小批量样本法:用小批量随机样本进行随机梯度的计算
- 动态样本法
- 聚合梯度法
- 水平方向的改进:不是简单的随机方法(SG)或者简单的批方法,而是将二者结合在一起。
- 垂直方向的改进:二阶方法
4.3 一阶优化算法及其理论分析
对于机器学习而言,设计优化算法要解决三个问题:
- 随机抽样集合中的元素个数∣Sk∣的确定方法
- 迭代方向d(wk;Sk)的确定方向
- 步长ak>0的确定方法.
4.3.1 引理
- 李普希兹条件:比连续的条件更强,要求导数绝对值小于一个常数。限制了斜率变化的快慢,要求函数在无限的区间上不能够有超过线性的增长。
∀x,y∈D,∣f(y)−f(x)∣<K∣y−x)∣
∥∥∇2F(w)∥∥2≤L,∀w∈Rd
-
基本假设
: 目标函数梯度的Lipschitz-连续性). 目标函数F:Rd→R是连续可微的,F的梯度∇F:Rd→Rd是Lipschitz-连续的,Lipschitz常数为 L :
∥∥∇F(w1)−∇F(w2)∥∥2≤L∥∥w1−w2∥∥2,x1f∓∀w1,w2∈Rd(4.3.1)
- 目标函数的
梯度
符合李普希兹连续。也就是要求目标函数的梯度对于自变量,不能改变的任意快.
- 假设 4.3.1 是要求目标函数的梯度对于自变量,不能改变的任意快。对于绝大多数
梯度类算法的收敛性,这个假设是基本的。如果没有这个假设,梯度就不能提供一个好的指
向,使得目标函数 F 快速下降
-
引理1
:
f(w2)≤f(w1)+▽f(w1)(w2−w1)T+21L∣∣w2−w1∣∣22,∀w1,w2∈Rd
证明:
F(w2)=F(w1)+∫01∂t∂F(w1+t(w2−w1))dt=F(w1)+∫01∇F(w1+t(w2−w1))T(w2−w1)dt=F(w1)+∇F(w1)T(w2−w1)+∫01[PF(w1+t(w2−w1))−∇F(w1)]T(w2−w1)dt≤F(w1)+∇F(w1)T(w2−w1)+∫01L∥∥t(w2−w1)∥∥2∥∥w2−w1∥∥dt=F(w1)+∇F(w1)T(w2−w1)+21L∥∥w2−W1∥∥22
引理2
:若{wk}是算法4.1.1 产生的序列,对于一切K∈N,下式成立:
Eξk[F(wk+1)]−F(wk)≤−αk∇F(wk)TEξk[g(wk,ξk)]+21Lαk2Eξk[∥g(wk,ξk)∥22]
w∈RdminRn(w)=n1i=1∑nℓ(h(xi,w),Yi)(4.1.1)
证明:
F(wk+1)−F(wk)≤∇F(wk)T(wk+1−wk)+21L∥wk+1−wk∥22≤−αk∇F(wk)Tg(wk,ξk)+21Lαk2∥g(wk,ξk)∥22
当到达极值点时,应该有EF(wk+1])−F(wk)=0,因此我们应该让$
\mathrm{E}{\xi{\mathrm{k}}}\left[\mathrm{F}\left(\mathrm{w}{\mathrm{k}+1}\right)\right]-\mathrm{F}\left(\mathrm{w}{\mathrm{k}}\right)$尽量小。而引理2表明这二者之差是存在上界 的。我们需要做的,就是尽量缩小上界。
- 缩小方法1:当下降方向与梯度重合度越高,则这个上界会越小
- 缩小方法2:随机梯度的二阶矩∥g(wk,ξk)∥22越小,则上界越小
- 若要对收敛性及进行分析,就需要对这两个影响进行量化


