首页 > 编程知识 正文

归一化原理,数据标准化和归一化的意义

时间:2023-05-04 14:47:26 阅读:31458 作者:2166

主要是为了便于数据处理而提出的,将数据映射到0~1的范围内进行处理应该更加方便快捷,并纳入数字信号处理的范畴。 规格化方法(Normalization Method ) )。

1。 将数变为(0,1 )之间的小数主要是为了方便数据处理而提出的,将数据映射到0~1的范围进行处理更方便快捷,应纳入数字信号处理的范畴。

2。 将有维公式归一化为无量纲公式是一种简化计算的方式。 也就是说,有次元式被变换为无量纲式,成为标量。

例如,复阻抗可以规范化书写。 z=rjl=r(1jl/r )。 复部分是纯数,没有维度。

标准化方法(Normalization Method ) )。

数据标准化是将数据缩放到适合较小的特定区间。 由于信用指标体系各指标的度量单位不同,为了使指标能够参与评价计算,需要对指标进行归一化,并通过函数变换将其数值映射到某个数值区间。

关于神经网络(matlab )规范化的组织

关于神经网络规范化方法的整理

收集的各数据的单位不一致,因此需要对数据进行[-1,1 ]归一化处理。 规范化方法主要如下。 请作为参考。 (按日计算)。

1、线性函数变换,公式如下:

y=(x-minvalue(/)/(最大值- minvalue ) )。

说明: x、y分别为转换前、转换后的值,MaxValue、MinValue分别为采样的最大值和最小值。

2、对数函数转换,公式如下:

y=log10(x )

说明:以10为底的对数函数转换。

3、反馀切函数变换,公式如下:

y=atan(x ) *2/PI

规范化是为了提高训练网络的收敛性,可以不进行规范化处理

规范化的具体作用是总结统一样本的统计分布性。 归一化在0-1之间是统计概率分布,归一化在-1-- 1之间是统计坐标分布。 规范化有同一、统一、一体化的含义。 无论是为了建模还是计算,首先基本的测量单位必须相同。 神经网络在样本事件中以统计离散概率进行训练(概率计算)和预测,归一化为同一0-1之间的统计概率分布。

如果所有样本的输入信号都为正值,则连接到第一隐式层神经元的权重只能同时增加或减少,从而减慢了学习速度。 为了避免此问题,为了加速网络学习,将输入信号归一化为所有样本的输入信号的平均值接近0或小于平均值的方差即可。

这是因为归一化的sigmoid函数的可取值在0与1之间,并且网络中最后一个节点的输出也是如此,因此经常将样本的输出归一化以进行处理。 因此,这样分类的问题,与其使用[0.9 0.1 0.1],不如使用[0.9.1]。

然而,归一化处理并不总是适当的,并且诸如归一化的其他统计转换方法可能更好。

关于使用premnmx语句进行规范化:

premnmx语句的语法格式为[Pn,minp,maxp,Tn,mint,maxt]=premnmx(p,t )

这里,p、t分别是原始的输入输出数据,minp和maxp分别是p中的最小值和最大值。 mint和maxt分别是t的最小值和最大值。

premnmx函数用于标准化网络的输入或输出数据,标准化数据分布在[-1,1 ]区间。

如果我们在训练网络时使用规范化的样本数据,则以后在使用网络时使用的新数据也应该经过与样本数据相同的预处理,这将使用tramnmx。

介绍tramnmx函数。

[pn]=tramnmx(p,minp,maxp ) )。

这里,p和Pn分别是变换前、变换后的输入数据,maxp和minp分别是在premnmx函数中找到的最大值和最小值。

(by terry2008 )

matlab中的归一化处理有三种方法

1. premnmx、postmnmx、tramnmx

2. restd、poststd、trastd

3 .自己编程

具体用那个方法关系到你的具体问题

(按支持)

pm=max(ABS(p ) I, ) ); p(I, )=p ) I, )/pm;

for i=1:27

p(I, )=(p ) I,(-min ) p(I, ) )/max ) I, ) ) I, ) ) );

end可以汇总在1到0 1之间

0.1(x-min )/(max-min ) ) *(0.9-0.1 )其中max和min分别表示采样的最大值和最小值。

这可以从1返回到0.1-0.9

矩阵归一化

正规化的定义:我是这样认为的。 规范化是指在处理了你需要处理的数据后,(通过某种算法)将其限制在你需要的一定范围内。 首先,正规化是为了便于后面的数据处理,其次,保正程序执行时的收敛变快。

在matlab中,用于归一化的方法有(1) premnmx、postmnmx、tramnmx )2) prestd、poststd、trastd )3)

)是用matlab语言自己编程。premnmx指的是归一到[-1 1],prestd归一到单位方差和零均值。(3)关于自己编程一般是归一到[0.1 0.9]

为什么要用归一化呢?首先先说一个概念,叫做奇异样本数据,所谓奇异样本数据数据指的是相对于其他输入样本特别大或特别小的样本矢量。

下面举例:

m=[0.11 0.15 0.32 0.45 30;

0.13 0.24 0.27 0.25 45];

其中的第五列数据相对于其他4列数据就可以成为奇异样本数据(下面所说的网络均值bp)。奇异样本数据存在所引起的网络训练时间增加,并可能引起网络无法收敛,所以对于训练样本存在奇异样本数据的数据集在训练之前,最好先进形归一化,若不存在奇异样本数据,则不需要事先归一化。

一个小程序:

p=[1.3711 1.3802 1.3636 1.3598 1.3502 1.3404 1.3284 1.3160 1.3118 1.3032 1.2989 1.2945 1.2923 1.2923 1.2856 1.2788 1.2742 1.2672 1.2577 1.2279 1.1903 1.0864 0.9956 ];t=[0 1.38 1.68 1.98 2.08 2.23 2.53 2.83 2.93 3.13 3.23 3.33 3.43 3.53 3.63 3.73 3.83 3.93 4.03 4.13 4.23 4.33 4.43];u=p;tt=t;p=(p-min(p))/(max(p)-min(p));%g归一化t=(t-min(t))/(max(t)-min(t));net=newff(minmax(p),[23 1],{'tansig' 'purelin'},'traingdx');net.trainParam.epochs=1000;net.trainParam.goal=0.001;net.trainParam.show=10;net.trainParam.lr=0.05;[net,tr,Y,E]=train(net,p,t);a=sim(net,p);out=a*(max(tt)-min(tt))+min(tt);%反归一化x=u;y=tt;figure(1)plot(x,y,'k*',x,y,'-k',u,out,'ko')title('70°EPDM的压缩永久变形')legend('*试验数据 o预测结果')xlabel('压缩变形保持率')ylabel('时间的对数log10(t)')grid on

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。