前言
本人笔记,请勿转载,恳求纠错。
Mean estimation
(1)利用从0到i的数据之和:
第一种方法是将N个数据相加最后除以N计算平均值,这种方法对于每次计算需要将N个数依次相加,最后计算平均数及期望,效率非常低。
(2)第二种方法是一种不需要N个数据的计算方法,如下图:
由图已知Wk, 根据它和Wk+1的关系得到Wk,所以第二种方法就是根据第k次的结果计算k+1次的结果。这种方法很显然第k+1次得平均数和第k次得平均数和第k次的值相关。
for example:
2.一般形式:
Robbins-Monro algorithm
定义
首先,介绍一个noisy observation:
η是系统内部的噪声,g(w,η)实际上是噪声输出。
上图就是noisy observation的具体结构形式,其实就是一个黑箱。
具体的RM algorithm可以被公式化为:
收敛性
如上图所示,w1对应g(w1),将g(w1)乘以αk,再带入公式,实际上就是w2和w1中间的那段长度,最后得到w2。
然后不断迭代,最后wk会逐渐趋向w*。
具体逻辑如下:
Theorem 6.1 Robbins-Monro theorem的三个条件:
(a) 梯度大于0意味着g(w)是单调增的,小于一个常数意味着g(w)不会无限增大,是有上界的。
举例如g(w) = tanh(w-1) 和 g(w) = w^3 - 5。
(b)
如黄色部分所写的,(2)式第一部分是为了ak^2有上界,这意味着ak随着k趋向于无穷趋向于0。
第二部分代表着ak不能太快趋向于0。
为什么呢?
重点看黄字。
(c) 噪声条件:ηk的mean为0,variance有界,就是噪声不能太大。
例子:证明mean estimation的收敛性
只需要证明该算法是一个特殊的RM算法,就可以间接知道它是收敛的。
改写成nosiy observation的形式,可以知道mean estimation是RM算法的一种特殊形式且它是收敛的。
Stochastic gradient descent
SGD is a special RM algorithm,
and the mean estimation algorithm is a special SGD algorithm.
要解决上图找到最小化J(w)的问题,有多种不同的方法:
GD就是梯度下降的方法,但是前提是求E(X)得有模型。
BGD这个算法就相当于没有模型用数据和大数定律来求。
SGD就是在N个数据中只取一个数据来估计。
如上图所示,给出一个J(w)的例子,书上讨论了GD算法和SGD算法的差异,实际上就是在求E[Wk-X]时取多个数据求期望,还是用单个数据来表示期望。
SGD的收敛性:证明它是一种特殊的RM算法即可
如何求g(w)等于0呢?实际上已经讨论过这个问题,就是用RM算法来逼近w*。根据上图就可以知道这个求解J(w)最小值的问题所使用的SGD实际上就是一个特殊的RM算法。
满足这三个条件,就得到wk必定收敛于使E[f(w,X)]=0的值。
根据书上的证明有这样一个公式:
SGD和GD的区别其实就是用单个stochastic gradient代替true gradient,因此会产生一定的误差,上图用公式表现了这样一个误差。
δ是相对误差,当wk到w的距离很大的时候,相对误差很小,反之很大。这样一个公式证明了在使用SGD算法的初期,相对误差较小,但在后期,wk与w接近时误差会有跳动。但是这
一个很好的性质,可以保证基础的收敛性。
最后讨论这样一个问题:
xi是集合里的数,该集合为x1到xn。已知SGD是随机选取梯度的算法,所以这个问题本质上不是SGD,只要再加一些条件:手动引入random variable,X:
这样该问题就转变成:
也就是SGD问题。
BGD MBGD SGD
对于J(w) = E[f(w,X)]最小化的问题,a set of random samples {xi} of X有以下算法:
BGD使用了所有的随机样本,MBGD从N个中随机抽取了m个随机样本,SGD只抽取了一个。
显示,具体看上方,α = 1/k地方的推导。
三种方法的收敛情况,很明显SGD后期不稳。
MBGD(m=50)最好。
小结
mean estimation解决E(X)的计算问题,RM解决g(w)=0这样的问题,SGD是用梯度最小化EX。
摘录于:https://www.bilibili.com/video/BV1sd4y167NS?p=30&vd_source=35775f5151031f11ee2a799855c8e368