MC和TD的方差分析
- MC
- 方差大,偏差小
- TD
- 偏差大,方差小
- 理解:
- 与模型训练类似,方差与偏差是指同一个模型(bagging中所有模型共同组成一个模型)的输出是随着数据集/时间变化的
- 方差大表达的是多次评估结果之间差别大
- 偏差大则表示多次评估结果的均值与真实值差别大
- MC采样每次都需要重新采样不同路径集合,在不同路径集合下,相同状态价值的评估结果差别大,但是结果的期望是符合真实情况的(甚至是无偏的)
- TD方案则每次都使用下一个状态的相关估值,方差不会太大,但是下个状态的估值不一定符合真实值,所以偏差较大
- 参考链接:
Multi-Step TD
- Multi-Step TD,也称为n-step TD
- 将TD中的即时奖励替换成采用未来多个时间片的奖励和,同时\(\gamma V(s_{t+1})\)值替换成\(\gamma^n V(s_{t+n})\)
- 详情如下:
\(\lambda\)-return
- \(\lambda\)-return是在Forward视角下,对n-step TD的各个值进行加权求和
$$
G^{\lambda}_t = (1-\lambda) \sum^{N-1}_1 G_t^{(n)} + \lambda^{N-1} G_t^{(N)}
$$ - 其中 \(0\le \lambda \le 1\),当 \(\lambda=0\)且\(N=1\) 即为TD算法,当\(\lambda=1\)即为MC算法。
- 注意:\((1-\lambda)\)是为了配平整个式子,保证加权平均的权重和为1
TD(\(\lambda\))
- TD(\(\lambda\))方法是在Backward视角下,对n-step TD的各个值进行加权求和
- TD(\(\lambda\))可以解决\(\lambda\)-return需要等到episode结束才能获得状态估计量的缺点?
- 资格迹【TODO】: