我目前正在使用反向传播算法进行一个分类任务的人工神经网络(ANN)研究。然而,我对如何归一化我所使用的数据集有些困惑(我没有很强的统计学/概率学背景)。
下面展示了一部分数据样本:
5.1, 3.5, 1.4, 0.2, 15.2, 2.7, 3.9, 1.4, 25.9, 3.0, 5.1, 1.8, 3
其中,每个样本的最后一个标记是类别。
现在,由于我使用的是Sigmoid传输函数,我的网络显然不能输出大于1的值,因此数据需要进行归一化/缩放。
我的第一个问题是:我需要对特征和类别都进行缩放,还是只对类别进行缩放?
我的第二个问题是,有没有一种常用或默认的方法来进行这种缩放?
此致,Jack Hunt
回答:
通常建议也对特征进行缩放。缩放方法可以简单地表示为: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)