DQN(强化学习):国家应该标准化吗?

时间:2017-04-28 08:25:02

标签: 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    0.425225   -0.157008

每列都是从我的数据集获取的索引(在财务中)。我将组合每一行并将其设置为state,如下所示:

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})
    .
    .
    .
    .

这些state将输入DQN(Deep Q-Network)

但是每列都不遵循正态分布。他们的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 ...)

我必须吗?

1 个答案:

答案 0 :(得分:0)

不,没有必要。

例如DQN可以用在原始图像上(好吧,可能你会为了合理的尺寸对它们进行灰度缩放),从视频游戏中抓取,其中每个特定像素不一定遵循标准法线分配。无论如何都可以。