强化学习基础篇(五)动态规划之策略迭代(1)

强化学习基础篇(五)动态规划之策略迭代(1)

1、如何改善策略(How to improve a policy)

上节中我们讨论了如何使用贝尔曼期望方程进行策略估计,并没有对策略进行改进,而如果我们要解决控制问题,而不是预测问题的话,对策略进行改进是必要的,我们希望去找到某个问题的最优策略。其基本思想如下所示:

  • 第一步:在一个给定的策略下迭代更新价值函数:

  • 第二步:在当前策略基础上,根据​贪婪地选取行为,使得后继状态价值增加最多:

对于较小的格子世界(GridWorld)问题,基于给定策略的价值迭代最终收敛得到的策略就是最优策略,即 ​;

但是通常来说,我们需要更多的估计(evaluation/改进(improvement)迭代(即我们给出一个初始策略,估计其值函数至接近真实值,然后利用贪婪方法得到改进的策略,接着对改进后的策略进行估计,如此反复)。尽管如此,我们的策略迭代方法总能收敛到最优策略​。

2、策略迭代(Policy Iteration)

策略迭代的过程可以如下所示:

image.png

分为策略评估(Policy evaluation)和策略改进(Policy improvement)两个步骤。

  • 策略评估(Policy evaluation):根据策略​迭代式地计算值函数​。

  • 策略改进(Policy improvement):使用贪婪策略不断提升策略,使得​。

细节描述如下:

a、我们随机初始化一个值​以及策略​

b、通过策略评估求得当前策略下的值函数​

c、使用贪婪策略提升策略,​

d、基于新的策略​计算值函数​,使得​函数与新策略一致

......

反复执行上面的过程,最终得到最优策略​ 和最优状态价值函数​。

这个过程本质上就是使用当前策略产生新的样本,然后使用新的样本更好的估计策略的价值,然后利用策略的价值更新策略,然后不断反复。理论可以证明最终策略将收敛到最优。

3、策略迭代在杰克租车问题(Jack's Car Rental)中的示例

3.1、问题描述:

Jack有两个租车点(1号租车点和2号租车点)提供汽车租赁,由于不同的店车辆租赁的市场条件不一样,为了能够实现利润最大化,每天夜里,Jack可以在两个租车点间进行车辆调配,以便第二天能最大限度的满足两处汽车租赁服务。

问题即寻找最优的车辆调配策略。

3.2、已知条件:

状态空间:1号租车点和2号租车点,每个地点最多20辆车供租赁

行为空间:每天下班后最多转移5辆车从一个租车点到另一个租车点

即时奖励:Jack每租出去一辆车可以获利10美金,但必须是有车可租的情况,不考虑在两地转移车辆的支出

转移概率:租出去的车辆数量(​)和归还的车辆数量(​)是随机的,但是服从泊松分布​。

  • 对于1号租车点:向外出租服从​的泊松分布,回收也服从​的泊松分布

  • 对于2号租车点:向外出租服从​的泊松分布,回收服从​的泊松分布

折扣因子​: ​

3.3、问题分析:

  • 每个租车点最多20辆车,那么状态数量就是​个。

  • 最多调配5辆车,即动作集合为:

    其中么个动作元素表示为(1号租车点出入车辆,2号租车点出入车辆),正负号分别表示“入”和“出”。

3.4、求解过程:

“1号租车点有10辆车”收益分析:

考虑状态“1号租车点有10辆车”的未来可能获得收益,需要分析在保有10辆车的情况下的租车(Rent)与回收(Return)的行为。计算该状态收益的过程实际上是,另外一个动作策略符合泊松分布的马尔可夫决策过程。

将1天内可能发生的Rent与Return行为记录为[#Rent #Return],其中“#Rent”表示一天内租出的车辆数,“#Return”表示一天内回收的车辆数,设定这两个指标皆不能超过20。

假设早上,1号租车点里有10辆车,那么在傍晚清点的时候,可能保有的车辆数为0~20辆。如果傍晚关门歇业时还剩0辆车,那么这一天的租收行为​可以是:

Rent与Return是相互独立的事件且皆服从泊松分布,所以要计算某个行为出现的概率直接将​与 ​相乘。

但这里要计算的是条件概率,即为​,所以还需要再与傍晚清点时还剩0辆车的概率​相除。

各个租收行为所获得的收益是以租出去的车辆数为准,所以当傍晚还剩0辆车时,这一天的收益期望可以写为:

其中,​也可以写为:

在计算出矩阵​后,再进行加权平均,即可得到状态“1号租车点有10辆车”的奖励期望​:

两个租车点,所有的状态按上述方法计算后,即可得出两个租车点的奖励矩阵​。

在计算出奖励矩阵后,这个问题就变成了bandit问题的变种,bandit问题是一个动作固定对应一个未来的状态,而这里虽然也是这样,不过所对应的状态却要以当前状态为基础进行计算得出,还是有些不同,所以称为bandit问题的一个变种。

3.5、算法流程:

策略改进(Policy improvement)是将已有的动作选择策略​和值函数​矩阵带入与最优值进行比较,从而将 ​更新为最优。

策略改进(Policy improvement):

a、初始化 ​ 矩阵,将计算好的​ 矩阵与策略​带入状态循环中(每一个状态计算一遍) b、将当前状态转变为1号与2号租车点的保有车辆数[#Car1 #Car2] c、带入动作集合计算找出可能的未来状态​与可执行的动作Possible Action d、计算​矩阵:

e、用策略 ​ 与​所在的动作进行比较,若是不符则令一个flag:Policy_Stable = False

策略评估(Policy evaluation)+ 策略改进(Policy improvement)

a、计算奖励矩阵,初始化​矩阵与​矩阵 b、判断Policy_Stable是否为False,如为True则输出结果​,如为False则进入迭代循环过程。 c、令Policy_Stable = True d、执行Policy-Evaluation算法 e、执行Policy-Improvement算法,得到Policy_Stable的结果,返回第b步

3.6、结果:

下面这幅图表示出了策略迭代的过程,直到第5次迭代,动作策略最终稳定为最优策略。横轴表示2号租车点的车辆保有量,纵轴表示1号租车点的车辆保有量,正负号分别表示从1号调出车辆到2号,从2号调出车辆到1号。

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335