CATS算法如何计算损耗



我在试图计算在VowpalWabit库中使用CATS算法时的损失时很挣扎。有谁知道它是怎么计算的吗(平均值和倒数)

我试着计算成本的平均值,就像我在文档中找到的那样(损失=成本= -奖励)

CATS算法计算使用get_loss()函数报告的损失,如下:https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/core/src/reductions/cats.cc#L58-L82.

它的作用可以分为几个步骤:

规范化和离散化一组操作(首先通过它们的间隔,然后在我们使用";ac"时将其放入桶中)。它的作用是将选定的动作转换为动作索引很像标准的CB算法这用于计算"中心"。动作的位置,换句话说,如果我们总是选择中心,而不是在离散带宽内的某个部分。然后,我们将记录的操作与该中心进行比较,如果记录的操作落在带宽范围内,我们计算损失(其作用相当于指示器函数)。如果我们正在计算损失,我们需要确保我们正确地考虑带宽超过允许的最小/最大的操作,然后使用它,以及选择操作的记录概率,在选择操作的成本上执行类似ips的计算。

最新更新