强化学习笔记——第五节

第五节——随机近似理论

1.求平均数

w k + 1 = w k − 1 k ( w k − x k ) w_{k+1}=w_{k}-\frac{1}{k}(w_k-x_k) wk+1=wkk1(wkxk)

其中 w k + 1 , w k w_{k+1},w_k wk+1,wk表示当前状态的平均值(k),和前一个状态的平均值(k-1), x k x_k xk表示第k个数

该式子表示了当前平均数与下一个平均数之间的关系

1 k \frac{1}{k} k1替换为 α k \alpha_k αk就得到一个一般化的式子
w k + 1 = w k − α k ( w k − x k ) ,    α k > 0 w_{k+1}=w_{k}-\alpha_k(w_k-x_k), \ \ \alpha_k > 0 wk+1=wkαk(wkxk),  αk>0
此时 w k w_k wk依然趋近于原平均值,该式是一个特殊的RM算法

2.RM(Robbins-Monro) Algorithm(随机逼近算法)

核心目标就是寻找一个 未知表达式函数的零点,这个函数必须是递增的
w k + 1 = w k − a k g ~ ( w k , η k ) , k = 1 , 2 , 3 , . . . w_{k+1}= w_k - a_k \widetilde{g}(w_k,\eta_k),k=1,2,3,... wk+1=wkakg (wk,ηk),k=1,2,3,...

其中,

  • w k w_k wk表示对零点的第k次估计
  • g ~ ( w k , η k ) = g ( w k ) + η k \widetilde{g}(w_k,\eta_k)=g(w_k)+\eta_k g (wk,ηk)=g(wk)+ηk表示带有噪音的一个观测(即观测值含有噪声)
  • a k a_k ak>0,称为步长,控制迭代的速度

该算法并不知道 g ( w ) g(w) g(w)到底是什么(即是一个黑盒),算法依赖于以下数据

  • 输入的 { w k } \{w_k\} {wk}序列
  • 测量到的 { g ~ ( w k , η k ) } \{\widetilde{g}(w_k,\eta_k)\} {g (wk,ηk)}的值序列

3.SGD(Stochastic gradient descent)随机梯度下降

SGD解决的问题

min ⁡ w J ( w ) = E [ f ( w , X ) ] \min_w J(w) = \mathbb{E}[f(w,X)] wminJ(w)=E[f(w,X)]

  • 优化参数w使目标函数J(w)达到最小
  • X是随机变量,期望是对于X的

求解以上问的方法

  • 方法1:梯度下降gradient descent(GD)
    w k + 1 = w k − α k ∇ w E [ f ( w k , X ) ] = w k − α k E [ ∇ w f ( w k , X ) ] w_{k+1} = w_{k} - \alpha_k \nabla_w \mathbb{E}[f(w_k,X)]=w_{k} - \alpha_k \mathbb{E}[\nabla_wf(w_k,X)] wk+1=wkαkwE[f(wk,X)]=wkαkE[wf(wk,X)]
    其中, ∇ w \nabla_w w表示后面跟着的函数的梯度, α k \alpha_k αk表示步长,控制梯度方向下降的快慢

    问题:难以求出梯度的期望

  • 方法2:批量梯度下降Batch gradient descent(BGD)

    由数据得到,对随机变量X进行采样 x i x_i xi
    E [ ∇ w f ( w k , X ) ] ≈ 1 n ∑ i = 1 n ∇ w f ( w k , x i ) w k + 1 = w k − α k 1 n ∑ i = 1 n ∇ w f ( w k , x i ) \mathbb{E}[\nabla_wf(w_k,X)]\approx \frac{1}{n}\sum^n_{i=1}\nabla_wf(w_k,x_i) \\ w_{k+1} = w_{k} - \alpha_k\frac{1}{n}\sum^n_{i=1}\nabla_wf(w_k,x_i) E[wf(wk,X)]n1i=1nwf(wk,xi)wk+1=wkαkn1i=1nwf(wk,xi)

  • 方法3:SGD
    w k + 1 = w k − α k ∇ w f ( w k , x i ) w_{k+1} = w_{k} - \alpha_k\nabla_wf(w_k,x_i) wk+1=wkαkwf(wk,xi)
    其中, x k x_k xk为X的一个随机采样

    • 对比于GD,将真正的梯度 E [ ∇ w f ( w k , X ) ] \mathbb{E}[\nabla_wf(w_k,X)] E[wf(wk,X)]换成随机梯度 ∇ w f ( w k , x i ) \nabla_wf(w_k,x_i) wf(wk,xi)
    • 对比于BGD,令n=1,表明只采样1次

4.BGD、MBGD和SGD的比较

w k + 1 = w k − α k 1 n ∑ i = 1 n ∇ w f ( w k , x i ) ( B G D ) w k + 1 = w k − α k 1 m ∑ j ∈ I k n ∇ w f ( w k , x i ) ( M B G D ) w k + 1 = w k − α k ∇ w f ( w k , x i ) ( S G D ) w_{k+1} = w_{k} - \alpha_k\frac{1}{n}\sum^n_{i=1}\nabla_wf(w_k,x_i) (BGD) \\ w_{k+1} = w_{k} - \alpha_k\frac{1}{m}\sum^n_{j\in\mathcal{I}_k}\nabla_wf(w_k,x_i) (MBGD) \\ w_{k+1} = w_{k} - \alpha_k\nabla_wf(w_k,x_i)(SGD) wk+1=wkαkn1i=1nwf(wk,xi)BGDwk+1=wkαkm1jIknwf(wk,xi)MBGDwk+1=wkαkwf(wk,xi)SGD

  • BGD用了所有的采样,MBGD用所有采样中的一小部分,SGD随机用采样中的一个数据
  • 相比于SGD,MBGD的随机性小于SGD
  • 相比于BGD,MBGD随机性要大一些,要更加灵活和高效

本文代码

4_SGD(github.com)
4_SGD(gitee.com)

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值