bandit算法(3)--UCB算法
来源:互联网 发布:新发行的人工智能基金 编辑:程序博客网 时间:2024/05/22 13:14
引言
前面已经介绍了两种bandit算法—
- 两种算法在每一轮选择时,默认都是选择到目前为止最好的臂;
除此之外,算法会尝试去探索一些目前看起来不是最好的臂:
-ϵ -greedy算法探索的时候完全是随机的。
-softmax算法探索是基于到当前时刻臂的收益概率。收益概率越高,选择的概率越高。两种算法都能够通过随着时间动态修改基本参数来实现更好的性能。
这种随机性,或者仅仅考虑收益回报的算法有一个很明显的缺点就是健壮性比较差,很容易受噪音数据影响。本篇要介绍的UCB算法,是一种完全不同的算法。首先,它是完全不使用随机性的;其次,它除了要考虑收益回报外,还要考虑一点,这个收益回报的置信度有多高。
问题来了,怎么来定义这个置信度呢?这是UCB算法的核心(UCB实Upper Confidence Bounds的首字母缩写)。实际UCB算法包括很多种。本文介绍的只是其中一种。现在,让我们来正式定义这个置信度以及整个UCB算法。
首先,考虑置信后定义的收益回报为:
其中rs 为在s时刻观察到的收益;ni,t 为当当前t时刻,臂i被选中的次数。用一句话来描述这个新的收益就是,臂被选中的总次数中,有收益的占比。或者也可以说是收益的一个平均值。
然后,给每个臂赋予一个最终的取值:
最后的UCB算法流程如下:
算法是不是很好理解?
参考:
【1】bandit_algorithms_for_website_optimization
【2】Learning and Optimization for Sequential Decision Making Lecture 3: UCB Algorithm, Worst-Case Regret Bound
- bandit算法(3)--UCB算法
- UCB算法
- bandit 算法资料大全
- 算法实习生学习之路--UCB算法
- Bandit算法与推荐系统
- Bandit算法与推荐系统
- Bandit算法与推荐系统
- Bandit算法与推荐系统
- 算法实习生之路——根据需求修改UCB算法,测试UCB算法特性
- bandit算法(1)--epsilon-Greedy Algorithm(附代码)
- UCB算法升职记——LinUCB算法
- UCB算法升职记——LinUCB算法
- n-armed bandit greedy-e 算法
- bandit算法原理及Python实现
- bandit算法原理及Python实现
- bandit算法原理及Python实现
- 【总结】Bandit算法与推荐系统
- bandit算法原理及Python实现
- 高版本内核系统(Ubuntu12.04)下编译低版本内核(2.6.30)bug解决方法
- 关于FtpClient的defaultTimeout、connectTimeout、dataTimeout的区别
- spark的转换算子操作
- VUE插值
- MacbookPro安装Hadoop2.8.1
- bandit算法(3)--UCB算法
- 数据结构实验之链表八:Farey序列
- 表变量与临时表的优缺点
- 嵌入式系统导论-死锁
- C# 解析Json串
- 【机器学习 吴恩达】CS229课程笔记notes2翻译-Part IV生成学习算法
- 马化腾——中国IT巨头之一
- Django框架环境的搭建
- hdoj 5584 LCM Walk