Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习

# 有一定基础的读者可以直接看第二部分

Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。

标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ> 表示,其中:

  • S是一个离散有界的状态空间;
  • A是一个离散的动作空间; 
  • P为状态转移概率函数,表示agent在状态s下选取动作a后转移到a'的概率;
  • R为回报函数,用于计算agent由当前状态 选取动作 后转移到下一状态 得到的立即回报值,由当前状态和选取的动作决定,体现了马尔科夫性的特点;
  • γ是折扣因子,用于确定延迟回报与立即回报的相对比例, 越大表明延迟回报的重要程度越高。

马尔科夫决策问题的目标是找到一个策略 ,使其回报函数 的长期累积值的数学期望

 

最大。其中,策略π只和状态相关,与时间无关(静态的)。  是t时刻的环境状态, t时刻选择的动作。

根据Bellman最优准则,得到最优策略 对应的最优指标为:

其中, R(s,a)为r(st,at)的数学期望, 为在状态s下选取动作a后转移到下一状态状态s'的概率。由于某些环境中状态之间的转移概率P不容易获得,直接学习 是很困难的,而Q学习不需要获取转移概率P,因而可用来解决此类具有马尔科夫性的问题。

Q学习是一种与环境无关的算法,是一种基于数值迭代的动态规划方法。定义一个Q函数作为评估函数:

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值