【发布时间】:2018-07-07 22:51:37
【问题描述】:
我从 Keras 和 TensorFlow 开始。
我有一个在股票价格数据集上学习的 LSTM 模型。 我不希望我的模型像今天一样学会预测下一步。我希望我的模型在每个步骤中学习是否必须购买、出售或什么都不做以及多少。
我认为我需要制作一个自定义损失函数,但我真的不知道如何编写我的概念:买,卖,什么都没有,以及在开始时基于 100 个单位的资本。目标是最终获得尽可能高的资本。
- 我必须使用现有函数并像 MSE 一样自定义它吗?如果是,如何?
- 我必须让我的模型学习时间序列,然后添加一个买/卖层?如果是,如何?
- 其他?
我很迷茫。
非常感谢您的帮助。
山姆
【问题讨论】:
-
您的训练数据是什么样的?您是否只能访问股票价格,或者是否还有可用的决策(买入、卖出、什么都不做、多少)?
-
我的训练数据只是股票价格。我希望模型自己学习决策(买,卖,什么都不做,多少)。我想象一个模型实际上并不需要学习时间序列,而是需要更多的决策,以在最后最大化资本。但也许我错了,它需要在时间序列之前和决策之后学习。如果我有代码示例,我可以对其进行测试。
-
我明白了。我认为您肯定需要为您的模型提供一些提示,哪个决定是正确的。可以这样想:如果有人只是向您展示了一堆股票价格而没有告诉您它们的含义(假设您没有财务背景),您会知道该怎么做吗?模特在某种意义上就像一个完全天真的孩子,对这个世界一无所知。你必须给它一些可以学习的数据。
-
感谢您的解释,但对我来说,它可以存在一种无需买卖训练数据即可训练模型的方法。看,如果我在每个步骤中随机设置我的重量和偏差并保存模型,最终提供最好的资金,它可以工作得超过 50%。所以用损失函数来学习.. ^^。问题是如何编码:/.
-
我不得不承认我对这种数据并不熟悉,但是你如何从股价中得到整体资金呢?这笔资金是用于整个系统还是股票?您的情况开始听起来好像您应该研究强化学习。这是一个介绍,但我建议您在尝试训练模型之前阅读更多内容。 en.wikipedia.org/wiki/Reinforcement_learning
标签: tensorflow deep-learning keras lstm rnn