【问题标题】:How to change ouput Dimension of Keras Dense Layer?如何更改 Keras 密集层的输出维度?
【发布时间】:2019-12-25 21:03:08
【问题描述】:

我尝试构建一个简单的交易机器人。我使用深度 q-learning 来做到这一点。引导获取单个股票价格数组作为输入。

input = [9540.5  9167. 8651.8     9200.5  8780.]

这就是我的模型的样子。

model = Sequential()

model.add(Dense(units=64, input_dim = 1, activation="relu"))

model.add(Dense(32))

model.add(Dense(16))

model.add(Dense(8))

model.add(Dense(self.action_size, activation="linear"))

model.compile(loss="mse", optimizer=Adam(lr=0.001))

start = time.time()

model.summary()

return model

这就是我会得到的

desire Output: [   70.84186   -218.39314  -1069.3423  ]

这就是它的样子:

actual output:
[
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
[   70.84186   -218.39314  -1069.3423  ]
]

请有人告诉我如何减少输出的维度。

【问题讨论】:

  • 我没看懂问题,你在问题中提出的价值观是怎么产生的?
  • 你想要的输出示例将有助于理解你在寻找什么(“减少维度”?)。

标签: python keras deep-learning reinforcement-learning


【解决方案1】:

在尝试和错误之后,我发现, 我的输入是错误的。

input = [1,2,3,4]

从网络解释为 4 个示例,而不是 一个具有 4 个功能的示例。 所以我用 Numpy 来改变我的输入。

input = np.array(input)
input = np.expand_dims(input, axis=0)

然后输入看起来像这样:

[[1,2,3,4]]

使用这个输入网络只计算一个输出。

ps。马蒂亚斯·瓦尔德内戈 输入是股票价格变化的时间序列。 输出是某些操作的加权值,如持有、卖出或买入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 2018-02-22
    • 2021-05-07
    • 2018-06-25
    • 1970-01-01
    • 2020-08-17
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多