0、为什么免模型学习?
PS:课程中迭代的值是值函数;周志华老师的西瓜书中迭代的是状态值函数;课程中迭代的是状态-动作值函数
1、蒙特卡洛方法:直接通过采样求和(v(s) = S(s)/n(s),其中S(s) = S(s) + G(t),G(t)=r(t+1)+r(t+2)+...)
1.1、蒙特卡洛增量计算方法(v(s) = v(s) + a*(G(t)))
2、TD算法 (v(s) =)
3、MC和TD的比较
1)TD在线实时学习;MC只能批量学习
2)TD不要完整的序列,不需要知道完整的结果;MC相反
3)TD计算工程中,用部分数据估计V,是有偏的;return(MC)公式是无偏的;return(MC)随机性强,方差大;TD随机性弱,方差小
4)MC对初始值不敏感;对于函数近似也会收敛;TD对初始值敏感,对函数近似未必收敛
5)TD效率高,收敛快;MC收敛性好
6)MC向着最小二乘收敛;TD向MDP收敛
7)TD探索马尔科夫性,在马尔科夫环境更有效;MC不探索马尔科夫性,在非马尔科夫环境更有效
4、DP/MC/TD的比较
1)自举:MC不自举;DP/TD自举(自举:不以真实的最终反馈为目标,而是以间接的中间结果为目标)
2)采样:MC/TD采样;DP不采样
5、统一讨论三种方法
从是否自举和backup数考虑:
1)只使用sample backup值,自举,是TD
2)只使用sample backup值,不自举,是MC
3)使用full backup值,自举,是DP
4)使用full backup值,不自举,是穷举搜索
6、TD(n)是TD和MC的融合:TD(0)是n=1,向前看一步;TD(无穷)是看到结束
7、TD(lambda)是TD(0)/TD(1)/TD(2)的加权组合;这样TD算法会更加鲁棒
8、TD(lambda)的后向算法和资格迹