Objective: "探索未知" vs "利用已知"
1. Greedy 算法
Scenario: 假设存在2个Arm(i.e., arm1赢的概率是0.3; arm2赢的概率是0.7);
用户1刚开始玩,玩arm1赢, 玩Arm2输;然后就盯着arm1玩
Problem: 探索不足,仅仅探索一次,就主观上觉得发现了armi的属性,最后的结果可想而知不理想.
本质:决策制定中的经典问题,如何平衡exploration 和exploitation.
2. Epsilon Greedy 算法
随着时间的t增长, 设 = o(1/t) (i.e., 是探索概率,与时间成反比), 以概率, 在所有的arm里均匀随机尝试(Exploration), 以概率1-, 选已发现的赢率最大的arm(Exploitation).
Problem: (1) 不优雅,刚性地区分探索未知和利用已知; (2) 不最优, 探索未知时,均匀挑选一个arm
Improvement: 探索未知时,学会利用已知.
3. UCB(Upper Confidence Bound) 算法
Scenario: (1) arm1: 1 0 0 1 1 0 0 1 0 1
(2) arm2: 1
(3) arm3: 1 1 0 1 1 1 0 1 1 1
平均赢率:arm1: 5/10; arm2: 1; arm3: 8/10
Question: 如何选择arm? (不仅看平均赢率,还要看赢率置信度Confidence)
置信区间
定义: 一个范围,均值会以一定的概率落到这个范围内(i.g., 均值会以0.95的概率,落到[0.2,0.5]内).
实验次数少,置信区间大(不可靠); 实验次数增加,置信区间变窄(估计越来越准确).
基于置信度的选择
"探索未知" vs "利用已知"两者合二为一,选择置信区间上界最大的arm.
乐观策略: 相信其上限