我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python常见的归一化方法有什么作用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python常见的归一化方法有什么作用

这篇“Python常见的归一化方法有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python常见的归一化方法有什么作用”文章吧。

数据归一化是深度学习数据预处理中非常关键的步骤,可以起到统一量纲,防止小数据被吞噬的作用。

一:归一化的概念

归一化就是把所有数据都转化成[0,1]或者[-1,1]之间的数,其目的是为了取消各维数据之间的数量级差别,避免因为输入输出数据数量级差别大而造成网络预测误差过大。

二:归一化的作用

  1. 为了后面数据处理的方便,归一化可以避免一些不必要的数值问题。

  2. 为了程序运行时收敛速度更快

  3. 统一量纲。样本数据的评价标准不一样,需要对其量纲化,统一评价标准,这算是应用层面的需求。

  4. 避免神经元饱和。就是说当神经元的激活在接近0或者1时,在这些区域,梯度几乎为0,这样在反向传播过程中,局部梯度就会接近于0,这样非常不利于网络的训练。

  5. 保证输出数据中数值小的不被吞食。

三:归一化的类型

1:线性归一化

线性归一化也被称为最小-最大规范化;离散标准化,是对原始数据的线性变换,将数据值映射到[0,1]之间。用公式表示为:

Python常见的归一化方法有什么作用

差标准化保留了原来数据中存在的关系,是消除量纲和数据取值范围影响的最简单的方法。代码实现如下:

def MaxMinNormalization(x,Max,Min):    x = (x - Min) / (Max - Min);    return x

适用范围:比较适用在数值比较集中的情况

缺点:

  1. 如果max和min不稳定,很容易使得归一化的结果不稳定,使得后续使用效果也不稳定。如果遇到超过目前属性[min,max]取值范围的时候,会引起系统报错。需要重新确定min和max。

  2. 如果数值集中的某个数值很大,则规范化后各值接近于0,并且将会相差不大。(如 1,1.2,1.3,1.4,1.5,1.6,10)这组数据。

2:零-均值归一化(Z-score标准化)

Z-score标准化也被称为标准差标准化,经过处理的数据的均值为0,标准差为1。其转化公式为:

Python常见的归一化方法有什么作用

其中Python常见的归一化方法有什么作用为原始数据的均值,Python常见的归一化方法有什么作用为原始数据的标准差,是当前用的最多的标准化公式

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,这里的关键在于复合标准正态分布

代码实现如下:

def Z_ScoreNormalization(x,mu,sigma):    x = (x - mu) / sigma;    return x

3:小数定标规范化

这种方法通过移动属性值的小数数位,将属性值映射到[-1,1]之间,移动的小数位数取决于属性值绝对值的最大值。转换公式为:

Python常见的归一化方法有什么作用

4:非线性归一化 

这个方法包括log,指数,正切

适用范围:经常用在数据分析比较大的场景,有些数值很大,有些很小,将原始值进行映射。

四:批归一化(BatchNormalization)

1:引入

在以往的神经网络训练时,仅仅只对输入层数据进行归一化处理,却没有在中间层进行归一化处理。虽然我们对输入数据进行了归一化处理,但是输入数据经过了Python常见的归一化方法有什么作用这样的矩阵乘法之后,其数据分布很可能发生很大改变,并且随着网络的层数不断加深。数据分布的变化将越来越大。因此这种在神经网络中间层进行的归一化处理,使得训练效果更好的方法就被称为批归一化(BN)

2:BN算法的优点

  1. 减少了人为选择参数

  2. 减少了对学习率的要求,我们可以使用初始状态下很大的学习率或者当使用较小的学习率时,算法也能够快速训练收敛。

  3. 破换了原来的数据分布,一定程度上缓解了过拟合(防止每批训练中某一个样本经常被挑选到)

  4. 减少梯度消失,加快收敛速度,提高训练精度。

3:批归一化(BN)算法流程

输入:上一层输出结果X={x1,x2,.....xm},学习参数Python常见的归一化方法有什么作用Python常见的归一化方法有什么作用

算法流程:

1)计算上一层输出数据的均值:

Python常见的归一化方法有什么作用

其中,m是此次训练样本batch的大小。

2)计算上一层输出数据的标准差:

Python常见的归一化方法有什么作用

3)归一化处理得到

Python常见的归一化方法有什么作用

公式中的Python常见的归一化方法有什么作用是为了避免分母为0而加进去接近于0的很小的值。

4)重构,对经过上面归一化处理得到的数据进行重构,得到:

Python常见的归一化方法有什么作用

其中Python常见的归一化方法有什么作用Python常见的归一化方法有什么作用为可学习的参数。

以上就是关于“Python常见的归一化方法有什么作用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python常见的归一化方法有什么作用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python常见的归一化方法有什么作用

这篇“Python常见的归一化方法有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python常见的归一化方法有什么
2023-07-05

浅谈Python几种常见的归一化方法

这篇文章主要介绍了几种常见的归一化方法,数据归一化是深度学习数据预处理中非常关键的步骤,可以起到统一量纲,防止小数据被吞噬的作用,需要的朋友可以参考下
2023-05-14

python归一化处理的方法有哪些

在Python中,归一化处理的方法有以下几种:1. 最大最小归一化(Min-Max Scaling):将原始数据线性映射到[0, 1]的范围。公式为:x_scaled = (x - min(x)) / (max(x) - min(x))2.
2023-10-20

python递归优化的方法是什么

在Python中,递归函数的优化方法主要有以下几种:1、尾递归优化尾递归是指递归函数在递归调用时,最后一个操作是函数调用本身,可以通过尾递归优化来避免递归深度过大的问题。尾递归优化可以通过改写递归函数,将中间变量传递到下一次递归调用中,避免
2023-05-13

Java归一化处理的方法是什么

在Java中,可以使用以下方法进行归一化处理:1. 最小-最大归一化(Min-Max Normalization):将数据缩放到指定的范围(通常为0到1之间)。具体方法是通过对原始数据进行线性变换,将最小值映射到0,最大值映射到1,其他值按
2023-10-20

数据归一化处理的作用是什么

这期内容当中小编将会给大家带来有关数据归一化处理的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据归一化处理的目的是:使得预处理的数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响。
2023-06-14

Python中Pandas方法有什么作用

本篇内容介绍了“Python中Pandas方法有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pandas.cut(x, bins,
2023-06-02

Python中__new__方法有什么作用

本篇内容介绍了“Python中__new__方法有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、__new__方法简介接下来通过
2023-07-06

C语言中常见的文件操作方法是什么

今天小编给大家分享一下C语言中常见的文件操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.为什么使用文件大家在
2023-07-02

Python常用的魔法方法是什么

这篇文章将为大家详细讲解有关Python常用的魔法方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、python魔法方法Python的魔法方法会在特定的情况下自动调用,且他们的方法名通常被双下划
2023-06-15

Python中常见字符串去除空格操作的方法有哪些

这篇文章将为大家详细讲解有关Python中常见字符串去除空格操作的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1:strip()方法去除字符串开头或者结尾的空格>>> a = " a b c
2023-06-25

Python自动化操作Excel的方法是什么

今天小编给大家分享一下Python自动化操作Excel的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、Pyth
2023-07-06

Python处理Excel的常用操作方法有哪些

本篇内容介绍了“Python处理Excel的常用操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据是网上找到的销售数据,长这样
2023-07-05

Python魔法方法的作用是什么

Python魔法方法是一些特殊的方法,用于在特定的情况下自动调用。它们以双下划线()开头和结尾,如init,str__等。魔法方法允许开发者在类中定义一些特殊行为,以便在使用类的对象时自动执行。魔法方法的作用包括:初始化对象:init方法
2023-10-23

Thread的Join方法有什么作用

Thread类的join()方法用于等待该线程执行完毕。当一个线程调用另一个线程的join()方法时,调用线程将被阻塞,直到被调用线程执行完毕或超时。具体来说,join()方法的作用包括:1. 确保在调用线程继续执行之前,被调用线程执行完毕
2023-10-12

Python write()方法的作用是什么

Python的`write()`方法是用来将指定的字符串写入文件中的方法。`write()`方法可以接受一个字符串作为参数,并将该字符串写入文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会清空文件内容,并将新的字符串写入文件
2023-10-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录