首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对张量数据的均值和标准差进行增量更新?

如何对张量数据的均值和标准差进行增量更新?
EN

Data Science用户
提问于 2022-09-27 06:24:00
回答 1查看 37关注 0票数 1

我有一个很大的数据集(大约400 so ),它由张量数据(shape is (600, 600, 10))组成,我想在将这个数据集输入到一个神经网络之前对它进行规范化,但是这个数据集不适合我的记忆,所以我想知道均值和标准差的增量更新。

公式是这里,但我不知道如何在张量情况下调整它们,因为我不是每个新的迭代步骤只有一个值,而是一个整体张量,而且我不能取这个新张量的平均值,因为平均值并不是整个数据集的平均值。

EN

回答 1

Data Science用户

回答已采纳

发布于 2022-10-03 03:17:43

标准化是需要使每个输入特征在相同的尺度内变化,大致相同的平均值。如果一个功能在更大的范围内变化,它将对您的网络在培训期间最小化的错误产生更大的影响。例如,这个解释:链接

您的输入是形状(600,600,10)中的数据集合。这些600 \times 600 \times 10输入中的每一个都是单独的输入特性。要将它们规范化,需要将这个公式分别应用于每个600 \times 600 \times 10输入,从而获得600 \times 600 \times 10均值和600 \times 600 \times 10标准差。然后从相应的输入中减去每个平均值,然后除以相应的标准差。

但是,您可能不想这样做,特别是在您的(600,600,10)张量中存在一些内部结构时,您可能希望在规范化之后保留这些结构。然后,正常化的方式将取决于您想要保留的属性。

例如,在上面描述的简单规范化期间,彼此相近的值将映射到仍然接近的值,而非常不同的值将映射到相距很远的值。如果这已经足够了,那么您可以使用这种规范化。但是,标准化之前相同的输入可以映射到不同的值,因为每个值都将被不同的规范化。此属性将被销毁,如果您想保留它,则需要进行不同的规范化。

例如,在作为像素的(n,m,3)张量的图像中,特定轮廓中的每个像素可能具有相同的值。您希望这些像素在标准化后具有相同的值来检测此等高线,因此不能单独对每个像素进行规范化。然后,您可能希望将所有输入都进行缩放,即将0到255之间的所有像素值映射到[0, 1][-1, 1]

如果你想要你的数据被正态分布和一致地映射,那么你需要把每个(600,600,10)张量看作一个点的线性序列,把你所有的张量组合成一个长的线性序列,找出这个序列的平均值和标准差,然后从每个输入中减去这个平均值,然后除以标准差。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/114712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档