当前位置: 首页 > wzjs >正文

训做网站的心得体会范文百度快照功能

训做网站的心得体会范文,百度快照功能,备案网站名称注意事项,对运营网站有什么见解强化学习 多臂老虎机 prob是概率的意思 老虎机本身的功能需要先设计,就是有k个拉杆,然后每个拉杆有自己的概率,概率是获奖概率。并且我们需要将拉杆个数和获奖概率还有获奖最大概率给统计出来——这些内容构成老虎机类的基本属性。 class Be…

强化学习
多臂老虎机
prob是概率的意思

老虎机本身的功能需要先设计,就是有k个拉杆,然后每个拉杆有自己的概率,概率是获奖概率。并且我们需要将拉杆个数和获奖概率还有获奖最大概率给统计出来——这些内容构成老虎机类的基本属性。


class BernoulliBandit:""" 伯努利多臂老虎机,输入K表示拉杆个数 """def __init__(self, K):self.probs = np.random.uniform(size=K)  # 随机生成K个0~1的数,作为拉动每根拉杆的获奖# 概率self.best_idx = np.argmax(self.probs)  # 获奖概率最大的拉杆self.best_prob = self.probs[self.best_idx]  # 最大的获奖概率self.K = Kdef step(self, k):# 当玩家选择了k号拉杆后,根据拉动该老虎机的k号拉杆获得奖励的概率返回1(获奖)或0(未# 获奖)if np.random.rand() < self.probs[k]:return 1else:return 0np.random.seed(1)  # 设定随机种子,使实验具有可重复性
K = 10
bandit_10_arm = BernoulliBandit(K)
print("随机生成了一个%d臂伯努利老虎机" % K)
print("获奖概率最大的拉杆为%d号,其获奖概率为%.4f" %(bandit_10_arm.best_idx, bandit_10_arm.best_prob))

随后我们开始设计训练流程,强化学习并不是一次性就能训练好的,需要有一个循环,因此我们开始设计循环的框架。至于是如何循环的,和算法有关,因此我们现在先完成外部的框架。

!!!有一点需要注意,我们设计solve类(也就是循环体)的时候,是需要用到老虎机的特性的,也就是说需要用到本老虎机中的一些属性,因此我们可以利用python中的组合特性,在init函数中直接传入一个BernoulliBandit对象(但是不需要和cpp一样标明类型),我们就可以在solve类中用到老虎机的一些属性,这很有用!!!

在这里插入图片描述

除此之外,我们还可以讨论这样设计的合理性,不同类有不同的分工,因此分开设计会有低耦合性。

在这里插入图片描述

class Solver:""" 多臂老虎机算法基本框架 """def __init__(self, bandit):self.bandit = banditself.counts = np.zeros(self.bandit.K)  # 每根拉杆的尝试次数self.regret = 0.  # 当前步的累积懊悔self.actions = []  # 维护一个列表,记录每一步的动作self.regrets = []  # 维护一个列表,记录每一步的累积懊悔def update_regret(self, k):# 计算累积懊悔并保存,k为本次动作选择的拉杆的编号self.regret += self.bandit.best_prob - self.bandit.probs[k] self.regrets.append(self.regret)def run_one_step(self):# 返回当前动作选择哪一根拉杆,由每个具体的策略实现raise NotImplementedErrordef run(self, num_steps):# 运行一定次数,num_steps为总运行次数for _ in range(num_steps):k = self.run_one_step()self.counts[k] += 1self.actions.append(k)self.update_regret(k)

注意懊悔累计函数的设计,当前我们老虎机的奖励是一定的,但是概率不一定,所以懊悔的是概率,也可以将懊悔当做期望来用,所以是最高中奖概率减去当前中奖概率;至于run_one_step函数,和每步的策略相关,这个和具体的算法相关;至于run函数就是在循环过程中顺带记录每次的决策和懊悔值到列表中。

最后我们看看奖励机制,公式是简化了的,为了降低算法复杂度

在这里插入图片描述

http://www.dtcms.com/wzjs/493628.html

相关文章:

  • 现在网站开发用什么语言超级外链发布工具
  • wordpress怎么重新配置文件seo诊断书
  • 临朐网站建设价格100%能上热门的文案
  • 装修平台自己做网站有几个口碑营销策略
  • 关于网站建设毕业论文8000字临沂seo公司
  • 网站开发立项百度关键词排名优化工具
  • 代办公司注册价格百度seo点击工具
  • 网站建设用户需求东莞网络推广培训
  • 如何构成网站seo结算系统
  • 商务网站规划与建设怎么上百度搜索
  • wordpress 病毒式分享百度seo排名
  • 博罗网站建设费用株洲网站建设
  • 可以看网站的浏览器有哪些长春网络优化哪个公司在做
  • 网站建设需要公司windows优化大师下载安装
  • 衡水网站建设优化排名百度号码认证申诉平台
  • 自己建网站 怎么做后台网站营销策略
  • 国外网站空间 月付东莞seo关键词排名优化排名
  • 拿p5.js做的网站十大最靠谱教育培训机构
  • 做网站建设与推广企业网络推广方法怎么做
  • 广州市住房和建设局网站东莞seo优化排名推广
  • 做微商哪个网站有客源香港头条新闻
  • 南昌专门做网站的公司如何做推广最有效果
  • 建协网官方网站贴吧高级搜索
  • 建站国外百元服务器对网站进行seo优化
  • 北京网站建设公司招聘软文营销软文推广
  • 怎么在自己的网站上传视频怎样把个人介绍放到百度
  • 不锈钢餐具做外贸哪个网站好十大app开发公司排名
  • 微信上如何创建小程序河南优化网站
  • 网站建设中招聘页面源码网络推广方案
  • 网站建设及推广好学习吗引流推广