是否适合这种应用的神经网络

数据挖掘 神经网络 初学者
2022-01-21 10:08:12

如果这个问题不是合适的格式,我们深表歉意。我是数据科学的新手。

我有一个包含约 1600 万条记录的物种观察数据数据库。每条记录包括:

  • 纬度
  • 经度
  • 日期
  • 时间
  • 观察到的物种(即物种单数,而不是复数)

此数据已由专家手动审查,因此记录中的每个物种都有一个附加字段,用于将观察分类为有效或无效(或更准确地说,可能正确/可能不正确)

我正在探索在这些数据上训练神经网络以自动将新记录分类为有效或无效的想法(“无效”数据将被标记为人工专家审查。)

绝大多数记录都被归类为“有效”,所以我担心没有太多信息可以训练模型了解什么是“无效”。

然而,一个记录是否有效的一个很好的预测指标是,非正式地说,“附近是否有该物种的其他记录(空间和/或时间)”

我不确定从哪里开始为这个问题制定神经网络。例如

输入:纬度、经度、日期、时间、物种

输出:有效性

或者

输入:纬度、经度、日期、时间

输出:每个已知物种的一个输出表明有效性

我喜欢第二个模型的想法,因为我可以输入时间和位置,然后列出可能的物种。


所以我的具体问题是:

  1. 这听起来像是适合神经网络的应用程序吗?

  2. 如果是这样,我可以从哪里开始为我的问题制定模型?或者有人可以为我指出一个好的方向,以了解有关此主题的更多信息。

3个回答

在决定模型之前,我建议重新制定数据集以最适合您的问题。您可以按如下方式处理此问题:

  1. 由于您尝试预测的输出是观察的有效性,因此保持“有效性”= True/False,或 1/0 作为目标变量。
  2. 其中一个参数是分类变量“物种”,我希望它具有很高的基数。由于地球上大约有 870 万种物种,如果您在模型中使用此变量,它可能会扩展到 870 万个单独的列(以热编码形式)。即使是对 100,000 个物种的保守估计,也无法按原样使用。因此,您需要一种方法来将此物种信息转换为更少的特征。
  3. 您可以尝试的一种方法是为每个物种创建地理集群(仅使用有效的标记记录),然后确定每个物种的最近中心和距其集群中心距离的最大/平均/四分位数测量值。分别为一年中的每个季度执行此操作以考虑季节性变化。接下来,将此信息添加回主数据集以指示每个记录 - 该物种集群的所有地理中心。在下一步中,为每条记录找到最近的聚类中心并计算此特定观测值与其聚类中心的距离。然后计算其与集群中心的距离与最大距离和与该集群中心的平均距离的比率。使用此度量而不是地理空间坐标和物种标识符。
  4. 另一种方法可能是添加额外的特征,例如在一年中进行观测时每个位置的气候和该位置的平均历史温度。这是因为一些动物可能会根据季节向南/北迁移,因此如果一个物种的位置在夏季被发现有效,那么由于无法在寒冷中生存,因此在冬季可能无法在同一位置找到它天气。如果将其与上面的#3 结合起来,它将显着丰富观察结果。

在完成这项广泛的艰苦工作之后,您应该进行一些探索性分析并绘制这些数据的子集以更好地理解它。通过可视化数据,有时我们能够比不可视化数据更快地找出最佳行动方案。

接下来,您可以探索不同的机器学习算法,以使模型适合这些精炼的数据。我建议尝试除神经网络之外的其他算法,例如逻辑回归、SVM、岭回归、随机森林和梯度提升机器,然后选择性能最佳的算法。大多数机器学习套件/框架都实现了这些,因此不难找出如何将这些应用到您的数据集。

神经网络可以尝试,但与所有算法一样,您需要小心常见的陷阱,例如:

  1. 避免将模型过度拟合到训练数据:为了避免这种情况,使用正则化并使用独立的保留验证集保持交叉检查的准确性。
  2. 使用交叉验证(10 倍)并重复多次以获得模型对新数据的性能指标的良好估计。
  3. 由于数据是高度不平衡的(许多有效记录,但按比例计算的无效记录很少),请使用除简单真实准确率之外的性能指标。尝试使用 F1 分数、精度(识别无效记录)、Kappa 指标等。
  4. 由于高度不平衡,如果您对少数类(无效)进行过度采样或对多数类(有效)进行过度采样,或者两者都进行,这将有所帮助。这将提高模型精确分类模式的能力。
  5. 调整学习率和隐藏层数等超参数。最佳模型性能的单位。

您可能会也可能不会将神经网络应用于您的问题。神经网络肯定会给出预测,但不能说它对这个问题的效率有多大。您必须自己编写代码并检查它。此外,如果您拥有表格形式的所有上述数据并且您知道标签(我猜是valid/inavlid),我会说尝试使用 xgboost。神经网络对于无监督学习是例外,但在监督学习的情况下,可能有一个模型可能优于神经网络。

机器学习的基础是这样的。数据有规律吗?如果是这样,那么有一个描述模式的公式。如果公式已知,请使用公式。如果存在模式但描述模式的公式未知,您可以使用机器学习来确定最接近它的公式。