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,featurex2
range 1~10,这可能会发生特征偏差?