1、冷启动的基本方式
随机冷启
个性化冷启
2、冷启动解决问题
冷启动保量
冷启动保量,保证每个item曝光的次数一样,实时统计已曝光的次数和要曝光的次数
冷启动结束过滤,如果需曝光的量越大,且越接近冷启结束时间,得分越高,被曝光的概率越大
爬坡保量
实时统计曝光、点击、ctr;ctr越高,曝光越少,得分越高;类似于bandit
3、冷启动实现算法
3.1、MAB问题介绍
MAB(Multi-Arm-Bandit)是多臂赌博机问题,是RL(强化学习)的一种。主要解决的是EE(exploit and explore)问题,exploit表示利用已有的确定兴趣,explore表示探索未知的兴趣。
MAB问题:有K个老虎机,总共摇T次,怎样使T次后的总收益最大的问题。
3.2、冷启问题解决算法
epsilon-Greedy贪婪算法
以epsilon的概率选择探索新的策略、以(1-epsilon)选择利用的操作
epsilon-Greedy-softmax贪婪算法
完全随机选择一个item 进行exploit会导致选的一个非常差的item,利用softmax函数决策选择一个回报率最大的item。
ucb算法
根据下列公式每个臂都摇一次
t表示当前实验的总次数,表示该臂被选中的次数,第二项是explore,优先选择历史被选中次数少的臂。
4、多臂赌博机的应用
多臂老虎机是指,每个老虎机盈利概率不一样,每次摇臂有k种选择。为实现t次摇臂获取最大的收益率
星际比赛游戏
在星际争霸比赛中,很多bot都会针对特定的对手设置一些初始策略,在每一轮游戏结束之后,并会记录基于此初始策略的游戏结果,新一轮比赛开始前,bot会根据与对手比赛的历史记录,试图选择一个最优的初始策略来击败对方,以Overkill为例,Overkill中开局策略有三种(TwelveHatchMuta,TenHatchMuta, NinePoolling)。Overkill每局结束以后均会记录当前局所采用开局策略的结果,比如Overkill与cpac对战六局,记录结果如下
cpac|TenHatchMuta|0|
cpac|NinePoolling|1|
capa|TwelveHatchMuta|1|
cpac|NinePoolling|1|
cpac|TwelveHatchMuta|1|
cpac|NinePoolling|1|
"0"表示对应开局策略cpac赢,“1”表示Overkill赢。
5、参考文献
专治选择困难症——bandit算法 - 知乎 (传统冷启方法)
UCB算法原理及其在星际争霸比赛中的应用 - 知乎 (冷启问题的应用)
大数定律与中心极限定理 (中心极限定理)