强化学习基础

1.什么叫强化学习

  • 强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决 decision making 问题,即自动进行决策,并且可以做连续决策。
  • Agent通过和环境互动,来学习采取何种动作能使其在给定环境中的长期奖励最大化。
  • 判断序列决策到底是不是强化学习?关键在于决策放到环境里面执行以后,是否会改变这个环境。

2.与其它方法的区别

  • 强化学习与监督学习
    • 处理的数据不同: 监督学习的数据是特征和label; 强化学习的数据是基于时间的序列数据,没有label,只有reward。 reward有延时,不是立即返回的,且能提供的reward极少。
    • 解决的问题不同:强化学习解决的主要是决策问题;监督学习解决的更多是感知问题。
    • 学习方式不同: 强化学习是agent自己去学习,可以自己博弈来生成样本,还可以融合监督学习来训练; 监督学习是跟着programmer的idea在收敛。
  • 强化学习与无监督学习
    • 在强化学习中,有一个从输入到输出的映射。这种映射在无监督学习中并不存在。
    • 在无监督学习中,主要任务是找到数据的模式而不是映射。
  • 强化学习与动态规划
    • 对环境的认知程度不同。动态规划中的状态转移,即时奖励都是已知的;强化学习都需要自己去探索。
    • 问题的解不同。规划问题得到的是一个解或一个路径;强化学习得到的是一个模型。

3.强化学习的基本原理

  • 几个概念
    State:当前环境所处的状态
    Reward:通常只有在完整动作序列执行完才发生/ R_t /标量
    Action:在每一个 state 中,agent 可以采取的动作
    Policy:agents在特定的时间特定的环境下的行为方式,可以视为是从环境状态到行为的映射
    Value function:Reward定义的是立即的收益,而value function定义的是长期的收益,它可以看作是累计的reward。分为状态价值函数和动作价值函数。
  • 强化学习解决的问题是:针对一个具体问题得到一个最优的policy,使得在该policy下获得的Value function最大。
  • 输入输出
    输入:state,actions,rewards
    输出:policy

4.算法分类

  • 根据是否理解环境
    • Model-free:不尝试去理解环境, 环境给什么就是什么,一步一步等待真实世界的反馈, 再根据反馈采取下一步行动。
    • Model-based:先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈,通过想象来预判断接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略。
  • 根据基于概率还是价值行动
    • Policy based:通过感官分析所处的环境, 直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。
    • Value based:输出的是所有动作的价值, 根据最高价值来选动作,这类方法不能选取连续的动作。
  • 根据更新频率
    • Monte-carlo update:游戏开始后, 要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新行为准则。
    • Temporal-difference update:在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习了。
  • 根据策略是否一致
    • On-policy:必须本人在场, 并且一定是本人边玩边学习。评估的策略和优化的策略是同一个。
    • Off-policy:可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则。评估的策略和优化的策略不是同一个。意味着优化策略使用来自外部的模拟数据。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Jinger_sunny/article/details/81132510
今日推荐