ANN训练集缩放

时间:2013-02-11 17:40:43

标签: machine-learning neural-network backpropagation

我正在使用Backpropagation进行人工神经网络,以进行分类任务。然而,我对我正在使用的数据集的规范化感到有点困惑(我没有强大的统计数据/概率背景)。

数据样本如下所示:

5.1, 3.5, 1.4, 0.2, 1
5.2, 2.7, 3.9, 1.4, 2
5.9, 3.0, 5.1, 1.8, 3

每个人的最后一个标记是该类。

现在,由于我正在使用Sigmoid传递函数,我的网络显然无法输出大于1的值,因此需要对数据进行规范化/缩放。

我的第一个问题;我需要扩展功能和类,还是只需要扩展类?

我的第二个问题是,是否存在任何“事实上”或常用的缩放方法?

此致 杰克亨特

2 个答案:

答案 0 :(得分:2)

通常建议您也扩展功能。缩放应该与scaled_feature =(feature - min(featurearray))/(max(featurearray) - min(featurearray))一样简单。

因此,对于第一个属性列,新数据将是: (5.1-5.1)/(5.9-5.1); (5.2-5.1)/(5.9-5.1); (5.9-5.1)/(5.9-5.1)

答案 1 :(得分:1)

实际上,缩放主题是采用机器学习算法(尤其是人工神经网络)的最重要方面之一。

是的,(feature-min / max - min)方法是一种可能性。

然而,还有一系列其他方法。例如,您可以使用z分数(根据与平均值的标准偏差)。或者,还存在称为z轴归一化的技术,其中将额外分量添加到归一化矢量。有时,绝对不需要缩放。