UCB1算法
帮助理解
在实现一个较好的算法时,我们需要探索(exploration) 与利用( exploitation):
- exploration
探索:就是不断搜索新的或不断更新自己得到的数据来得到一个更优的数据来实现自己的预期目标 - exploitation
利用:充分使用自己得到的一些数据,通过叠加、相减、各种信号处理、最优检测或估计之类的东西处理,来实现自己预期的目标
问题描述1
假设寝室到食堂总共有K条路,要选出一条路程最短的一条路。但是你唯一可记录的工具只有可以记录步数的手环(记录的也不一定准确),所以我们为了得到一个较为可靠的结果,就用到了UCB1[1]的策略。
算法流程
- 初始化: μ 1 , μ 2 , . . . , μ K \mu_1,\mu_2,...,\mu_K μ1,μ2,...,μK分别是第一次走路所记录下来的步数;
- 循环: u c b 1 j ucb1_j ucb1j = μ j ˉ