`
bewithme
  • 浏览: 430438 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DataVec/归一化

    博客分类:
  • dl4j
阅读更多

为什么要进行归一化?

 

当它们被馈送的数据被归一化时,神经网络工作得最好,数据被限制在-1到1之间。这样做有几个原因。一个是使用梯度下降训练网络,并且它们的激活函数通常在-1和1之间的某个范围。即使使用不会很快饱和的激活函数,将你的值限制到这个范围以提高性能仍然是很好的实践。

 

可用的预处理器


MultiNormalizerStandardize

[源码]

MultiDataSet的预处理器把特征值(和可选的标签值)归一化到均值为0,标准差为1。

 

load
public void load(@NonNull List<File> featureFiles, @NonNull List<File> labelFiles) throws IOException 

 从文件系统加载均值和标准差。

  • 参数featureFiles是特征值的原文件,每个输入要求有两个文件,均值和标准差文件。
  • 参数labelFiles是标签源文件,每个输出要求2个文件,均值和标准差文件。
save
public void save(@NonNull List<File> featureFiles, @NonNull List<File> labelFiles) throws IOException 
    • 参数featureFiles是特征值的原文件,每个输入要求有两个文件,均值和标准差文件。
    • 参数labelFiles是标签源文件,每个输出要求2个文件,均值和标准差文件。
    • 已弃用 使用 {- link MultiStandardizeSerializerStrategy} 代替

保存当前的均值和标准差到文件系统。

 

ImageMultiPreProcessingScaler 图像多预处理缩放器

[源码]

 

一种预处理器,专门用于在多数据集中应用最小最大缩放到一个或多个特征阵列的图像。

可以采用一个范围,因此可以将像素值从0->255缩放为minRange->maxRange默认minRange=0和maxRange=1;如果像素值不是8位,则可以指定位数作为构造函数中的第三个参数。

对于已经浮点的值,指定位数为1。

 

 

ImageMultiPreProcessingScaler
public ImageMultiPreProcessingScaler(double a, double b, int maxBits, int[] featureIndices) 

 预处理器可以取一个范围作为最小范围和最大范围

 

      • 参数 a, 默认 = 0
      • 参数 b, 默认 = 1
      • 参数maxBits是图片的最大位, 默认 = 8
      • 参数 featureIndices 特征数组的索引。如果只存在一个特征数组,则应该总是为0。

StandardizeStrategy 标准化策略

[源码]

全部的均值和标准差文。

 

preProcess
public void preProcess(INDArray array, INDArray maskArray, DistributionStats stats) 

归一化一个数据数组

      • 参数 array 用于归一化的数组
      • 参数 stats 数据总体的统计 
revert
public void revert(INDArray array, INDArray maskArray, DistributionStats stats) 

反归一化一个数据组

      • 参数 array 用于反归一化的数组
      • 参数 stats 数据总体的统计

MultiNormalizerMinMaxScaler 多归一化器最小最大值缩放器

[源码]

多数据集的预处理器,用来归一化特征值(并且也可以是标签值,值介于一个最小值和最大值之间(默认在0和1之间 )

 

MultiNormalizerMinMaxScaler 
public MultiNormalizerMinMaxScaler(double minRange, double maxRange) 

预处理器可以取一个范围作为最小范围和最大范围

 

 

      •  参数 minRange 是目标范转下界
      • 参数 maxRange 是目标范转上界

CompositeMultiDataSetPreProcessor 组合多数据集预处理器

[源码]

 

一个简单的组合多数据集合预处理器-允许你在一个多数据集上应用多个多数据集合预处理器,它们按顺序被传递给构造器。

 

CompositeMultiDataSetPreProcessor
public CompositeMultiDataSetPreProcessor(MultiDataSetPreProcessor... preProcessors)
      • 参数 preProcessors 是需要应用的预处理器。它们将以这个顺序被应用。

ImageFlatteningDataSetPreProcessor 图像平坦化数据集预处理

[源码]

 

用于平坦化一个4维的CNN 特征数组为一个平坦的2维格式的数据集预处理器(用于一个类似于稠密层/多层感知器)


MultiNormalizerHybrid 多归一化器混合

[源码]

多数据集预处理器,可以配置为对不同的输入和输出使用不同的归一化策略,或者根本不使用。例如,当一个输入应该被归一化时,可以使用,但是另一个输入应该不被修改,因为它是嵌入层的输入。或者,人们可能想要混合归一化和最小最大缩放用于不同的输入和输出。

默认情况下,不应用归一化。有一些方法可以针对全局或单个输入/输出级别的输入和输出配置期望的归一化策略。特定的输入/输出策略将取代全局的输入/输出策略。

 

MultiNormalizerHybrid
public MultiNormalizerHybrid standardizeAllInputs() 

对所有输入应用标准化,除了被单独配置的那些输入。

      • 返回归一化器 
minMaxScaleAllInputs
public MultiNormalizerHybrid minMaxScaleAllInputs() 

对所有输入应用最小最大缩放,除了被单独配置的那些输入。

    • 返回归一化器 
minMaxScaleAllInputs
public MultiNormalizerHybrid minMaxScaleAllInputs(double rangeFrom, double rangeTo) 

 

对所有输入应用最小最大缩放,除了被单独配置的那些输入。

      • 参数rangeFrom是目标范围的下界
      • 参数rangeTo是目标范围的上界
      • 返回归一化器 
standardizeInput
public MultiNormalizerHybrid standardizeInput(int input)  
对指定输入应用标准化,重写全局输入策略(如果有的话)
      • 参数input是输入索引
      • 返回归一化器
minMaxScaleInput
public MultiNormalizerHybrid minMaxScaleInput(int input) 
对指定输入应用最小最大缩放,重写全局输入策略(如果有的话)
      • 参数input是输入索引
      • 返回归一化器
minMaxScaleInput
public MultiNormalizerHybrid minMaxScaleInput(int input, double rangeFrom, double rangeTo) 
对指定输入应用最小最大缩放,重写全局输入策略(如果有的话)
      • 参数input是输入索引
      • 参数rangeFrom是目标范围的下界
      • 参数rangeTo是目标范围的上界
      • 返回归一化器
standardizeAllOutputs
public MultiNormalizerHybrid standardizeAllOutputs() 

 对所有输出应用标准化,除了单独配置的输出。

      • 返回归一化器
minMaxScaleAllOutputs
public MultiNormalizerHybrid minMaxScaleAllOutputs()  
        对所有输出应用最小最大缩放,除了单独配置的输出。
      • 返回归一化器
minMaxScaleAllOutputs
public MultiNormalizerHybrid minMaxScaleAllOutputs(double rangeFrom, double rangeTo) 

所有输出应用最小最大缩放,除了单独配置的输出。

      • 参数rangeFrom是目标范围的下界
      • 参数rangeTo是目标范围的上界
      • 返回归一化器
standardizeOutput
public MultiNormalizerHybrid standardizeOutput(int output) 
对指定输出应用标准化,重写全局输入策略(如果有的话)
    • 参数输出是输出索引
    • 返回归一化器
minMaxScaleOutput
public MultiNormalizerHybrid minMaxScaleOutput(int output) 
对指定输出应用最小最大缩放,重写全局输入策略(如果有的话)
    • 参数输出是输出索引
    • 返回归一化器
minMaxScaleOutput
public MultiNormalizerHybrid minMaxScaleOutput(int output, double rangeFrom, double rangeTo) 

对指定输出应用最小最大缩放,重写全局输入策略(如果有的话)

      • 参数输出是输出索引
      • 参数rangeFrom是目标范围的下界
      • 参数rangeTo是目标范围的上界
      • 返回归一化器
getInputStats
public NormalizerStats getInputStats(int input) 

给定一个输入,获取归一化统计。

      • 参数input是输入索引
      • 返回一个相当于归一化策略的归一化统计
getOutputStats
public NormalizerStats getOutputStats(int output)  
给定一个输入,获取归一化统计。
      • 参数output是输出索引
      • 返回一个相当于归一化策略的归一化统计

 

fit
public void fit(@NonNull MultiDataSet dataSet) 

获取每个输入的归一化统计映射

      • 返回指向归一化器统计实例的输入索引映射
fit
public void fit(@NonNull MultiDataSetIterator iterator) 

在数据集上迭代用于归一化的统计信息

      • 参数iterator是用于收集统计信息的迭代器
transform
public void transform(@NonNull MultiDataSet data) 

转换一个数据集 

      • 参数 data是要预处理的数据集 the dataset to pre proces
revert
public void revert(@NonNull MultiDataSet data) 

 取消这个数据归一化实例(数组在原处修改)所应用的归一化。

      • 参数data是需要取消归一化的多数据集。
revertFeatures
public void revertFeatures(@NonNull INDArray[] features) 

撤消(还原)此数据归一化实例应用到整个输入数组的归一化

      • 参数features是输入的归一化数组
revertFeatures
public void revertFeatures(@NonNull INDArray[] features, INDArray[] maskArrays)  
撤消(还原)此数据归一化实例应用到整个输入数组的归一化
      • 参数features是输入的归一化数组
      • 参数 maskArrays是 属于输入的可选掩码数组
revertFeatures
public void revertFeatures(@NonNull INDArray[] features, INDArray[] maskArrays, int input) 

 撤消(还原)此数据归一化实例应用到一个特殊输入的特征的归一化

      • 参数features是输入的归一化数组
      • 参数 maskArrays是 属于输入的可选掩码数组
      • 参数input是要还原归一化的输入的索引
revertLabels
public void revertLabels(@NonNull INDArray[] labels) 

撤消(还原)此数据归一化实例应用到整个输出数组的归一化

      • 参数labels是输出的归一化数组 
revertLabels
public void revertLabels(@NonNull INDArray[] labels, INDArray[] maskArrays) 

撤消(还原)此数据归一化实例应用到整个输出数组的归一化

      • 参数labels是输出的归一化数组
      • 参数 maskArrays是 属于输出的可选掩码数组
revertLabels
public void revertLabels(@NonNull INDArray[] labels, INDArray[] maskArrays, int output) 

撤消(还原)此数据归一化实例应用到一个特殊输出的特征的归一化

      • 参数labels是输出的归一化数组
      • 参数maskArrays是 属于输出的可选掩码数组
      • 参数output是要还原归一化的输出的索引 

NormalizerMinMaxScaler

[源码]

 

数据集的预处理器,用于归一化特征值(也可以是标签值),让其介于一个最小值与最大值之间(默认为0到1之间)

 

NormalizerMinMaxScaler
public NormalizerMinMaxScaler(double minRange, double maxRange) 

预处理器,可以取一个范围作为最小范围和最大范围

      • 参数 minRange
      • 参数 maxRange
load
public void load(File... statistics) throws IOException 

加载给定的最大和最小值 

      • 需要加载的统计信息
      • 抛出 IOException
save
public void save(File... files) throws IOException 

保存当前最小值和最大值

      • 参数files是要保存的统计信息
      • 抛出IOException
      • 弃用,使用NormalizerSerializer代替

CompositeDataSetPreProcessor 组合数据集预处理器

[源码]

一个简单的组合数据集预处理器-允许你在一个数据集上按顺序应用多个数据集预处理器,它们按顺序传递给构造器。

 

CompositeDataSetPreProcessor
public CompositeDataSetPreProcessor(DataSetPreProcessor... preProcessors)
      • 参数  preProcessors 是要应用的预处理器。它们会以这个顺序应用。 

Normalizer

[源码]

所有归一化器的基础接口


NormalizerStrategy

[源码]

基于全体统计用于归一化和还原归一化的策略接口。


ImagePreProcessingScaler 图像预处理缩放器

[源码]

Created by susaneraly on 6/23/16.

 

一种预处理器,专门用于在多数据集中应用最小最大缩放到一个或多个特征阵列的图像。可以采用一个范围,因此可以将像素值从0->255缩放为minRange->maxRange默认minRange=0和maxRange=1;如果像素值不是8位,则可以指定位数作为构造函数中的第三个参数。对于已经浮点的值,指定位数为1。

 

ImagePreProcessingScaler
public ImagePreProcessingScaler(double a, double b, int maxBits) 

预处理器可以取一个范围作为最小范围和最大范围

      • 参数 a, 默认 = 0
      • 参数 b, 默认 = 1
      • 参数maxBits是图片的最大位, 默认 = 8
fit
public void fit(DataSet dataSet) 

拟合数据集(只计算基于此数据集的统计数据)

      • 参数dataSet参与计算的数据集
fit
public void fit(DataSetIterator iterator) 

在数据集上迭代用于归一化的统计信息

      • 参数iterator是用于收集统计信息的迭代器
transform
public void transform(DataSet toPreProcess) 

转换数据 

      • 参数toPreProcess要转换的数据集

VGG16ImagePreProcessor

[源码]

 

这是一个专门用于VG16的预处理器。它从每个像素中减去在训练集上计算的平均RGB值,如报告的那样。https://arxiv.org/pdf/1409.1556.pdf

 

fit
public void fit(DataSet dataSet) 

拟合数据集(只计算基于此数据集的统计数据)

    • 参数dataSet参与计算的数据集
fit
public void fit(DataSetIterator iterator) 

在数据集上迭代用于归一化的统计信息

      • 参数iterator是用于收集统计信息的迭代器
transform
public void transform(DataSet toPreProcess) 

转换数据 

 

      • 参数toPreProcess要转换的数据集

NormalizerStandardize

[源码]

Created by susaneraly, Ede Meijer 。数据集的方差和均值预处理器,将特征值(和可选的标签值)标准化为0均值和标准偏差1

 

 

load
public void load(File... files) throws IOException 

从文件系统中加载均值和标准差

      • 参数files是需要加载的文件,如果标准化标签需要4个文件,否则为2.
save
public void save(File... files) throws IOException 
      • 参数files是需要保存的文件,如果标准化标签需要4个文件,否则为2.
      • 弃用,使用NormalizerSerializer代替

将当前方法和标准偏差保存到文件系统 


MultiDataNormalization

[源码]

一个用于多数据集归一化器的接口。数据归一化器,在一个多数据集上计算某些统计信息并按某种方式缩放数据。


MinMaxStrategy

[源码]

总体数据的上界和下界统计

 

MinMaxStrategy
public MinMaxStrategy(double minRange, double maxRange) 
      • 参数minRange是目标范围的下界
      • 参数maxRange是目标范围的上界
preProcess
public void preProcess(INDArray array, INDArray maskArray, MinMaxStats stats) 

归一化一个数据数组

      • 参数array是需要归一化的数据
      • 参数stats是总体数据的统计信息  
revert
public void revert(INDArray array, INDArray maskArray, MinMaxStats stats) 

对一个数据数组还原归一化

      • 参数array是需要还原归一化的数据
      • 参数stats是总体数据的统计信息

DataNormalization

[源码]

一个用于多数据集归一化器的接口。数据归一化器,在一个多数据集上计算某些统计信息并按某种方式缩放数据。

 

 

有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

     

分享到:
评论

相关推荐

    归一化_labview归一化_归一化_

    归一化是数据分析和信号处理中的一个重要概念,它是指将数据按照一定的比例缩放,使之落入一个特定的取值范围,通常为0到1之间。这个过程有助于消除数据的量纲影响,使得不同尺度的数据可以进行比较或者组合,从而...

    归一化算法代码,用于图像归一化

    在图像处理领域,归一化是一种重要的预处理技术,它旨在调整图像数据的范围或分布,使其具有统一的标准,从而提高后续分析或算法的效率和准确性。本压缩包中的“归一化算法代码”显然是针对图像归一化的实现,下面...

    matlab图像处理为什么要归一化和如何归一化

    Matlab 图像处理中的归一化 Matlab 图像处理中,归一化是一种非常重要的预处理步骤。归一化的目的是将图像数据转换到一个统一的尺度上,以便于后续的图像处理和分析。下面,我们将详细介绍 Matlab 图像处理中的归一...

    归一化和反归一化matlab程序

    归一化和反归一化是数学处理和数据分析中常用的技术,特别是在计算机科学,机器学习,图像处理等领域。MATLAB是一种强大的编程环境,适合进行这些计算。以下将详细解释这两个概念以及它们在MATLAB中的实现。 归一化...

    tiqu.rar_seven segment matlab_信号瞬时信息_归一化信号_归一化幅度_瞬时相位

    提取信号七个基于瞬时信息的特征:零中心归一化瞬时幅度功率谱密度的最大值,零中心归一化瞬时幅度绝对值的标准偏差,零中心非弱信号段瞬时相位非线性分量绝对值标准偏差,零中心非弱信号段瞬时相位非线性分量标准...

    Matlab特征向量归一化

    ### Matlab特征向量归一化 #### 知识点概述 在本篇文章中,我们将深入探讨如何使用Matlab实现特征向量的归一化处理。归一化是一种常见的数据预处理技术,在许多领域如机器学习、图像处理和信号处理中都有广泛的...

    归一化,归一化处理,matlab

    在MATLAB中,归一化处理可以通过多种方式实现,通常包括最小-最大归一化、z-score归一化以及L1和L2范数归一化等。 最小-最大归一化(Min-Max Scaling)是将数据按比例缩放,使之落入一个特定的区间,如[0,1]或[-1,1...

    NormalizeFea.zip_MATLAB归一化_normalizeFea_归一化_特征归一化_行归一或者列归一

    在数据分析和机器学习领域,特征预处理是至关重要的步骤,其中归一化是常见的方法之一。归一化可以使数据在相同尺度上,从而提高算法的性能,减少计算复杂度,并帮助避免某些变量因数值范围差异过大而占据主导地位。...

    对python3 一组数值的归一化处理方法详解

    1、什么是归一化: 归一化就是把一组数(大于1)化为以1为最大值,0为最小值,其余数据按百分比计算的方法。如:1,2,3.,那归一化后就是:0,0.5,1 2、归一化步骤: 如:2,4,6 (1)找出一组数里的最小值和最大...

    pcd格式点云归一化的C++实现,借助PCL点云库

    PCL(Point Cloud Library)是一个常用的点云处理库,提供了许多点云处理的功能,其中包括点云归一化。 点云归一化是将点云数据转换为统一的坐标系,使得不同点云之间可以进行有效的比较和配准。点云归一化的意义...

    归一化分割与图像分割

    在这一过程中,归一化分割方法被提出,以解决传统基于局部特征的图像处理方法的局限性,转而从全局角度考虑图像的感知分组问题。 归一化分割方法将图像分割视为一个图划分问题,通过提出一种新颖的全局准则——归一...

    guiyihua.rar_c++ 数据归一化_guiyihua_归一化_归一化处理_数据 归一 处理

    数据归一化是一种在数据分析和机器学习中常用的数据预处理技术,目的是将原始数据转换到一个统一的尺度上,使得不同特征之间的差异性不会对模型训练造成过大影响。在这个名为"guiyihua.rar"的压缩包文件中,包含了一...

    matlab归一化相关函数\归一化相关算法

    matlab归一化相关函数\归一化相关算法。

    matlab对表面肌电信号进行归一化处理,并对归一化后的图形显示

    资源名:matlab对表面肌电信号进行归一化处理,并对归一化后的图形显示 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换...

    datanorm.zip_matlab列归一化_反归一化_归一化_归一化matlab

    在数据分析和机器学习领域,数据预处理是至关重要的一步,其中归一化是常见的操作之一。归一化可以使数据在特定范围内标准化,提高算法的计算效率和模型的准确性。本资源是一个关于MATLAB实现列归一化和反归一化的...

    人脸图像归一化

    人脸图像归一化是计算机视觉领域中人脸识别技术的重要步骤,其目的是为了消除各种环境因素和个体差异对人脸图像的影响,提高人脸识别的准确性和鲁棒性。在这个过程中,我们通常会处理以下几个关键点: 1. **尺度...

    欧式距离+归一化

    在数据分析和机器学习领域,"欧式距离"和"归一化"是非常重要的概念,它们在处理数据时起着至关重要的作用。本程序是利用Matlab编程语言实现的,旨在批量处理数据,通过归一化来标准化数值范围,然后计算各数据点之间...

    基于FPGA的变M_T归一化测速算法研究.pdf

    基于FPGA的变M/T归一化测速算法研究是针对永磁同步电机测速问题而提出的一项技术研究。本文阐述了在Xilinx FPGA板级系统上设计和实现了一种变M/T归一化测速算法。文章首先分析了传统M/T算法在低速测量范围内的局限性...

    BP神经网络Matlab程序例子_反归一化_BP神经网络_

    Matlab中常见的归一化方法有最小-最大归一化(MinMax Scaling)和Z-score标准化。 - **最小-最大归一化**:\( x_{norm} = \frac{x - min(x)}{max(x) - min(x)} \) - **Z-score标准化**:\( x_{norm} = \frac{x - \...

Global site tag (gtag.js) - Google Analytics