【过一下18】超参数优化

终于也到了炼丹的时候了

前言

老师调整了 训练集占总体的比例(0.5->0.8)
学习率调小了(0.005->0.001)
keras.callbacks.EarlyStopping

  • monitor: 监控指标,如val_loss
  • min_delta: 认为监控指标有提升的最小提升值。如果变化值小于该值,则认为监控指标没有提升。
  • patience: 在监控指标没有提升的情况下,epochs 等待轮数。等待大于该值监控指标始终没有提升,则提前停止训练。
  • verbose: log输出方式,日志输出格式 0 1
  • mode: 三选一 {“auto”, “min”, “max”},默认auto。min 模式是在监控指标值不再下降时停止训练;max 模式是指在监控指标值不再上升时停止训练;max 模式是指根据 monitor来自动选择。
  • baseline: 监控指标需要到达的baseline值。如果监控指标没有到达该值,则提前停止。
  • restore_best_weights: 是否加载训练过程中保存的最优模型权重,如果为False,则使用在训练的最后一步获得的模型权重。

调大了num_epochs=5000, batch_size=20,原来是(500,16)

keras中epochs、batch_size、iterations详解 - 知乎 (zhihu.com)

batch_size=1随机梯度下降算法,batch_size=len(数据集) 批量梯度下降算法

epochs指的就是训练过程中数据将被“轮”多少次

我进行了哪些尝试

这里有几个方面需去尝试:

  1. 数据集怎么分

    1. cross_val
    2. 还提到了 针对时序序列的 可以使用 TimeSeriesSplit
      探索失败,因为sklearn的库和keras搭的框架,兼容的不是很好,然后第二个我也去看了,他这个训练集是逐步递增的,后面每一个都是前面的超集。
  2. 学习率

    1. 1e-5 ~ 0.1
  3. 隐含层数量

    1. 1 2 4 8 16
      最终跑出来一个8 0.0067 0.894

这里参考的是菜菜TsaiTsai决策树的教程

tr = []
te = []
for i in range(10):
    clf = DecisionTreeClassifier(random_state=25
                                 ,max_depth=i+1
                                 ,criterion="entropy"
                                )
    clf = clf.fit(Xtrain, Ytrain)
    score_tr = clf.score(Xtrain,Ytrain)
    score_te = cross_val_score(clf,X,y,cv=10).mean()
    tr.append(score_tr)
    te.append(score_te)
print(max(te))
plt.plot(range(1,11),tr,color="red",label="train")
plt.plot(range(1,11),te,color="blue",label="test")
plt.xticks(range(1,11))
plt.legend()
plt.show()

在这里插入图片描述

得到了最优的参数

然后进行测试,发现数据的问题比较大,然后又是对数据进行重新划分。
折腾折腾可就一天了。这几个小时,虽然说模型结构简单,跑得快,但是往往是跑出来之后,才觉得前面有哪里可以改进一下,这就导致现在跑出来的东西可能就不是最好的了。
所以以后训练模型还是依照 数据 然后 模型 最后超参数 ,不能像这次明知数据有大问题的情况还去训练。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值