当前位置: 首页 > 知识库问答 >
问题:

使用Keras近似光滑多维函数,误差为1e-4

夔修伟
2023-03-14

我试图用Keras来近似一个函数,它将五个输入平滑地映射到一个概率,但似乎已经达到了极限。这里也提出了类似的问题(Keras回归到近似函数(目标:损失)

模型=顺序()

添加(密集(128,输入_形=(5),激活=(tanh'))

model.add(密集(64,激活='tanh'))

model.add(密集型(1,激活='sigmoid'))

compile(优化器='adam',loss='mae')

给了我最好的结果,当批量大小为1000时,验证数据的最佳损失约为7e-4。添加或删除更多的神经元或层似乎会降低准确性。辍学正则化也会降低准确性。我目前正在使用1e7训练样本,生成该样本需要两天时间(因此希望近似此函数)。我想把mae再降低一个数量级,有人有什么建议吗?

共有1个答案

谢裕
2023-03-14

我建议使用利用keras回调减少LROnPlateau,留档是[这里][1]和ModelCheckpoint,留档是[这里。][2].对于第一种情况,将其设置为监控验证损失,如果损失在固定数量(耐心)的连续纪元后未能减少,则将学习率降低一个因子(因子)。对于第二种情况,还监控验证损失,并将验证损失最低的模型的权重保存到目录中。训练后加载权重,并使用它们在测试集上进行评估或预测。我的代码实现如下所示。

checkpoint=tf.keras.callbacks.ModelCheckpoint(filepath=save_loc, monitor='val_loss', verbose=1, save_best_only=True,
        save_weights_only=True, mode='auto', save_freq='epoch', options=None)
lr_adjust=tf.keras.callbacks.ReduceLROnPlateau( monitor="val_loss", factor=0.5, patience=1, verbose=1, mode="auto",
        min_delta=0.00001,  cooldown=0,  min_lr=0)
callbacks=[checkpoint, lr_adjust]
history = model.fit_generator( train_generator, epochs=EPOCHS,
          steps_per_epoch=STEPS_PER_EPOCH,validation_data=validation_generator,
          validation_steps=VALIDATION_STEPS, callbacks=callbacks)
model.load_weights(save_loc) # load the saved weights
# after this use the model to evaluate or predict on the test set.
# if you are satisfied with the results you can then save the entire model with
model.save(save_loc)


  [1]: https://keras.io/api/callbacks/reduce_lr_on_plateau/
  [2]: https://keras.io/api/callbacks/model_checkpoint/
 类似资料:
  • 我用python编程了Mandelbrot集,但看起来很奇怪,所以我搜索平滑的颜色。我用对数和线性插值编程了一个平滑的着色函数,但是无论我尝试什么,我都得不到我想要的: 这是我的调色板 这里是我的着色功能 这是我得到的 正如你所看到的那样,平滑的颜色是没有连续性的 我想要这样的东西: 理想结果 我们看不到色差

  • 嗨,我试着生成花瓣的平均值。宽度和萼片。iris数据集中每个物种的宽度。 然而,我得到了错误。 代码 其结果是0.1 0.2 0.3 0.4 0.5 0.6 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.1 2.2 2.3 2.4 2.5 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

  • 函数功能:在指定区域中,寻找指定的图案,返回其左上角顶点坐标 引擎版本:仅支持 v1.0.3 及其以上版本 函数方法 x,y = image.findImage(path,x1,y1,x2,y2,deviation) 参数 类型 必填 说明 path userdata 是 将要寻找的图片文件名 x1 number 是 找图区域左上角顶点屏幕横坐标 y1 number 是 找图区域左上角顶点屏幕纵坐

  • 一些async fn状态机可以安全地越过线程发送,而其他则不能。判断一个async fn Future是不是Send,由非Send类型是否越过一个.await据点决定的。当可以越过了.await据点,编译器会尽力去估计这个是/否。但是今天的许多地方,这种分析都太保守了。 例如,考虑一个简单的非Send类型,也许包含一个Rc: use std::rc::Rc; #[derive(Default)]

  • 问题内容: 在一维数组中使用array_search很简单 但是多维数组呢? 例如,我想获取位置为1的汽车的索引。我该怎么做? 问题答案:

  • 本文向大家介绍多项式时间近似方案,包括了多项式时间近似方案的使用技巧和注意事项,需要的朋友参考一下 多项式时间近似方案 我们可以找到一些关于NP完全问题的多项式时间解,例如0-1背包问题或子集和问题。这些问题在现实世界中非常流行,因此必须有一些方法来解决这些问题。 多项式时间近似方案(PTAS)是一种用于优化问题的近似算法。对于0-1背包问题,有一个伪多项式解决方案,但是当值较大时,该解决方案不可