如何将两个不同尺度但同样重要的“运行”信号组合成一个奖励函数?

数据挖掘 强化学习 特征缩放
2022-03-16 08:13:37

我在人工智能上问了这个问题,但没有得到答案,所以我把它移到这里。

我有两个信号,我想用它们来模拟强化学习算法的奖励。

第一个是CPU TIME:从这个图中运行的平均值:

在此处输入图像描述

第二个是该图中MAX RESIDUAL的运行平均值:

在此处输入图像描述

这两个信号同样重要,但它们的尺度非常不同。我可以像这样将信号线性组合在一起:

r=wρρ+wττ

在哪里r是奖励函数,τCPU TIME: running meanρ最大残差问题是,如何设置权重wτ,wρ使贡献同样重要,如果ρτ在非常不同的尺度上?

强化学习算法将根据奖励学习策略,如果一个信号的值比另一个小得多,它对奖励的影响就会小得多,这不是我想要建模的行为。

编辑Kaggle 上的数据集

编辑:佩德罗的评论

对于缩放的平均 CPU 时间(消除振荡的平均值)和缩放的 MAX 残差,信号的线性组合似乎是可能的:

在此处输入图像描述

1个回答

使用 z 归一化可确保它们具有相同的均值和标准偏差,但当然值仍然不同,因为均值和标准偏差取决于数据的分布。

另一种方法是使用feature scaling,您可以在其中强制两个信号的值介于 0 和 1 之间。