问题标签 [overfitting-underfitting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 当验证准确性发生变化时,提前停止的效果如何
我正在构建一个用于未来预测的时间序列模型,该模型由 2 个 BILSTM 层和一个密集层组成。我总共有 120 种产品来预测它们的价值。而且我有一个相对较小的数据集(为期 2 年的每月数据 => 最多 24 个时间步长)。因此,如果我查看整体验证准确性,我会得到:
在每个时期,我将模型权重保存到内存中,以便将来随时加载任何模型。
当我查看不同产品的验证准确性时,我得到了以下信息(这大致是针对一些产品的):
对于这个产品,我可以使用 epoch ~90 保存的模型来预测这个模型吗?
以及以下产品,我可以使用 epoch ~40 保存的模型进行预测吗?
我在作弊吗?请注意,产品种类繁多,购买行为也各不相同。对我来说,遵循这个策略,相当于训练了 120 个模型(给定 120 种产品),同时为每个模型提供更多数据作为奖励,希望每个产品都能取得更好的成绩。我在做一个公平的假设吗?
任何帮助深表感谢!
python - Keras CNN 立即过拟合,而不是数据集问题
一直在尝试构建一个 CNN 来对 MFCC 数据进行分类,但该模型立即过拟合。
数据:
- 18 000 个文件(80% 训练,20% 测试)
- 5 个标签
数据中的 5 个类别都是等量的。这个模型的创建是为了处理比 18k 更多的文件,所以我被告知要尽我所能减少网络,这可能会有所帮助。
将过滤器从 (3,3) 减少到 (1,1),尝试减少隐藏神经元数量甚至减少层数量。我只是卡住了,有人有什么想法吗?
无论发生什么,在使用测试数据测量准确度时,我的准确度都不会高于 60-65%。
型号代码:
型号总结:
python - 在使用简单的 RNN 层拟合模型时,我每次都达到 37.62% 的 val_accuracy 上限。为什么会这样?
使用 keras simpleRNN 层,我正在撞墙。我还有另外两个模型,一个只有完全连接的 Dense 层,一个使用 LSTM,它按预期工作,所以我认为问题不是数据处理。
对于上下文,我使用的是 tf.keras reuters 数据集,该数据集是标记化的,输出数据由我分类的 46 个可能的标签组成。
下面是模型代码。
我正在使用以下参数进行拟合
拟合这个模型,val_accuracy 始终为 0,3762,val_loss 为 ~3,4。从图中可以清楚地看到这个“天花板”:
我尝试过的事情:更改超级参数,更改输入数据形状,尝试不同的优化器。
任何提示表示赞赏,谢谢。并感谢帮助编辑我的帖子以使其更易于理解的人:)
其他两个模型的图表,处理相同的数据:
仅密集层
长短期记忆体
tensorflow - 验证损失没有减少(张量流)
首先,对不起我的英语,
我在使用 tensorflow 的项目中遇到问题,我必须编写一个字典(英语--> 德语),我知道要找出问题所在并不容易:/ 它正在杀死我,我在这里为任何问题。谢谢
输入:
- 输入:
形状为 (16, 14, 128) :
-batch -单词数(1<words<13)并使用函数映射数据集,该数据集在序列之前用一些不同的填充值填充每个英语嵌入序列,以便每个序列的长度为 13
128 之后
- 输入_德语
形状 (16,14) 带有“ <start> ”和“ <end> ”标记到开头和结尾
验证损失的问题:
这里周一代码:
keras - 无法通过减少层数、增加Dropout或增加学习率来防止CNN模型过拟合
我想使用 CNN 制作一个图像分类器。数据集中有两种类型的图像:男性和女性。总共有 2300 张图像,其中 20% 用于验证。问题是我的模型由于过度拟合而根本不好(我认为这就是问题所在),但我无法弄清楚为什么我的模型过度拟合如此糟糕(请打开下图的链接。y 的最大值是 3.5)这是我用来进行双分类预测的 keras 模型
python - 泰坦尼克号数据集过度拟合:能有那么多吗?
我有点困惑,因为我正在训练一个模型,该模型在训练数据上产生大约 88% 的 CV 分数,而在我提交后,相同的模型在测试数据上表现不佳(分数为 0.75)。准确率下降 12 点不可能都是由于过度拟合,不是吗?有任何想法吗?你在你的模型/提交中遇到过这样的差距吗?
有关模型和结果,请参见随附的图像。
################################################# ########
准确率:88.13% (2.47%)
python - 如何使用 XGboost 进行微调
我正在尝试为 Mercedes Greener Manufacturing 数据集建立一个通用模型。所以,我正在尝试使用 XGBoost Regressor 来达到同样的效果。我使用了一个 1-100 的循环作为训练测试集的种子,以便获得更好的采样。我使用 PCA 将尺寸减小到 8 。
如何使用 xgboost 进行微调,以免我得到过拟合的模型?
输出
python - 是过拟合还是数据泄露问题?
我在个性化数据集上应用了 Sklearn DecisionTreeClassifier() 来执行二进制分类(0 类和 1 类)。
最初课程不平衡,我尝试使用以下方法平衡它们:
因此,我的数据集与第 1 类的 186404 个样本和第 2 类的 186404 个样本平衡。训练样本为:260965,测试样本为:111843 我计算了使用的准确度sklearn.metrics
,得到了下一个结果:
因此,我在测试和训练阶段都获得了 100% 的准确率,我确信结果是异常的,尽管我在拆分数据之前已经对数据进行了洗牌,但我无法理解这是过度拟合还是数据泄漏。然后我决定使用
我得到了下一个数字,但我无法解释:
我尝试了另外两种分类算法:Logistic Regression 和 SVM,我得到了下一个测试准确率:分别为 99,84 和 99,94%。
更新 在我的原始数据集中,我映射了 4 个分类列,然后使用下一个代码:
在使用 RandomUnderSampler 对我的原始数据进行欠采样以获得类平衡后,我将数据拆分为训练和测试数据集 train_test_split 的 sklearn
任何想法都可能对我有帮助!