1

我目前正在使用反向传播研究人工神经网络,用于分类任务。然而,我对规范化我正在使用的数据集有点困惑(我没有强大的统计/概率背景)。

数据示例如下所示:

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 的值,因此需要对数据进行归一化/缩放。

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

我的第二个问题,是否有任何“事实上的”或常用的方法来进行这种缩放?

问候, 杰克亨特

4

2 回答 2

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)

于 2013-02-11T18:21:53.637 回答
1

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

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

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

于 2013-02-11T19:24:01.900 回答