python - q 代理正在学习不采取任何行动
问题描述
我正在训练一个深度 q 网络来交易股票;它有两种可能的动作;0:等待,1:没买就买,买了就卖。作为输入,它获取所购买股票的价值、股票的当前价值以及与股票相关的前 5 个时间步长的股票价值。所以像
[5.78, 5.93, -0.1, -0.2, -0.4, -0.5, -0.3]
奖励只是销售价格和购买价格之间的差额。任何其他动作的奖励都是 0,尽管我尝试过让它为负数或其他没有结果的东西。
很简单,对吧?不幸的是,代理总是收敛于采取“0”行动。即使我放大了以盈利或任何数量出售的回报。我真的把头发拉出来了,我错过了什么明显的东西吗?
解决方案
尽管代理本身可能有问题,但我编写的第二个代理表现出类似的行为。我终于通过降低学习率解决了这个问题;最后它必须比原来低一千倍
推荐阅读
- excel - 矩阵表中的匹配和条件格式
- stripe-payments - 在客户端上为服务器上的多次收费创建 PaymentMethod 时如何处理 Stripe 3D Secure
- java - 阻止 Iframe 自行刷新?
- html - 网格布局对齐中心
- java - 我的程序计算不正确(Java)
- swift - Swift:关于使用类型别名屏蔽选项的约定?
- image-processing - 可以使用哪些策略来开发分割算法来确定单个像素是蓝色还是红色
- python - 导出数组内容时出现 Tweepy 错误
- package - Puppet:如果安装了 Choco 包或存在本地用户,如何检查 IF 条件?
- bash - 通过命令行在 Docker 容器中运行 Linux 命令