输入/输出数据的预处理

尺度变换

尺度变换也称归一化或标准化,是指通过变换处理将网络的输入/输出数据限制在[0,1]或[-1,1]区间内。进行尺度变换的原因有:

(1)网络的各个输入数据常常具有不同的物理意义和不同的量纲。尺度变换使所有分量都在0-1和-1-1之间变化,从而使网络训练从一开始就给各输入分量以同等重要的地位。

(2)BP神经网络的神经元均采用Sigmoid变换函数,变换后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区。

(3)Sigmoid变换函数的输出在0-1或-1-1之间,作为教师信号的期望输出数据如不进行变换处理,势必使数值大的分量绝对误差大,数值小的分量绝对误差小,网络训练只针对输出的总误差调整权值,其结果是在总误差中占份额小的输出分量相对误差较大,对输出量进行尺寸变换后这个问题可以迎刃而解。

当输入/输出向量的各个分量量纲不同时,应对不同的分量在其取值范围内分别进行变换;当各分量物理意义相同且为同一量纲时,应在整个数据范围内确定最大值和最小值,进行统一的变换处理。

将输入/输出数据变换为[0,1]区间的值常用以下变换式:

{{\bar{x}}_{i}}=\frac{{{x}_{i}}-{{x}_{\min }}}{{{x}_{\max }}-{{x}_{\min }}}

其中,x_i代表输入/输出数据,{x}_{\min }代表数据变化的最小值,{x}_{\max }代表数据变化的最大值。

将输入/输出数据变换为[-1,1]区间的值常用以下变换式:

{{x}_{mid}}=\frac{{{x}_{\max }}+{{x}_{\min }}}{2}

{{\bar{x}}_{i}}=\frac{{{x}_{i}}-{{x}_{\min }}}{\frac{1}{2}({{x}_{\max }}-{{x}_{\min }})}

其中,{x}_{mid}代表数据变化范围的中间值,按照上述变换后,处于中间值的原始数据转化为0,而最大值和最小值分别转化为1和-1。当输入或输出向量中的某个分量取值过于密集时,对其进行以上预处理可以将数据点拉开距离。

分布变换

尺度变换是一种线性变换,当样本的分布不合理时,线性变换只能统一样本数据的变化范围,而不能改变其分布归来吧。适于网络训练的样本分布应较为均匀,响应的样本分布曲线较为平坦。当样本分布不理想时,最常用的变换是对数变换,其他常用的还有平方根、立方根等。由于变换是非线性的,其结果不仅压缩了数据变化的范围,而且改变了其分布规律。

Matlab--mapminmax数据归一化

[Y,PS] = mapminmax(X)

函数功能: 将矩阵的每一行压缩到 [-1,1],其中当前行的最大值变为1,最小值变为-1 。(这是默认的参数)

扩展:(修改参数)

[Y,PS] = mapminmax(X,YMIN,YMAX) 将矩阵的每一行压缩到 [YMIN,YMAX],其中当前行的最大值变为YMAX,最小值变为YMIN。

[Y,PS] = mapminmax(X,FP) 其中FP为结构体类型,这时就是将矩阵的每一行压缩到[FP.ymin, FP.ymax]中。

Y = mapminmax(‘apply’,X,PS)

函数功能: 利用上一步得到的PS来映射X到Y,也就是说PS中含有xmin,xmax,ymin,ymax,使用这些来从X映射到Y

X = mapminmax(‘reverse’,Y,PS)

利用归一化后的Y和PS重新得到X

matlab数据无量纲化_MATLAB数据预处理——归一化和标准化相关推荐

  1. 机器学习特征工程之特征缩放+无量纲化:数据标准化(StandardScaler)

    机器学习特征工程之特征缩放+无量纲化:数据标准化(StandardScaler) 在Andrew Ng的机器学习课程里面,讲到使用梯度下降的时候应当进行特征缩放(Feature Scaling).进行 ...

  2. 机器学习之数据预处理——归一化,标准化

    机器学习之数据预处理--归一化,标准化 基础知识 1.什么是特征预处理 2.预处理方法 : 3.预处理API: 数据的标准化(normalization)和归一化 数据的标准化 数据归一化 1 把数变 ...

  3. 类的应用python平均分_【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算...

    本篇内容为整理<利用Python进行数据分析>,博主使用代码为 Python3,部分内容和书本有出入. 在前几篇中我们介绍了 NumPy.pandas.matplotlib 三个库的基本操 ...

  4. 特征工程特征预处理归一化与标准化、鸢尾花种类预测代码实现

    一.特征预处理 特征工程目的:把数据转换成机器更容易识别的数据 scikit-learn:提供几个常见的实用程序函数和转换器类,以将原始特征向量更改为更适合下游估计器的表示形式.即通过一些转换函数将特 ...

  5. Pytorch图像预处理——归一化、标准化

    在深度学习图像分类.物体检测等过程中,首先要对图像进行归一化和标准化. 原理: 归一化: 式中,input表示输入的图像像素值:max().min()分别表示输入像素的最大值和最小值.output为输 ...

  6. matlab z变换离散化_Matlab数据可视探索

    一.以plot为例Matlab中最常用的绘图指令当属plot,此外很多绘图函数与plot用法相似,因此,首先详细介绍plot的使用方法.绘制图形通常通过以下步骤来完成:准备数据-选定位置-调用指令-设 ...

  7. matlab 二值化_MATLAB实验,图像二值化处理

    防止迷路,记得关注点赞哦.下期见~~ 1.读入一幅彩色图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题. I=imread('001.jpg' ...

  8. 05_数据的特征处理,归一化,标准化、缺失值处理,以及案例,使用场景,处理办法等

    1.数据的特征处理 1.1.特征处理是什么 通过特定的统计方法(数学方法)将数据转换成算法要求的数据 1.1.1.特征处理的方法 1.1.1.1特征处理方法 特征处理主要有以下几种方法: 数值型数据: ...

  9. 数据的规范化,归一化,标准化,正则化

    原文地址:数据的规范化,归一化,标准化,正则化作者:打湿井盖 数据的规范化,归一化,标准化,正则化,这几个破词整得我头晕,首先这些词就没规范好,对数据做实验更晕,网上狂搜一阵后,发现数据归一化,标准化 ...

最新文章

  1. 《课程的反思与重建--我们需要什么样的课程观》之心得体会
  2. 解决Centos6.5虚拟机上网问题
  3. CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项?
  4. 中专计算机技术难吗,中专学计算机专业难不难?
  5. 常用求导公式 高阶导公式 莱布尼兹公式
  6. 【慕课网】前端零基础入门---步骤一:页面结构层HTML---01-HTML基础
  7. 美菜半年退出数百个县城,开始往盈利迈进
  8. 从零开始学python网络爬虫
  9. 提示502的解决办法
  10. php卡片式,什么是卡片式设计? | 人人都是产品经理
  11. u盘安装grub linux,U盘安装的引导搞错了
  12. 绝世唐门漫画的王秋儿
  13. scrapy图片爬取(爬取站长素材中的高清图片)
  14. c语言 floyd优化,Floyd(弗洛伊德)算法(C语言)
  15. 阿里云sls日志系统接入
  16. java中的逸出是什么意思,发布和逸出-构造过程中使this引用逸出
  17. log nginx 显示时间_nginx日志时间添加毫秒显示
  18. 一名优秀的程序员应该向谁提问
  19. 机器学习/人工智能开源项目整理<一>
  20. 实现一个函数,可统计任一整数中某个位数出现的次数

热门文章

  1. NeurIPS 2020 Oral 论文讲解
  2. 刚刚!2020世界大学学术排名正式发布:中国内地144所大学上榜!
  3. 不需要借助GPU的力量,用树莓派也能实时训练agent玩Atari
  4. 获清华特奖又上“最强大脑”!这位90后学神去一线抗疫的理由是……
  5. 北大高材生割美国韭菜被FBI通缉?本人回应予以否认
  6. python模块和包用法详解(__all__)
  7. python有哪些关键字?让他自己“吐”出来!
  8. 2021年9月最新的保姆级计算机视觉学习路线
  9. 搞来一套大厂内部资料(内含C++面试真题集)
  10. 双目视惯雷达SLAM