强化学习的知识储备【不断更新】

强化学习的知识储备:

都为笔者自己理解,加上笔者刚接触这个领域不久,因此可能存在理解偏差,希望可以和大家多多讨论,写这个知识储备的目的就是记录一下自己常用的知识,便于回顾以及查找。毕竟自己记录的知识,回顾起来自己写的什么意思最容易理解。

1. Behavior Policy(行为策略 )和Target Policy(目标策略)
  • Behavior Policy: 行为策略是用来与环境互动产生数据的策略 , 即在训练过程中做决策 。例如智能体不断的与环境交互,更新Q表格中的Q值。

  • Target Policy: 在行为策略产生的数据中不断学习、优化,即学习训练完毕后拿去应用的策略。 也就是智能体根据Q表格中的数据进行学习,判断在每个状态下发起什么动作。

2. exploitation(利用) 和 exploration (探索)
  • exploitation:利用就是根据已有的经验去取得最大回报。比如,附近有十家餐馆,你已经去过里边的七家了,你知道这七家中红烧排骨最好吃,所以你会根据已有经验去吃红烧排骨,也不会去尝试另外的三家餐馆。这样是局部最优解。

  • exploration :探索是指做你以前从来没有做过的事情,以期望获得更高的回报。 这时候你就要去尝试剩下的三家餐馆,看看有没有更好吃的菜,去寻找全局最优解。

3. 贪婪策略和e-greedy贪婪策略
  • 贪婪策略:是一个确定性的策略,每一次都选择回报价值最大的那个策略。
\[\pi (a|s)= \begin{cases} 1, & \text if \ a = max_a Q(s,a) \\ 0, & \text{otherwise} \end{cases} \]
  • e-greedy贪婪策略:是一个不确定性的策略,平衡了利用和探索,其中选取动作值函数最大的部分为利用,仍有概率去寻找全局最优解为探索部分。令e=0.1,也就是有1-0.1=0.9的概率是利用,有0.1的概率是探索。也就是选择当前最大回报的概率是0.9,去寻找全局最优解进行探索的概率是0.1.
\[\pi (a|s)= \begin{cases} 1-e, & \text if \ a = max_a Q(s,a) \\ e, & \text{otherwise} \end{cases} \]
4. On-Policy(Sarsa)&Off-Policy(Q-learning)
  • On-Policy:典型的算法就是Sarsa,获取数据的动作和最终策略的动作是一致的。
# Sarsa 算法
initialize Q(s,a) randomly
for each episode:
    initialize state s;
    choose action a from s using ε-greedy strategy;
    while s is not terminal:
        observe reward r and next state s';
        choose a' from s' using ε-greedy strategy;
        Q(s,a) = Q(s,a) + α[r + γ*Q(s',a') - Q(s,a)];
        s = s', a = a';
  • Off-Policy : 典型的算法就是Q-learning,获取数据的动作和最终策略的动作不一定一致,是因为有一个随机的概率去选择探索全局最优解。
# Q-learning 算法
initialize Q(s,a) randomly
for each episode:
    initialize state s;
    while s is not terminal:
        choose action a from s using ε-greedy strategy;
        observe reward r and next state s';
        Q(s,a) = Q(s,a) + α[r + γ*maxQ(s',a') - Q(s,a)];
        s = s';

总结:两个算法的主要区别就是在倒数第二行Q值更新那里,Q-learning在计算下一状态的预期收益时利用了max操作,也就是直接选择下一状态的最优动作,获取最大回报。但是实际过程中因为有e-greedy策略,有小概率选择探索,不会去选择当前最优的动作,所以学习时的policy和生成样本的policy不一定相同,为off-policy算法。Sarsa则是直接选择下一次动作去执行,就算下一步是选择探索,并且掉进了悬崖(迷宫问题,掉进悬崖就给一个负的reward),它也会去执行,会把悬崖附近的Q值更新为负的,因此在迷宫问题中,它会离悬崖远远的。因为学习时的policy和预测时的policy一致,因此为on-policy

强化学习是一种机器学习的分支,其主要的研究方向是如何让机器在与环境的交互中学习到最优的行为策略。强化学习的方法主要可以分为以下几类: 1. 基于值函数的方法:这类方法主要是通过学习一个值函数来评估不同的策略的优劣程度,并选择值函数最大的策略作为最优策略。代表算法包括 Q-learning 和 SARSA 等。 2. 基于策略的方法:这类方法主要是通过直接学习一个策略函数来实现最优行为的选择。代表算法包括 Policy Gradient 和 Actor-Critic 等。 3. 基于模型的方法:这类方法主要是通过学习环境模型,来预测环境的下一步状态以及奖励,从而进行最优行为的选择。代表算法包括 Model-Based Reinforcement Learning 和 Dyna 等。 对于学习强化学习的路线,建议从以下几个方面入手: 1. 学习基础数学知识强化学习涉及到很多概率论、统计学和最优化等基础数学知识,因此需要有一定的数学基础。 2. 学习强化学习的基本原理和算法:建议先学习一些经典的强化学习算法,如 Q-learning、SARSA、Policy Gradient 等,并了解其原理和应用场景。 3. 实践应用:学习算法和原理的同时,要进行实践操作,尝试在各种环境中运用不同的强化学习算法。 4. 拓展应用:在掌握基本算法的基础上,可以学习一些深度强化学习、分层强化学习、多智能体强化学习等拓展应用。 总之,学习强化学习需要较为全面的知识储备和实践经验,需要不断地学习和实践,才能够达到较高的水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gy-7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值