精华内容
下载资源
问答
  • Python - 归一化与反归一化
    千次阅读
    2022-04-21 02:10:52

    归一化:用于减少不同字段数量级差异造成的影响,或用来平滑数值,可用在x,y

    反归一化:一般用来模型预测后的pred y,反归一化回原来的数量级

    纯公式推导版本:

    归一化

    data = [1,2,3,4]
    def MaxMinNormalization(x,Max,Min):
    	x = (x - Min) / (Max - Min)
    	return x
    
    import numpy as np
    Max = np.max(data)
    Min = np.min(data)
    data = MaxMinNormalization(data,Max,Min)
    print(data)
    
    [0.         0.33333333 0.66666667 1.        ]

    反归一化

    正在研究···


    调用Skelearn包实现归一化与反归一化

    数据预处理_数据反归一化01_bhcgdh的博客-CSDN博客_反归一化

    归一化时使用 scaler 进行归一化,反归一化仍然要使用 scaler 数据转换

    Tips:如果归一化时的 values 的shape是(n, 3),则反归一化时的 data 的shape必须是(m, 3)

    参考资料

    (174条消息) 数据预处理_数据反归一化01_bhcgdh的博客-CSDN博客_反归一化 

    数据归一化 - 知乎 (zhihu.com)

    (170条消息) sklearn MinMaxScaler对某一个特征反归一化_Azia的博客-CSDN博客_sklearn反归一化

    (170条消息) 数据处理中的归一化与反归一化_路_遥的博客-CSDN博客_数据归一化和反归一化 

    更多相关内容
  • 今天小编就为大家分享一篇pytorch 归一化与反归一化实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 资源中包括归一化程序及对应的反归一化程序,test程序是对上述两种程序的测试样例。 资源为个人编写,尊重知识产权
  • 反归一化matlab代码scilab_sptb rc2poly函数将反射滤波器系数转换为预测多项式系数。 语法pc = rc2poly(rc) 描述: 输入: 定义滤波器反射系数的向量rc。 输出: 向量pc给出预测滤波器的多项式系数。 功能: pc = ...
  • 反归一化matlab代码MATLAB的数值工具 概括 向量化和其他便利功能。 根据2条款BSD许可。 描述 这些功能随着时间的流逝而发展,以支持我的研究。 向量化的代码旨在使向量域代码简短,无坐标,清晰且可读。 更有趣的是...
  • 反归一化matlab代码各种预测性维护资源 1. GitHub存储库 1.1算法 :振动测试分析 :现代环境中的振动教育 :使用深度学习进行轴承故障检测的python工具包 :使用PyTorch进行故障诊断的深度学习框架 :论文“旋转机械...
  • 归一化处理我理解,但是很多例子的反归一化我就不是很明白 。如下面这个例子:%准备好训练集%人数(单位:万人)numberOfPeople=[20.55 22.44 25.37 27.13 29.45 30.10 30.96 34.06 36.42 38.09 39.13 39.99 41.93 ...

    归一化处理我理解,但是很多例子的反归一化我就不是很明白 。如下面这个例子:

    %准备好训练集

    %人数(单位:万人)

    numberOfPeople=[20.55 22.44 25.37 27.13 29.45 30.10 30.96 34.06 36.42 38.09 39.13 39.99 41.93 44.59 47.30 52.89 55.73 56.76 59.17 60.63];

    %机动车数(单位:万辆)

    numberOfAutomobile=[0.6 0.75 0.85 0.9 1.05 1.35 1.45 1.6 1.7 1.85 2.15 2.2 2.25 2.35 2.5 2.6 2.7 2.85 2.95 3.1];

    %公路面积(单位:万平方公里)

    roadArea=[0.09 0.11 0.11 0.14 0.20 0.23 0.23 0.32 0.32 0.34 0.36 0.36 0.38 0.49 0.56 0.59 0.59 0.67 0.69 0.79];

    %公路客运量(单位:万人)

    passengerVolume = [5126 6217 7730 9145 10460 11387 12353 15750 18304 19836 21024 19490 20433 22598 25107 33442 36836 40548 42927 43462];

    %公路货运量(单位:万吨)

    freightVolume = [1237 1379 1385 1399 1663 1714 1834 4322 8132 8936 11099 11203 10524 11115 13320 16762 18673 20724 20803 21804];

    %输入数据矩阵

    p = [numberOfPeople; numberOfAutomobile; roadArea];

    %目标(输出)数据矩阵

    t = [passengerVolume; freightVolume];

    %对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理

    [pn, inputStr] = mapminmax(p);

    [tn, outputStr] = mapminmax(t);

    %建立BP神经网络

    net = newff(pn, tn, [3 7 2], {'purelin', 'logsig', 'purelin'});

    %每10轮回显示一次结果

    net.trainParam.show = 10;

    %最大训练次数

    net.trainParam.epochs = 5000;

    %网络的学习速率

    net.trainParam.lr = 0.05;

    %训练网络所要达到的目标误差

    net.trainParam.goal = 0.65 * 10^(-3);

    %网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置

    net.divideFcn = '';

    %开始训练网络

    net = train(net, pn, tn);

    %使用训练好的网络,基于训练集的数据对BP网络进行仿真得到网络输出结果

    %(因为输入样本(训练集)容量较少,否则一般必须用新鲜数据进行仿真测试)

    answer = sim(net, pn);

    %反归一化

    answer1 = mapminmax('reverse', answer, outputStr);

    %绘制测试样本神经网络输出和实际样本输出的对比图(figure(1))-------------------------------------------

    t = 1990:2009;

    %测试样本网络输出客运量

    a1 = answer1(1,:);

    %测试样本网络输出货运量

    a2 = answer1(2,:);

    figure(1);

    subplot(2, 1, 1); plot(t, a1, 'ro', t, passengerVolume, 'b+');

    legend('网络输出客运量', '实际客运量');

    xlabel('年份'); ylabel('客运量/万人');

    title('神经网络客运量学习与测试对比图');

    grid on;

    subplot(2, 1, 2); plot(t, a2, 'ro', t, freightVolume, 'b+');

    legend('网络输出货运量', '实际货运量');

    xlabel('年份'); ylabel('货运量/万吨');

    title('神经网络货运量学习与测试对比图');

    grid on;

    %使用训练好的神经网络对新输入数据进行预测

    %新输入数据(2010年和2011年的相关数据)

    newInput = [73.39 75.55; 3.9635 4.0975; 0.9880 1.0268];

    %利用原始输入数据(训练集的输入数据)的归一化参数对新输入数据进行归一化

    newInput = mapminmax('apply', newInput, inputStr);

    %进行仿真

    newOutput = sim(net, newInput);

    %反归一化

    newOutput = mapminmax('reverse',newOutput, outputStr);

    disp('预测2010和2011年的公路客运量分别为(单位:万人):');

    newOutput(1,:)

    disp('预测2010和2011年的公路货运量分别为(单位:万吨):');

    newOutput(2,:)

    %在figure(1)的基础上绘制2010和2011年的预测情况-------------------------------------------------------

    figure(2);

    t1 = 1990:2011;

    subplot(2, 1, 1); plot(t1, [a1 newOutput(1,:)], 'ro', t, passengerVolume, 'b+');

    legend('网络输出客运量', '实际客运量');

    xlabel('年份'); ylabel('客运量/万人');

    title('神经网络客运量学习与测试对比图(添加了预测数据)');

    grid on;

    subplot(2, 1, 2); plot(t1, [a2 newOutput(2,:)], 'ro', t, freightVolume, 'b+');

    legend('网络输出货运量', '实际货运量');

    xlabel('年份'); ylabel('货运量/万吨');

    title('神经网络货运量学习与测试对比图(添加了预测数据)');

    grid on;

    预测的时候反归一化为啥呀

    展开全文
  • 数据处理中的归一化与反归一化

    千次阅读 2022-03-18 20:55:33
    数据归一化(标准化)是数据预处理的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,为避免影响数据分析结果、消除指标之间的量纲影响,须对数据进行标准化处理。 数据的归一化(normalization)是将...

    一、定义

    数据归一化(标准化)是数据预处理的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,为避免影响数据分析结果、消除指标之间的量纲影响,须对数据进行标准化处理

    数据的归一化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权,加快训练网络的收敛性。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上

    二、两种常用的归一化方法

    (1)线性函数归一化(Min-Max scaling)

    • 定义:理查标准化,是对原始数据的线性变换,使得结果映射到0-1之间
    • 本质:把数变为 [0, 1] 之间的小数

                                       

             X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。

    (2)0均值标准化(Z-score standardization)

    • 定义:将所有数据归一化到均值为0,方差为1的分布中
    • 本质:把有量纲表达式变为无量纲表达式

                                    

            μ、σ分别为原始数据集的均值和方差。要求原始数据的分布可以近似为高斯分布。

    三、数据归一化和反归一化

    使用深度学习构建训练时,通常需要数据归一化,以利于网络的训练,而在训练结果可视化中,通常需要反归一化。

    在sklearn模块中,fit_transform()、transform()进行数据归一化,inverse_transform()进行数据反归一化

    1、fit_transform() 和 transform() 的区别

    (1)fit_transform() 是 fit() 和 transform() 的组合。

    (2) fit(x,y)传两个参数的是有监督学习的算法,fit(x)传一个参数的是无监督学习的算法。即:求得训练集X的均值,方差,最大值,最小值,这些训练集固有的属性。

    (3)transform() 是在fit的基础上,进行标准化,降维,归一化等操作

    (4)fit() 和 transform() 没有任何关系,之所以出来这么个函数名,仅仅是为了写代码方便。transform() 和 fit_transform() 二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)

    注意:这两个函数不可以互相替换,绝对不可以!transform函数是一定可以替换为fit_transform函数的,fit_transform函数不能替换为transform函数!

    fit_transform() 的作用就是先拟合数据,然后转化它将其转化为标准形式;

    tranform() 的作用是通过找中心和缩放等实现标准化。

     2、inverse_transform()的用法——反归一化

    # 数据归一化
    scaler = MinMaxScaler(feature_range=(0, 1))
    scaled = scaler.fit_transform(values)
    
    # 将标准化后的数据转换为原始数据(反归一化)
    predicted_data = scaler.inverse_transform(data)  

    归一化时使用 scaler 进行归一化,反归一化仍然要使用 scaler 数据转换

    Tips:如果归一化时的 values 的shape是(n, 3),则反归一化时的 data 的shape必须是(m, 3)

    参考:

    https://blog.csdn.net/program_developer/article/details/78637711

    https://zhuanlan.zhihu.com/p/76682561

    展开全文
  • 本帖最后由 CAPTIONVIP 于 2014-12-... 比如反归一化处理的公式为:T_test=Y*(max-min)+min,其中Y为输出,这里面的max和min怎么取值? 还有,为什么上面的测试程序输出的结果是六行四列的矩阵,而不是四行六列的矩阵?

    本帖最后由 CAPTIONVIP 于 2014-12-9 21:03 编辑

    本人之前对MATLAB不是很熟悉,只是这次在做写一篇关于神经网络的文章时需要用到MATLAB,下面是我写的一个简单的程序,麻烦各位高手看下有没有问题,顺便问几个小问题,谢谢!训练程序如下:

    p=[1 74 3.5 0.5 1;

    1 74 6.5 0.5 2;

    1 74 12 1 3;

    2 74 15 4 3;

    2 74 27 3 4;

    4 88 20 0.5 2;

    4 88 32 3 4;

    5 88 65 1 2;

    5 88 40 4 4;

    7 132 45 2 1;

    7 132 30 4 3;

    7 132 68 3 4;

    8 132 50 3 2;

    8 132 77 0.5 3;

    10 132 40 1 1;

    10 132 65 2 3;

    10 132 50 4 4;

    1.5 88 5 0.5 5;

    1.5 88 12 3 7;

    2 88 15 1 9;

    2 88 20 4 13;

    3 88 10 3 8;

    4 132 25 0.5 15;

    4 132 32 2 10;

    6 132 27 1 12]';

    t=[2.2 29 0.69 0.23 6.24 3;

    2.2 29 0.69 0.23 3.79 3;

    2.5 29 0.79 0.26 3.44 3;

    1.5 29 0.49 0.16 5.2 3;

    1.8 29 0.56 0.19 3.12 3;

    0.8 29 0.25 0.08 1.5 3;

    1.1 29 0.33 0.11 2.35 3;

    0.7 29 0.22 0.07 0.86 3;

    0.9 29 0.29 0.1 2.29 3;

    0.6 29 0.17 0.06 1.14 3;

    0.6 29 0.2 0.07 2.77 3;

    0.7 29 0.23 0.08 1.28 3;

    0.5 29 0.16 0.05 1.27 3;

    0.6 29 0.18 0.06 0.59 3;

    0.4 29 0.13 0.04 0.95 3;

    0.5 29 0.15 0.05 0.96 3;

    0.6 29 0.18 0.06 1.62 3;

    3.76 15.5 1.07 0.57 6.54 8;

    3.76 15.5 1.07 0.57 7.02 8;

    3 15.5 0.96 0.48 3.88 8;

    3.18 15.5 1.02 0.48 6.04 8;

    1.88 15.5 0.67 0.36 7.5 8;

    2.12 15.5 0.63 0.29 2.09 8;

    2 15.5 0.59 0.29 2.53 8;

    1 15.5 0.44 0.22 2.03 8]';

    for i=1:5

    P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));

    end

    for i=1:6

    T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));

    end

    a=9;

    for i=1

    net=newff(minmax(P),[a(i),6],{'logsig','logsig'},'trainlm');

    net.trainParam.goal=0.001;

    net=init(net);

    net=train(net,P,T);

    y=sim(net,P);

    error=y-T;

    res(i)=norm(error);

    end

    网络输入层有五个神经元,输出层有六个神经元,p是输入数据,t是期望输出,BP神经网络在进行归一化处理时,其中选择的最小值和最大值是每一行或者列的最大值还是整个矩阵的最小值和最大值?

    对训练好的网络进行测试时,测试的数据也要进行归一化处理,此时进行归一化处理时用到的最大值、最小值是上述p矩阵中的最大值和最小值还是这个测试矩阵中的最大值、最小值?

    测试程序:

    p_test=[6 132 45 4 14;

    8 162 30 3 8;

    8 162 68 0.5 6;

    10 162 77 2 13]';

    for i=1:5

    P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:)));

    end

    Y=sim(net,P_test)

    对于PB网络最后的输出要进行反归一化处理,进行反归一化处理时,公式中的最大值和最小值又怎么取?

    比如反归一化处理的公式为:T_test=Y*(max-min)+min,其中Y为输出,这里面的max和min怎么取值?

    还有,为什么上面的测试程序输出的结果是六行四列的矩阵,而不是四行六列的矩阵?

    展开全文
  • 本质是数值转图像,同时,前者的格式是(数量×\...如果不进行反归一化到 [0,1],出现了负值,就会变成下面这样: 哦哦来看一下原图: 1 归一化和反归一化 总结一下他们的关系: 读取的图片得到数值(范围大小在 [0,2
  • 归一化与反归一化

    千次阅读 2020-08-31 17:14:58
    1 归一化 归一化就是把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。 归一化的目的:归一化是为了后面数据处理的方便,其次是提升模型的收敛速度和提升模型的精度。一般可分为以下两种情况 ...
  • 归一化和反归一化

    千次阅读 2021-05-04 11:41:33
    可以加快模型的收敛 output = (input - mean) / std mean:各通道的均值 std:各通道的标准差 图片三个通道 前一个(0.5,0.5,0.5)是设置的mean值 后一个(0.5,0.5,0.5)是是设置各通道的标准差 所以反归一化就是:...
  • python归一化和反归一化

    万次阅读 多人点赞 2019-07-17 21:19:17
    from sklearn.preprocessing import MinMaxScaler mm = MinMaxScaler() # 归一化 train_label = mm.fit_...# 反归一化 predict_value = mm.inverse_transform(predict_value) 此外,也可以用 from sklearn...
  • matlab归一化和反归一化函数——mapminmax 在做BP神经网络的时候经常会遇到数据的归一化,这个时候需要用到mapminmax函数,老版本可以用premnmx和tramnmx 用函数mapminmax 1 默认的map范围是[-1, 1],所以如果...
  • 最大最小归一化和反归一化

    千次阅读 2021-11-13 14:20:14
    直接上代码示例:
  •  时空序列预测的任务是通过前N帧格点数据预测后J帧格点数据(类似视频预测,但格点数据最大值不是255...那么在反归一化的时候是使用 (pred*((max(data)-min(data)) + min(data))的方式吗?</p>
  • 数据预处理中的归一化与反归一化

    千次阅读 2021-04-22 17:03:31
    而在训练过程可视化中,通常需要反归一化。以PyTorch框架而言,提供了torchvision.transforms.Normalize(mean, std, inplace=False)方法用于归一化。 归一化 归一化的实质是将数据的分布根据均值和标准差进行调整。...
  • 数据预处理_数据反归一化01

    万次阅读 多人点赞 2019-06-12 15:01:35
    数据反归一化 在数据处理中经常用到归一化将数据缩放到一个较为合理的范围。 归一化的方法有很多地方有讲,本篇不做解释 情况1-只对特征进行归一化 将特征和标签,放在相同的数组里,只对特征进行归一化,...
  • PyTorch 数据归一化与反归一化

    万次阅读 多人点赞 2019-04-11 11:12:47
    文章目录数据归一化除最大值法MinMaxScaler均值和标准差反归一化 数据归一化 除最大值法 def read_and_normalize_train_data(): train_data, train_label = load_train() print('Convert to numpy...') train_...
  • Python 反归一化的作用

    千次阅读 2022-04-22 14:45:20
    反归一化的作用、是什么 反归一化就是对归一化的逆运算,得出原始数据。归一化如何预算我们很清楚,反归一化,源代码并没有说明,目前没有找到相应的公式。方便为了跟源数据进行比对。 ...
  • pytorch 归一化与反归一化

    万次阅读 2019-06-18 19:01:47
    2, 0)) # torch.set_num_threads(3) # img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) cv2.imshow("sdf", img) cv2.waitKeyEx() 这个测试时间:归一化与反归一化都需要7ms左右, 但是在多路摄像头中,可能比较慢。...
  • PointNet系列点云归一化与反归一化

    千次阅读 2021-12-25 16:05:30
    学习记录:点云归一化操作 def pc_normalize(pc): centroid = np.mean(pc, axis=0) pc = pc - centroid m = np.max(np.sqrt(np.sum(pc ** 2, axis=1))) pc = pc / m return pc 逐句分析: def pc_normalize...
  • 在建立回归模型时,往往需要对数据进行归一化和反归一化。 然而,一定要注意训练集与测试集使用的归一化参数必须统一!! 常用的归一化方法有很多,这里以sklearn的MinMaxScale()为例,下面讲述了归一化和反归一化在...
  • matlab_归一化反归一化_mapminmax

    千次阅读 多人点赞 2019-09-26 23:25:07
    当我们需要对多个指标进行拟合、作图、相干性分析等操作时,如果不同指标之间的量级差距过大会直接影响最终结果,因此我们需要对数据归一化处理,结束后还可以反归一化处理回到真实值。下面介绍matlab中的归一化函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,278
精华内容 8,911
关键字:

反归一化

友情链接: DCSW_Detection_.rar