作业要求

标题 内容
这个作业属于哪个课程 班级博客的链接
这个作业的要求在哪里 作业要求的链接
我在这个课程的目标是 完成一个完整的项目,学以致用
这个作业在哪个具体方面帮助我实现目标 尝试有意义的黄金点游戏

一、黄金点游戏

规则:N个玩家,每人写一个或两个0~100之间的有理数 (不包括0或100),提交给服务器,服务器在当前回合结束时算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的玩家得到N分,离G最远的玩家得到-2分,其他玩家得0分。只有一个玩家参与时不得分。

二、理解

其实邹欣老师的的理解以及很深刻了,这也是我玩黄金点的动力之一,想想简单游戏和新技术发展规律融合在一起,想想就刺激。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

三、使用的方法

  1. 简单规律:当看到黄金点下降时候就下降之前下降量的二分之一,当看到黄金点上升时候上升之前上升量的二分之一。保持不变时候,取前两次平均。
    失败!
  2. 时序序列不用LSTM? 使用三层LSTM网络,取steps=10,n_input=1,取当天黄金点个数70%做训练集(182,10)vs(182,1),30%做验证集,metrics:mse,收敛到mse为5.5 左右为一个较长的 plateus ,之后训练误差不断减少,val误差不断增加,网络开始严重过拟合。
    难道是一个LSTM cell 需要不只一个input吗?所以steps=5,n_input=2,同理,仍然mse收敛到5.5,失败!
    实际上,我思考到,RNN可以拟合一个有规律的时序序列,但是黄金点规律是难以察觉的,mse难以优化,我们不应该尝试mse metrics,赢者通吃,你希望以LSTM去最好拟合这个序列是不可能,是的,你拟合的序列mse小了又如何,你还是赢不了,考虑更改metrics,只取tf.abs((y_pred-y_true)>1)内不计误差,网络无法收敛,因为开始mse=0,或者只计算tf.abs((y_pred-y_true)>1)的mse,仍然不行。
    inimize: sub = y_pred-y, 曾经考虑类似于下面loss计算,
    loss = -(tf.reduce_sum(tf.cast(sub<0.1, tf.float32))5+tf.reduce_sum(tf.cast(sub<0.3, tf.float32))3)
    告诉我梯度无法传递。
  3. 行,赢者通吃,好好复习RL, 用强化学习解决这个问题,不过其实第一时间想到的就是LSTM了,可惜不行。。。
  4. 当然也考虑过学习bot规则,可是我觉得在本地学习bot004, 预测前一个黄金点,botxxx,一直预测18.....。感觉本地先训练是无耻的,可以考虑建立多个RNN模型根据每个bot预测他可能下一个回合预测的结果,去预测。建立更多的模型,算了,还是先试试RL吧。如果一个模型连基本bot004都打不败,那么就没有存在的必要性了。最近两天把RL写出来,看看结果,再试试‘无耻的方法’,最近多灾多难,拖太久了。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄