4

我的教授要求我的班级制作一个神经网络来尝试预测乳腺癌是良性还是恶性。为此,我使用了Breast Cancer Wisconsin (Diagnostic) Data Set

作为这样做的提示,我的教授说并非所有 30 个属性都需要用作输入(有 32 个,但前 2 个是 ID 和诊断),我想问的是:我应该如何接受这些30 个输入(这将创建 100+ 个权重,具体取决于我将使用多少个神经元)并将它们变成一个较小的数字?

我已经找到了如何“修剪”神经网络,但我认为这不是我想要的。我不是要消除不必要的神经元,而是要缩小输入本身。

PS:对不起,任何英语错误,这不是我的母语。

4

3 回答 3

2

这是目前正在研究的一个问题。它被称为特征选择,并且已经有一些技术。一种是Principal Componetns Analysis (PCA)降低数据集的维度,采用那些保持最大差异的特征。您可以做的另一件事是查看是否存在高度相关的变量。如果两个输入高度相关可能意味着它们携带几乎相同的信息,因此可以将其删除而不会大大降低分类器的性能。作为您可以使用的第三种技术,deep-learning它是一种尝试学习稍后将用于喂养您的教练的功能的技术。有关深度学习和 PCA 的更多信息,请访问http://deeplearning.stanford.edu/wiki/index.php/Main_Page

于 2013-09-04T11:22:24.743 回答
2

这个问题称为特征选择。神经网络与其他分类器基本相同。您可以在使用 PCA 保留最大方差的同时修剪数据集。更进一步,您可以使用贪心方法并通过依次排除每个特征来训练和测试您的网络来逐个评估您的特征。

于 2013-09-04T04:05:02.957 回答
2

有一种feature selection只使用神经网络的技术

将您的数据集分成三组:

  • 用于监督训练的训练数据
  • 用于验证神经网络是否能够泛化的验证数据
  • 用于测试需要哪些功能的准确性测试

步骤:

  1. 就像你通常做的那样,在你的训练和验证集上训练一个网络。
  2. 使用第三个数据集测试网络的准确性。
  3. 找到在上述精度测试中下降时产生最小下降的变量(下降意味着始终输入零作为输入信号)
  4. 使用新的功能选择重新训练您的网络
  5. 继续这样做,要么网络无法训练,要么只剩下一个变量。

这是有关该技术的论文

于 2013-09-04T05:52:21.220 回答