我正在用一些生物实验数据训练ANN。简言之,我的输入数据集(特征(由不同样本(细胞系(的基因水平(RNA表达水平(组成。在这个数据集中,我有相同生物样本的复制品,这意味着我已经测量了两次(或更多次(相同细胞系或本应相同的细胞系的RNA表达水平。我在训练集中包括了所有不同的测量值(不同的细胞系、同一细胞系的不同测量值等(作为不同的样本,以增加ANN的灵活性,而不是计算平均值并仅使用平均值(用于同一细胞株的不同测量(。
我想知道我是否可以用同一细胞系不同测量值的平均值作为我的验证测试——你怎么看?这是一个回归神经网络,标签是蛋白质结构。
您不能这样做。
验证(和测试(集背后的关键思想是,它们必须完全由看不见的数据组成;但事实并非如此,因为在训练中已经看到了用于平均值的数据。
过去有很多恐怖故事(包括研究论文。他们受了重伤。对于某些情况,请参阅我的博客文章How NOT perform feature selection!;在Python中有一个简单的可重复的例子,说明在这种情况下会出现什么问题(太长了,读不下去了:一切(,请参阅"在Train-Test Split之前还是之后进行特征选择"中自己的答案?
第二个关键(但通常是隐含的(想法是,您的验证/测试集必须与您的训练数据在质量上相似,即理论上它们必须来自相同的数据生成概率分布。可以说,你的单个样本的分布与它们的平均值的分布不一样。