冷启问题目前常见解决方案

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次摇臂获取最大的收益率

冷启问题目前常见解决方案_第1张图片

 

星际比赛游戏

在星际争霸比赛中,很多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算法原理及其在星际争霸比赛中的应用 - 知乎 (冷启问题的应用)

大数定律与中心极限定理 (中心极限定理)

你可能感兴趣的:(人工智能,推荐算法)