1 Star 0 Fork 0

杜恩运 / R_L

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

R_L

project1

实验环境:

冰湖环境(来自gym直接引用)

实验方法:

价值迭代

实验运行结果:

target_policy: [0. 3. 3. 3. 0. 0. 0. 0. 3. 1. 0. 0. 0. 2. 1. 0.]


project2

实验环境:

blackjack(来自gym的直接引用)

实验方法:

TD(1) 首次访问蒙特卡洛算法
(使用Q_table储存状态动作价值,使用epsilon-greedy探索方法,并且epsilon会随着episode的增多而减少)

参数设计:

1.首次访问蒙特卡洛算法:

gamma=1.0, initial_epsilon=0.1,delta=0.000001
折扣因子:1.0;
初始的epsilon:0.1;
随着episode的增多,epsilon的该变量:0.000001:即episilon=0.1-0.000001*episode
episode次数:100000

2.TD(1)算法:

gamma=1.0, initial_epsilon=0.1,delta=0.000001,alpha=0.8
折扣因子:1.0;
初始的epsilon:0.1;
随着episode的增多,epsilon的该变量:0.000001:即episilon=0.1-0.000001*episode
变化系数:0.8
episode次数:100000

实验结果:

1.首次访问蒙特卡洛算法:

随着训练的episodes增加,Q表的改变量展示为折线图(|Q_new-Q_old|,当其趋近于0的时候,说明Q表收敛):
MC
我们可以观测到,在episode的次数增大是Q表的改变量开始减少最后趋于零,说明最后Q表收敛。
训练得到Q表后,根据Q表进行测试5000次
the number of win:1402
the number of equal:232
the number of lose:3366

2.TD(1)算法:

随着训练的episodes增加,Q表的改变量展示为折线图(|Q_new-Q_old|,当其趋近于0的时候,说明Q表收敛):
输入图片说明
我们可以观测到,在episode的次数增大是Q表的改变量开始减少最后趋于零,说明最后Q表收敛。
训练得到Q表后,根据Q表进行测试5000次
the number of win:1941
the number of equal:231
the number of lose:2828


project3

实验环境:

Cliffwalking(从已有模块中直接调用,方便修改掉下悬崖的reward)

实验方法:

Q_learning和Sarsa

参数设计:

learning_rate = 0.1,
gamma = 0.9,
epsilon = 0.1

实验结果:

1.Q_learning

我在训练的过程中,画出了三个图,分别是:

episode数与每次训练的总reward:

episode-total_reward

episode数与每次训练的step数:

episode-steps

episode数与|Q_new-Q_old|(当其趋于零时,说明Q表收敛):

episode-loss

测试时,我们发现,agent会选择最佳的路线,即沿着悬崖边走的路线,Reward=-13
在将掉下悬崖的reward从-100改为-10或-10000后,agent依然是选择沿着悬崖边走的路线,Reward=-13
经过多次调节Reward后,我们发现,在Q_learning方法下, 掉下悬崖的Reward只要小于零,即使其改变,agent选择的路线(Reward=13)都不会有改变 。Reward=-13

2.Sarsa

我在训练的过程中,画出了三个图,分别是:
episode数与每次训练的总reward:

episode-total_reward

episode数与每次训练的step数:

episode-steps

episode数与|Q_new-Q_old|(当其趋于零时,说明Q表收敛):

episode-loss

测试时,我们发现,agent会选择相对安全的一条路走向终点(远离悬崖)Reward=-17;偶尔会得到Reward=-15的相对于危险的路径。
将掉下悬崖的reward从-100改为-10后,agent偏向只会选择靠近悬崖的路线到达终点 Reward=-15;Reward=-13。
经过多次改变调节,我们发现,在Sarsa方法中, 当我们把掉下悬崖的Reward调的越大,agent选择的路径会越来越靠近悬崖 。Reward=-17 ——> Reward=-13

空文件

简介

project of R_L 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/du_en_yun/r_-l.git
git@gitee.com:du_en_yun/r_-l.git
du_en_yun
r_-l
R_L
master

搜索帮助