【问题标题】:Learning artificial neural network properties?学习人工神经网络属性?
【发布时间】:2023-04-09 03:11:01
【问题描述】:

我有一个数据集,每个项目包含大约 50,000 个属性。 (主要是 0 到 1 之间的值,根本没有离散值)

这些属性没有被标记,并且假定它们彼此没有关系。 + 我提前知道大多数属性都是无用的。 (其中 99%)

我的任务是在神经网络中使用尽可能少的属性,以便知道如何区分 5 种项目类型。

理论上,我可以通过所有 50K 属性进入 ANN,并希望获得最好的结果,但训练需要大量时间。 + 千兆字节的 RAM,我不确定我的服务器不会崩溃。

是否有衡量参数分类级别的模型?

如果不是,以下是个好主意吗?

  • 检查我所有的 50K 参数,并使用
  • 训练 50K ANNS
  • 获取最大准确度 ANN,然后重新开始,输入 3 个输入: 等等,直到我达到 95% 的准确度然后停止

我看不出它为什么不起作用,但是训练至少 10*50,000 个人工神经网络也不是很理想。

编辑:

每个类别有 12 个示例。总共60个项目。 (我知道它很小,但我无法得到更多。)

【问题讨论】:

  • 为什么要使用神经网络来解决这个问题?这听起来像是对带有某种回归(或 NN)、决策树或主成分的前向选择的简单应用。
  • 所以你有高维数据,但是你有多少样本?
  • @GordonLinoff 只是出于熟悉。 + 大多数属性是 0 到 1 之间的数字,没有一个是离散值。我看不出决策树是如何解决这个问题的,而回归也会有同样的问题——对于许多参数。
  • @J.P.Petersen 我每个类别有 12 个示例(我知道.. 数量很少,但每个示例都是从 5GB 文件中提取的)
  • @Amit 。 . .前向选择回归和决策树选择模型的属性。这似乎是你想要做的。

标签: neural-network artificial-intelligence


【解决方案1】:

特征选择

我会回避使用神经网络来解决这个问题。如果您与神经网络的想法有关,那么可以将您的 50000 x 60 数据矩阵插入网络,因为这根本不需要太多内存。如果您使用 L1 正则化器,然后分析所有 0 条目的网络权重,您可以确定哪些特征没有用。

还有许多其他特征选择方法。例如,LASSO 算法试图以与上述神经网络方法非常相似的方式解决这个问题。

另一种众所周知的算法是前向选择回归,您一次只使用一个属性执行回归。然后,您选择最能区分类的属性,修复该属性,然后一次使用两个属性再次选择(上次扫描​​的最佳属性,每次一个其他属性)。你重复这个过程,直到添加另一个属性没有更好的类分离。如果大多数功能真的没用,我不会担心训练这个模型所花费的时间。在这种大小的数据集上使用线性回归(因为它有一个封闭形式的解决方案)几乎不需要任何时间。

特征提取

一种更有原则的方法是某种形式的主成分分析 (PCA)。这将显示您的数据集有多少共线属性,并会提取少量 属性来描述您的数据。

【讨论】:

    猜你喜欢
    • 2022-07-20
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 2016-05-25
    • 2019-03-15
    • 2011-08-17
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多