我目前正在做 DeepLearning.ai 专业化,他们将像素强度与其具有的最大值 (255) 相除,以在处理猫的分类 NN 时标准化数据。Z_Score 对此有何影响?我的代码是否会因为像素不能具有将由 Z 分数分配的负值而失败?
如果我们在神经网络中使用 Z-Score(平均归一化)来标准化值会发生什么
数据挖掘
机器学习
神经网络
2022-03-07 18:55:41
1个回答
通过规范化数据,代码不太可能受到负面影响。这是因为网络不知道图像被用作输入数据的先验,它只接收一组数值(可以代表任何类型的数据)并找到合适的权重和偏差值,从而降低我们的成本功能。
因此,即使我们得到负值作为新的输入数据,也不意味着这种预处理会造成不好的影响。
但是,为什么规范化可能有用?
这里关于 Z-score 归一化的有用之处在于,通过这样做,所有“新像素”都有一个均值为零且方差相同的值。正如 Yann LeCun 在他的论文“ Efficient Backprop ”(第 8 页)中解释的那样,这是一件好事:
- 为什么要使用均值接近于零的特征数据:
如果训练集上的每个输入变量的平均值接近于零,收敛通常会更快……..当输入向量的所有分量都是正数时,输入节点的所有权重更新将是同一个符号。因此,对于给定的输入模式,这些权重只能全部减少或全部增加。因此,如果权重向量必须改变方向,它只能通过曲折来实现,这是低效的,因此非常慢
他所指的表达式是用于更新第一层权重值的表达式,由下式给出:
在哪里表示输入像素值和连接该输入的权重对神经元第一层()。所以,给定标量项很明显,如果所有连接输入层和第一层神经元的权重都将沿同一方向更新正如报价所解释的那样,是积极的。
- 为什么要使用具有相同方差的特征的数据?:
缩放加速学习,因为它有助于平衡连接到输入节点的权重的学习速率。
正如我们之前看到的,给出权重更新的表达式与输入成正比. 所以如果例如样本的值大于样品,然后更新在可能不平衡,因此在两个参数上使用不同的节奏进行更新。
只是一个旁注将每个特征(每个像素强度)除以其最大值的方法不是Z-score归一化,而是另一种数据归一化的方法(为了使用 Z-score,我们必须用来除特征是所有样本中每个像素的标准偏差)。
其它你可能感兴趣的问题