编程一个强盗来优化捐赠

人工智能 强化学习 多臂强盗
2021-10-26 05:33:00

我正在开发一种多臂强盗,它可以学习显示的最佳信息,以说服某人向慈善机构捐款。

假设我有处理 A、B、C、D (它们都是一段文本)。强盗选择一种治疗方法向一个人展示。该人获得 1 美元,并且必须决定捐赠多少(如果有),以 1 美分为增量。捐赠决定被记录下来并提供给多臂强盗,后者将在另一个人看到强盗选择的治疗之前重新优化。

如果我的目标是最大化总捐款,我应该如何编程强盗?例如,我可以使用 Thompson 抽样吗,如果参与者捐赠 0.80 美元,我算作 80 次成功和 20 次失败?

1个回答

对于赌博机算法而言,奖励是量化的还是分数的,或者它们可以变化并不重要。几乎所有的老虎机优化算法都是如此。

因此,只需将 0.80 美元的捐赠视为 0.8 的实际价值奖励,它发生在单个时间步长上。

将单个时间步上的单个奖励​​视为跨多个时间步的多个奖励可能会导致问题,这取决于您使用的算法,即使奖励平均为相同的值。例如,它可能会使数学偏离上置信区间动作选择或基于梯度的解决方案中使用的理论假设。


我突然想到,您的 1 美元实验应该是实际部署的某种代理,其中捐赠将是稀疏的,并且可能会有更多变化。虽然这可能会有所帮助,但本质上您只是根据测试结果设置某种先验。一旦系统部署到生产环境中,真正的老虎机算法就会启动,当目标是收集真实和更大的捐款时,结果很可能会大不相同。