美文网首页机器学习-算法理论
BSD:Auction with ROI constraints

BSD:Auction with ROI constraints

作者: shudaxu | 来源:发表于2021-05-17 18:25 被阅读0次

之前关于BSD的讨论:https://www.jianshu.com/p/5edf15c787ed [1]

问题建模Modeling:

  • 类似[1]中的方案,此处为以无偏winning rate建模的方式最优化期望收益)
    当然,这种modeling的一大问题是,真实的成功率与无偏随机数据是有差距的,因为我们出价与市场价并不互相独立。OurBid \not\perp Others'Bid
  • 形式化:
    u(r)为utility,g(r)为预估的用以计算roi的收益。
    \max_{b(r)} \int_r u(r) w(b(r)) p(r) dr
    s.t.1: \int_r b(r) w(b(r)) p(r) dr \leq B
    s.t.2: \frac {\int_r g(r) w(b(r)) p(r)dr } {\int_r b(r) w(b(r)) p(r) dr} \geq ROI
    得到:
    L(b(r),\lambda_1,\lambda_2) = \int_{r}^{} \left[ -u(r) w(b(r)) + \lambda_1b(r)w(b(r)) + \lambda_2 ROI w(b(r)) b(r) - \lambda_2 w(b(r)) g(r) \right]p(r) dr - \lambda_1 B

Solution:

KKT condition:

  • b(r)偏导为0:
    -u(r) \frac{\partial w(b(r))} {\partial b(r)} + (\lambda_1 + \lambda_2ROI)\left[ \frac{\partial w(b(r))} {\partial b(r)} b(r) + w(b(r)) \right] - \lambda_2 \frac{\partial w(b(r))} {\partial b(r)}g(r) = 0 (1)
    给定win函数:
    w(b) = \frac {b} {l + c*b} (2)
    其中l,c为拟合成功率的常数
    求导可得:
    \frac{\partial w(b(r))} {\partial b(r)} = \frac {l}{(l + c*b)^2} (3)
    将(2)(3)带入(1)化简可得:
    b^2 + \frac {2l} {c} *b - \frac {lu + \lambda_2lg }{c(\lambda_1 + \lambda_2ROI)} = 0
    解得:b = \sqrt {\frac {l^2}{c^2} + \frac {lu + \lambda_2lg }{c(\lambda_1 + \lambda_2ROI)}} - \frac {l}{c}

  • 原约束与系数约束:
    \lambda_1,\lambda_2 \geq 0
    \int_r b(r) w(b(r)) p(r) dr \leq B
    \frac {\int_r g(r) w(b(r)) p(r)dr } {\int_r b(r) w(b(r)) p(r) dr} \geq ROI

  • budegt互补松弛条件:
    \lambda_1 [\int_r b(r)w(b(r))p(r) dr - B ]=0

  • roi互补松弛条件:
    \lambda_2 [ROI\int_r b(r) w(b(r)) p(r) dr -\int_r g(r) w(b(r)) p(r)dr ] = 0




参数解法:

  • Qualification-LICQ:因为b(r) \in R^1,所以当且仅当在其解x^*处,激活条件对x(此处即b(r))梯度向量\triangledown g \neq 0时满足LICQ。
    很显然
    1、在只有一个限制条件激活时,只要极值处限制条件对b(r)的导数不为0,则这个条件就是满足的。
    2、在多个限制条件激活时,肯定是不满足的。

  • Qualification-SC:对于多条件激活。判定是否满足SC,即优化目标f与限制函数g,是否都是convex的。判断方式需要求其二阶变分\delta ^2 L \geq 0则满足SC。
    为了简化问题,我们可以将当前假设的解带入,即在当前假设下,是否满足SC。
    带入式子(2)得到如下:
    \frac{\partial^2 {w(b(r))} } {\partial {b(r)^2} } = \frac {-2lc} {(l+cb)^3}(4),根据成功率函数的图像,是恒小于0的。


    Convexity of functional:[1]
    a、目标函数的二阶变分:
    \delta^2 f = \int [u(r) \frac {2lc} {(l+cb)^3}]p(r)dr
    带入拟合出来的常数l,c,在实际区间上积分大于等于0
    b、预算限制的二阶变分:
    \delta^2 g_1 = \int [\frac {2l}{(l + c*b)^2} + \frac {-2lcb} {(l+cb)^3}]p(r)dr
    = \int [\frac {2l^2}{(l + c*b)^3}]p(r)dr
    带入拟合出来的常数l,c,其积分显然大于等于0
    c、ROI限制的二阶变分:
    \delta^2 g_2 =\frac {\delta^2 \int [ROI*b(r) - g(r) ]w(b(r)) p(r)dr} {\delta b(r)^2}
    = \int [\frac {2l^2ROI+2lcg(r)}{(l+cb)^3}]p(r)dr
    带入拟合出来的常数l,c,其积分也显然大于等于0
    所以,由此可以得出,当前问题在两个约束都生效时,满足SC




  • 情况0:\lambda_1=0, \lambda_2=0
    b(r) \rightarrow inf,明显不满足条件。

  • 情况1:\lambda_2 = 0
    这种情况下,等价于只有budget预算限制。
    所以将b(r)的解带入(将\lambda_2=0带入,其中仅包含\lambda_1),解如下问题即可:
    \int_r b(r)w(b(r))p(r) dr - B =0
    观察b(r)解的形式与w(b)的形式,可轻易得出\lambda_1与预算消耗成反比b(r) \propto \frac {u}{\lambda_1}
    在这个问题中,由于无论\lambda_1如何变化,排序是不变的。所以可以直接将数据带入,求方程的数值解即可。
    当然,由于本身也是单调的,通过二分搜索也可以较容易地获得数值解。

  • 情况2:\lambda_1 = 0
    类似地,将b(r)的解带入,求解ROI刚好满足的状态即可。
    ROI\int_r b(r) w(b(r)) p(r) dr -\int_r g(r) w(b(r)) p(r)dr = 0
    得到 b(r) \propto (\frac {u}{\lambda_2} + g),可以看出\lambda_2就是u的反向权重。\lambda_2越大,越倾向于用g(收益)来排序,即参与竞价的ad的g(r)越大,且总体出价越低(成本低),则ROI越大。
    所以ROI对\lambda_2单调递增,可以通过二分搜索以获得数值解。
    (这种情况下,由于\lambda_2的变化会影响排序,所以无法将数值全部带入直接求其数值解,当然,改写整个方程,将排序过程加入也是可以的,但是求解速度也并不一定会很快)

  • 情况3:\lambda_1 \neq 0,\lambda_2 \neq 0
    条件:如果上述两种方式求解出来分别的ROI,Budget不满足边界条件的(即都超出边界)。
    此时两个KKT乘子都不为0,
    即最优解在ROI刚好满足,Budget也刚好满足的边界上,KKT multiplier等价于Lagrangine multiplier。
    w(b(r))带入松弛条件(同拉格朗日,等式约束,即偏导为0),求解如下方程组:
    \lambda_1,\lambda_2\begin{cases} \int_r b(r)w(b(r))p(r) dr - B =0 \\ ROI\int_r b(r) w(b(r)) p(r) dr -\int_r g(r) w(b(r)) p(r)dr = 0 \end{cases}
    化简后无特殊形式,不易求出解析解可由数值解法解出。
    当然,这个方程组求解的最大问题同样在于,由于\lambda_1,\lambda_2会影响排序,所以很难直接用传统的数值优化的方程组解法得到解。(TODO)

问题分析:

以下分析针对我们对泛函最优化的解法其中的排序问题的讨论。
由于增加了ROI限制情况下,本身目标为u,限制目标的函数g。

u(r)g(r)都跟流量具体的分布相关。

u(r)g(r)的数值,本身会影响排序。从而影响我们最优化问题中的具体的数值分布。

虽然在当前体系下,由于其单调性(单约束),我们能搜索出最优解,但是其预估本身的误差会影响排序的结果(从而影响不同\lambdau(r)g(r)的分布,导致计算出来的roi与budget都有偏差)。

通俗点解释:
1、如果u(r)g(r)相同,由于biding函数是对其单调递增的,所以我们离线模拟时只需要得到按u排序top1即可,搜索不同的\lambda参数时,也不影响排序。

2、如果u(r)g(r)不同,则\lambda参数的变化会影响其顺序,所以我们离线模拟的时候需要记录每次竞价的候选列表。计算复杂度大大提升。

Refer:
[1]
INTEGRALS WHICH ARE CONVEX FUNCTIONALS

相关文章

网友评论

    本文标题:BSD:Auction with ROI constraints

    本文链接:https://www.haomeiwen.com/subject/cgrjjltx.html