将您的企业带到新的(帕累托)前沿

米里亚姆·莱昂和卡里姆·瓦哈巴
-旧金山,加利福尼亚

“我要全部,我要全部,我要全部,我现在就要”——弗雷迪·摩克瑞(皇后乐队)

在80年代中期的摇滚歌曲《我想要一切》(I Want It All)中,皇后乐队似乎不想承认生活就是权衡的现实。在商业环境中,这是无法逃避的现实。大多数企业都面临某种形式的权衡,当存在相互竞争的目标时,这种权衡就会出现。一个典型的例子是增长(客户群或收入)与盈利能力的比较。但在许多其他业务方面,权衡也是普遍存在的[1]. 例如,汽车制造商希望在最大限度地提高舒适性的同时最小化生产成本。餐馆老板希望最大限度地增加他们能坐的顾客数量,同时尽量减少用餐等待时间。即使一家公司意识到正在进行一些权衡——通常只是对这些目标之间关系的模糊直觉——通常也不会试图量化权衡。

像其他公司一样,Stitch Fix有多个目标,其中一些可以相互竞争(从某种意义上说,改善其中一个是以牺牲另一个为代价的)。在设计将体验展示给客户的应用/网站的突出部分时,我们需要意识到每个选择对客户的影响。最终,我们需要了解这些选择如何影响不同的业务指标。当我们关心多个经常相互冲突的参数时,我们如何决定优化什么?我们如何引导客户有价值的(和有限的)注意力?

在这篇文章中,我们将描述一种明确权衡的方法,并展示这种方法如何为业务决策提供支持。首先,我们将介绍帕累托前沿的概念。然后,我们将讨论该方法:一个多目标多臂bandit(MAB)系统,它允许我们在面对竞争目标时量化我们的权衡。最后,我们将讨论确定竞争目标优先级的方法。

为了让它更具有关联性,并且更容易理解,我们将把本文的其余部分放在另一个80年代的经典游戏——《吃豆人女士》中!在这一点上,如果你觉得我们真的喜欢80年代,那你就没有错:)。

多目标和帕累托最优:获取重要的权衡

让我们假设你在设计《吃豆人》系列游戏。要想让游戏成为热门,你需要玩家享受游戏,这最终会带来销售。换句话说

\[\textrm{视频游戏销售}=f(\textrm{游戏享受})\]

享受是一种复杂的现象,它取决于游戏设计的许多方面,也取决于玩家特定的游戏风格。然而,让游戏变得有趣的主要特征是(1)可玩性和(2)技能差异。一个可玩的游戏可以被很多人使用。奖励优秀战术的游戏可以区分玩家的技能。游戏设计对这些享受特征的影响是一个活跃的研究领域[2][3].如果一款游戏严重缺乏其中一个或两个元素,那么它便会迅速走向灭亡1. 因此,在设计可广泛玩的游戏时,这种折衷可以体现出来,但同时也会对有动机的玩家造成挑战。

在开发《吃豆人女士》游戏时,让我们假设您捕获了与关键业务目标密切相关的代理指标。每日活跃玩家会话可以作为可玩性的代理,更多的会话意味着更多的可玩性。游戏得分差异可以作为技能差异的代表。差异越大,玩家的游戏技能就越不同。

游戏设计策略的目标是最大化这两个目标:可玩性P和技能差异S,因为这将导致一个更有趣的游戏。换句话说,我们有一个多目标优化问题。到目前为止还不错,但为了做到这一点,您面临着两个设计考虑因素(实际上,原始的Pac Man女士的设计因素很多![4]):

(设计考虑1)幽灵追逐策略:幽灵追逐策略决定了Inky、Blinky、Pinky和Clyde如何追逐Pac man女士。这包括追逐战术、速度等。用\(x_G\)表示这个选择向量。

(设计考虑2)激发者弹丸效果:弹丸给予Pacman女士暂时免疫,并允许鬼魂在有限的时间内被追逐和吃掉。该效果决定鬼魂分散战术、他们在继续追逐之前被吓坏的时间等。用\(x_P\)表示该选择向量。

因此,设计选择是一对向量(x_G\), \(x_P\))。吃豆人女士的设计问题可以归结为:

\[max(S(x_G,x_P),P(x_G,x_P))\]

受一些限制。

在单目标优化问题中,通过比较目标函数的两个值,一个解决方案明显优于另一个解决方案。在多目标优化问题中,一个解决方案的“优度”稍有细微差别。可行设计解决方案(\(x''u G\),\(x''u P\)将有以下情况之一适用于它:

  1. 在所有目标中占主导地位→ 其他解决方案具有更好的S和P值
  2. 主宰一切目标→ 没有其他解决方案具有更好的S或P值
  3. 相互冲突的目标→其他解决方案在S上更好,但在P上更糟糕,反之亦然

主导或冲突的解决方案(即B或C)是非主导的。通过对所有可行解进行此练习,最终得到帕累托最优设计集,即非支配解集。这些解在目标函数空间中追踪帕累托前沿。前沿显示了由于不同的游戏设计选择,可玩性和技能差异之间的权衡。

pareto-frontier
由于不同的游戏设计选择,帕累托边界显示了可玩性和技能差异之间的权衡。

多目标多臂土匪

为了能够做出关于幽灵追逐策略和动力弹丸效果的明智设计决策,我们需要数据!A.multi-armed强盗(MAB)能够有效地理解和利用设计选择对可玩性和技能分化结果的影响。通过不断随机地将玩家分配到不同的武器(设计选择),然后利用获胜策略,我们能够很好地进行测试和迭代2

一旦我们有了数据,我们就必须以不同于标准MAB的方式处理多目标优化问题[5].这是因为前面提到的关于“善”的属性解决方案。在定义明确的标准MAB中,通常没有关于最优解决方案的模糊性。在多目标MAB中,目标之间的帕累托边界存在权衡。必须由某个人或某个人决定目标的相对重要性。作为Pac Man女士特许经营权的制作人,您应该对playab有多大的关注与游戏的技能差异相比,游戏的灵活性如何?

帮助做出此决策的一种常用方法是将多目标优化问题转化为更为常见的单目标问题。最简单的方法是线性标量化(这有局限性,更复杂的方法试图克服这些局限性)[5])。该方法将单个目标定义为多个目标的加权和。原来的吃豆人设计问题现在变成:

\[max(λ_S·S(x_G,x_P) + λ_P·P(x_G,x_P))\]

受一些约束和\(λu S,λu P>0\)和\(λu S+λu P=1\)。

我们如何设置这些权重?我们将在下一部分讨论这个问题,但现在假设它们是预先确定的。

我们前面提到,可玩性和技能差异也可能取决于球员特征。通过将MAB扩展为上下文。整体方法如下所示:

  • 假设您正在考虑Pac Man女士的K设计选择(即不同的幽灵追逐策略和能量球效果)
  • 根据MAB探索阶段随机收集的数据,训练模型以预测每种设计的目标(P,S)(i=1,…,K\)。
  • 对于新一轮数据,预测每个玩家的K个目标集(P,S),并在给定一组固定权重的情况下对每个目标进行加权。
  • 选择帕累托最优的设计选择子集\(A^*\),这意味着它们在目标空间中不占主导地位3..从可玩性(P)和技能差异性(S)目标的角度来看,\(A^*\)的任何设计选择与其他设计选择一样“好”。
  • 最后,对于每个最佳设计选择,计算标量化函数,并在\(A^*\)中选择使标量化函数最大化的选项。这将为您预先确定的权重提供最佳设计选择4
pipeline-image
MOO-MAB方法概述:考虑设计选择的集合,以及我们关心的2个目标,可玩性(P)和技能分化(S)。对于每个设计选择,我们预测一个二维奖励向量。我们首先将奖励向量的每个值乘以相应的权重。然后,我们确定所有帕累托最优设计(此处为绿色和蓝色)。受支配的武器不作进一步考虑。然后,我们将剩余的帕累托最优设计通过求和它们的奖励向量进行标量化,最后为每个玩家分配最大化标量化函数的设计选择。

选择你的体重

我们在前一节中提到,我们将多目标问题转化为单一目标函数问题。问题是,我们应该如何选择权重?最不明智的决定就是设定相等的权重。另一种可能是根据一些外部标准对目标进行排名。例如,市场营销团队可能认为可玩性比技能差异更重要。一旦决策者提供了一个排名,我们需要将排名转换为权重。其中一种方法是使用秩序质心[6].该方法为M个排序的项目分配权重,其中第i个项目获得权重

\[λ_i = \frac{1}{M} \sum_{k=i}^M(\frac{1}{k}).\]

在可玩性是更重要的目标的情况下,分配的权重可以是\(λ_P = 0.75\)和\(λ_S = 0.25\)。

最后,决策者可能对目标的排名感到矛盾,但希望了解不同的排名选择对业务结果的影响。如果可玩性和技能差异的相对重要性发生逆转,会对游戏乐趣产生什么影响?这最终将如何影响游戏销售等业务指标?在这样的场景中,您可以同时使用两种权重组合(\(λu P=0.75\)、\(λu S=0.25\)和\(λu P=0.25\)、\(λu S=0.75\)运行用户级a/B测试。如果有两个以上的目标,排名的可能性增长得相当快,有效地回答所有的组合可能是一个挑战。

结论

上面概述的框架,以Pac Man女士的开发为例进行了说明,可扩展到任何具有多个目标以及测试和测量能力的业务环境。多个目标与权衡是相辅相成的,数据科学家能做的最好的事情就是让权衡对业务可见。在f这种方法是决策者的参与。毕竟,随着战略的转变,优先级不断变化。在Stitch Fix,我们的算法系统澄清了这些权衡,我们的产品和财务合作伙伴是引导这些权衡的积极参与者。我们相信,这就是你从仅仅玩游戏到赢得游戏的方式!

工具书类

  1. 多目标优化的现实应用
  2. Togelius等人:《星际争霸》地图空间的多目标探索
  3. J.H Kim和R. Wu:利用机器学习开发游戏
  4. 《吃豆人设计:难度变量
  5. 设计多目标多武装强盗算法:研究
  6. M. Danielson和L. Ekenberg:多准则决策中顺序排序方法的权衡

脚注

发布的这篇文章! 在LinkedIn上发布
188滚球注册平台

来和我们一起工作吧!

我们是一个多元化的团队,致力于打造卓越的产品,我们希望您的帮助。您是否希望与卓越的同行一起打造卓越的产品?加入我们吧!

Baidu