PID算法在控制领域应用比较广泛,比如在工业控制、汽车电子等领域;这里主要介绍推荐系统中如何有效的使用PID算法。
PID控制概念
- 基本偏差
- 基本偏差e(t)=目标值-实际值,基本偏差为正代表实际值低于目标值,需要正向调整;为负代表实际值高于目标值,需要反向调整;为0代表无需调整;
- 稳态误差
- 系统进入稳定状态时,目标值与实际值的偏差相对稳定但不为0,这时的偏差称为稳态误差;
- PID基本概念
- P(Proportional ):比例控制,其作用是对于控制对象以常量P的比例下进行线性调整,优点是调整速度快能够较快的达到预期方向,缺点是会产生稳态误差;
- I(Integral):积分控制:其作用是通过历史偏差共同作用来消除稳态误差;
- D(Derivative):微分控制:其作用是减弱超调,加大惯性响应速度;
PID公式
PID在推荐系统中的应用
推荐系统中可以利用PID进行流量调控,根据实际值与目标值的差值进行调整曝光速度,从而达到增大或减小曝光几率的目的;
- 目标设定
由于PID的调控是基于偏差,所以需要确定偏差的计算逻辑;
- 需要定义出目标值的概念,比如曝光量、点击量、播放量、曝光比例等;
- 需要目标拆解,由于目标可能过于粗糙,比如一周内曝光量100w,在实际操作时,如果不进行目标拆解的话,可能初期阶段,算法认为调控偏差较大,给予大量的流量扶持,这样不仅不利于曝光体验,而且也不符合实际的业务诉求,目标拆解是指将长期的目标拆解为短期目标,如周维度-》天维度-》小时维度-》分钟维度,拆解的依据可以根据平台的历史流量时间段分布进行处理。
- 调控执行
- 定时计算目标偏差,根据偏差大小计算PID的权重,定时的间隔取决于流量大小以及实时计算能力,一般来说,流量比较大的场景,定时间隔越短越好。
- 由于PID计算的是调控权重,而推荐需要影响的是曝光,所以将PID的调控权重与模型的偏好分进行结合,最终形成最终得分,再进行最终排序,当PID权重为大于1时起到流量扶持的作用,而PID权重为小于1时起到流量抑制作用,从而实现最终的流量控制。