Python 强化学习:国家应该标准化吗?

Python 强化学习:国家应该标准化吗?,python,machine-learning,reinforcement-learning,q-learning,Python,Machine Learning,Reinforcement Learning,Q Learning,这是我的状态数据帧: >> state_df.head() A B C 0 -1.469587 -1.186974 -1.136587 1 -1.310300 -1.032667 -1.389515 2 -0.041564 -0.112118 -0.742551 3 0.698519 0.453808 -0.194451 4 0.653907

这是我的状态数据帧:

>> state_df.head()
          A           B          C
 0    -1.469587   -1.186974   -1.136587
 1    -1.310300   -1.032667   -1.389515
 2    -0.041564   -0.112118   -0.742551
 3     0.698519    0.453808   -0.194451
 4     0.653907    0.425225   -0.157008
每一列都是从我的数据集中获取的索引(在金融领域)。我将合并每一行,并将其设置为
状态
,如下所示:

for i in len(state_df):
    state_list = np.array(indicators_df.ix[i].tolist())
    x = np.reshape(state, [-1, input_size])
    session.run(self._Qpred, feed_dict={self._X: x})
    .
    .
    .
    .
这些
状态
将成为
DQN(深度Q网络)
的输入

但每一列都不服从正态分布。他们的
mean()
std()
如下:

state_df['A'].mean() => 1.0023571097367265
state_df['A'].std() => 0.039181434958815514
state_df['B'].mean() => 0.08110446799218411
state_df['B'].std() => 0.643645664287425
state_df['C'].mean() => 0.006230702891531177
state_df['C'].std() => 0.06876011348732677
我想知道我必须标准化每一列((x-mu)/sigma)


我必须吗?

不,没有必要


例如,DQN可以用于从视频游戏中获取的原始图像(好的,可能为了合理的大小,您会对其进行灰度缩放),其中每个特定像素不一定遵循标准正态分布。不管怎样,它都能工作。

那么,我是否需要担心特性偏差?例如,
x1
feature range 1~100000,feature
x2
range 1~10,这可能会发生特征偏差?