不训练模型

问题描述 投票:0回答:1

我的问题是我有 6 节课。鉴于此数据,我的数据中有两列。应该按照这一栏来分类,这一栏是振动,和我的时间栏相比,时间向前推进了0.01和0.01,比如我的第一类是这样的:0.01, 0.02 和... 100000.0 这是对于第一个类是有的,而第二个类是 0.01、0.02、和... 100000.0 和其余的类是一样的,现在问题出在哪里?我测试了多个模型,在所有模型中,准确率都保持在 16%,并且在任何模型中都没有观察到准确率的提高。数据都是数字,没有噪音,我对数据进行了归一化(振动列)。我有 1000 万个样本,并且没有丢失数据的问题(我想使用 Python 中的神经网络来解决这个问题,到目前为止我已经使用了这些(lstm,DNN,simpleRnn,conv1)**

python deep-learning recurrent-neural-network tf.keras
1个回答
-1
投票
  1. 数据歧义和分类准确性

    • 当数据点在特征空间中分布不均匀时,数据分类就变得具有挑战性。在弱结构化数据集中,数据点在不同类之间重叠,实现高精度可能很困难。
    • 分类精度的理论极限源于数据类别的重叠。在理想的训练条件下,即使是强大的分类器也可以在这个通用精度限制下执行。
    • 考虑检查数据点在特征空间中的分布。如果存在显着重叠,可能会影响模型的性能。
  2. 模型选择和超参数调整

    • 您已经尝试了多种模型(LSTM、DNN、simpleRNN 和 Conv1D),但准确率保持在 16%。让我们探讨一些可能性:
      • 超参数调整:确保您已调整超参数,例如学习率、批量大小和网络架构。
      • 模型复杂度:尝试不同的模型复杂度(例如更深或更宽的网络)以找到正确的平衡。
      • 正则化:应用dropout或L2正则化来防止过度拟合。
      • 激活函数:为隐藏层尝试不同的激活函数(ReLU、tanh 等)。
      • 损失函数:确保您使用适当的损失函数(例如,用于多类分类的分类交叉熵)。
      • 优化器:尝试不同的优化器(Adam、SGD 等)。
  3. 数据预处理:

    • 您已经标准化了振动柱,这很棒。考虑其他预处理步骤:
      • 特征工程:从时间序列数据中提取相关特征(例如统计矩、频域特征)。
      • 窗口化:创建时间序列数据的滑动窗口以捕获时间模式。
      • 数据增强:通过添加噪声或扰乱现有样本来生成合成数据。
  4. 类别不平衡

    • 检查您的课程是否平衡。如果不是,请考虑对少数类进行过采样或对多数类进行欠采样。
  5. 集成方法:

    • 结合多个模型的预测(例如,bagging、boosting 或 stacking)以提高准确性。
  6. 评估验证集

    • 将数据分为训练集、验证集和测试集。在训练期间监控验证集的准确性以检测过度拟合。
  7. 异常检测:

    • 如果您的类别高度不平衡,请考虑将其视为异常检测问题而不是分类问题。

请记住,神经网络可能对超参数和数据质量敏感。尝试不同的方法,并不断完善您的模型,直到获得更好的结果。

© www.soinside.com 2019 - 2024. All rights reserved.