没有合适的资源?快使用搜索试试~ 我知道了~
摇臂硬币机-强化学习源代码及其注解(matlab).docx
需积分: 50 5 下载量 115 浏览量
2021-01-28
12:58:11
上传
评论 3
收藏 14KB DOCX 举报
温馨提示
试读
3页
摇臂硬币机-强化学习(greed贪心算法,softmax更新算法)
资源详情
资源评论
资源推荐
function v=R(n,i)
%计算奖赏
%n:摇臂个数
%i:所选摇臂
%v:奖赏
if rand()<(i-1)/n%产生一个随机数在 0 到 1 之间,然后以这个随机数为概率得到回报。
回报非 0 即 1.(i-1)/n 为不同赌博机活得 1 的概率,这个在本处假设是为止但真实存在的参
数。强化学习的目的就是估算它。
v=1;
else
v=0;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
function av=explore(n,k)
%仅探索
%n:摇臂个数
%k:试验次数
%av:平均累积奖赏序列
V=0;av=[];
for e=1:k
i=unidrnd(n);%产生从 1 到 N 所指定的最大数数之间的离散均匀随机整数,即随机选
择一台赌博机进行探索
V=V+R(n,i);%累加
av=[av,V/e];%不断存储新的平均奖励
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
function av=greed(n,k,ep)
%贪心法
%n:摇臂个数
%k:试验次数
%ep:探索概率,人为设定的
%av:平均累积奖赏序列
V=0;av=[];
for e=1:k
if e==1||rand()<ep%||表示逻辑运算或,满足该条件时,进行探索。且第一次实验
必须为探索实验
i=unidrnd(n);%随机取第 i 台读博机进行探索
else
for j=1:n
a(j)=mean(v(ii==j));%ii==j 为找到使用过 j 号赌博机时为第几号实验(从 ii 中
Dr_ZhangL
- 粉丝: 8
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0