RL中的back up是什么意思呢?google了一圈也没搜出来,后来在Sutton的书中找到了。

AI的本质是search,RL可以看成一棵树,每一个node是某一个state或action,每一层表示一个时刻t,则下一层表示t+1.从根,也就是s0,走到target state的叶子结点,就完成了一个episode,每走一步就是一个step,那么back up是什么呢?

Bellman function Vπ(s)表示的是agent在状态s下,以π这个策略,得到的平均累积回报是多少,策略是什么呢?就是在一个状态下应该采取什么action,可以是deterministic,也可以是probabilistic的,因为存在P(s'|s,a),所以才有π(a|s),否则直接定义π(s0)={a0,a1,a2,...,an}即可。不确定性造成了AI的难度。

                                     (式1)

st表示t时刻的状态,st+1表示t时刻,s状态下,执行a后,t+1时刻agent的状态,也就是t+1时刻状态的value会影响t时刻状态的value,这就是backup。

V(s)<-V(s)+α(V(s')-V(s))

用greedy move后的状态的value去update原来state的value,称为backup,原来状态的现在的value和s'的value更相近,

式1就是大名鼎鼎的bellman equation,终极目的就是把它解出来,当然是最快的,矩阵形式:


  (式2)

qπ(s,a)表示的是在(s,a)这个状态,动作对,之后执行π策略得到的累积回报的期望,gamma是衰减因子,好像和value function差不多。

接着讲一下Q learning。

(式3)

式3表示的就是Q learning,和式1的形式很像呀,也可以体现backup,那backup和converge有什么关系呢?

(式4)

如果learned value=old value,那么Q value就收敛了。

继续学习一下value iteration和Q learning的关系:

value iteration:

Q learning应该是value iteration的一种,但是Q learning是model free的,也就是不知道转移概率T,应该是现实中大多情况都是model free的,而value iteration是知道转移概率T的。这应该也可以算作Q learning和MDP的区别。

Q learning是RL的一种,RL是P和R都未知,想得到policy,MDP是<S,A,P,R,gamma>都已知。

policy reuse 那篇论文中的实验可能不是严格的MDP,因为它在每一步都引入噪声(x,y coordinate +random value),这个噪声会累积,所以不是Markov.

顺便学习一下policy iteration:

policy iteration 分为两步,先进行policy evaluation,再进行policy improvement。policy evaluation是什么呢?就是第一个公式,在给出policy时,让你求value function。上面用解线性方程的办法,也可以用迭代的办法

那么在reuse past policy的过程中没有进行policy evaluation,因为它本质是value iteration,Q learning。

policy improvement是根据新得到的value function,再得到新的policy。就是policy iteration中的第二个公式。

policy iteration是对policy进行更新,value iteration是对value进行更新;policy iteration循环到policy不变了,value iteration循环到policy is good enough。good enough这个词就很有意思了。他们都属于DP方法。除此之外还可以用线性规划法,MC Tree等等。那他们哪个的收敛速度快呢?

规模比较小的 MDP: 策略一般能够更快地收敛。
规模很大(状态很多)MDP:值迭代比较容易(不用求线性方程组)。

线性规划和动态规划都是精确求解,异步动态规划是近似解法。

back up与converge相关推荐

  1. glm.fit Warning Messages in R: algorithm didn’t converge probabilities 0/1

    glm.fit Warning Messages in R: algorithm didn't converge & probabilities 0/1 # 仿真数据 set.seed(652 ...

  2. sklearn警告:ConvergenceWarning: lbfgs failed to converge (status=1):

    问题 这个警告是训练逻辑回归模型的时候出来的. model=LogisticRegression() train_model("logistic regression",model ...

  3. 解决在使用numpy.polyfit 时出现的 raise LinAlgError(“SVD did not converge in Linear Least Squares“)错误

    numpy.linalg.svd converge #测试talib模块 import talib import numpy as np import pandas as pd import matp ...

  4. 成功解决ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED L

    成功解决ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED L ...

  5. 成功解决coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to inc

    成功解决coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to inc ...

  6. 【Python】处理ConvergenceWarning: lbfgs failed to converge (status=1):STOP: ...

    又是红了一大片: D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\linear_model_logistic.p ...

  7. 【机器学习】`ConvergenceWarning: Liblinear failed to converge, increase the number of iterations`问题记录

    项目场景:机器学习SVC进行训练 手游用户流失预测 问题描述 利用LinearSVC进行训练时,报错: ConvergenceWarning: Liblinear failed to converge ...

  8. 【预训练GAN】Projected GANs Converge Faster

    收敛更快的投影GAN PDF:https://www.cvlibs.net/publications/Sauer2021NEURIPS.pdf Supplementary :https://www.c ...

  9. :762: ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED

    目录 问题描述 原理 问题解决 问题描述 D:\PyCharm\machine_learning_py_codes\venv\lib\site-packages\sklearn\linear_mode ...

  10. 逻辑回归报错解决方案ConvergenceWarning: lbfgs failed to converge

    最近有多名学员反馈执行逻辑回归代码后logist=LogisticRegression()报错,错误提示如下: Anaconda3\lib\site-packages\sklearn\linear_m ...

最新文章

  1. BM22 比较版本号
  2. echarts热力背景图_Echarts 图表中设置背景图片
  3. 常见排序算法(C实现)
  4. Qt文档阅读笔记-Custom Items Example解析
  5. PLSQL创建用户及权限分配
  6. 统计挖掘那些事(六)——强大的逻辑回归(理论+案例)
  7. 图片命名html,网页切图div+css命名规则
  8. Fedora 9安装vmware tools解决方案
  9. java如何对一个表达式开根号_java实现开根号的运算
  10. wireshark抓包分析怎么看进程_教大家wireshark抓包数据怎么看
  11. java打开教程,jar文件打开教程
  12. eclipse debug 多线程
  13. 计算机网络里面ap是什么,网络ap是什么意思
  14. CUE 文件及其格式说明
  15. Android 自定义锁屏图案 View
  16. GPS基带P码处理总结——P码处理的要素及方法
  17. 【Unity入门教程】 第八章 人工智能【中国大学MOOC游戏引擎原理及应用】
  18. 如何使用select()函数
  19. 在codesys中通过EtherCAT总线驱动IO模块
  20. echarts 数据区域缩放

热门文章

  1. 爬虫状态码412状态
  2. 在Linux下使用“360随身WiFi 2”
  3. MySQL 更新执行的过程
  4. SpringSecurity整合OAuth2.0
  5. Python学习之路 (五)爬虫(四)正则表示式爬去名言网
  6. 技术前沿与经典文章34:杨振宁国科大演讲全文版
  7. Golang import 包问题相关详解
  8. N95口罩的测试用例
  9. 打包报错:Multiple chunks emit assets to the same filename static/js/chunk-6c337256.33476c81.js
  10. 转行设计师肺腑之言:离开建筑设计行业的9大理由