返回顶部
首页 > 资讯 > 后端开发 > Python >Python常见的归一化方法有什么作用
  • 151
分享到

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

2023-07-05 23:07:04 151人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python常见的归一化方法有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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常见的归一化方法有什么作用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: Python常见的归一化方法有什么作用

本文链接: https://lsjlt.com/news/356213.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python常见的归一化方法有什么作用
    这篇“Python常见的归一化方法有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python常见的归一化方法有什么...
    99+
    2023-07-05
  • 几种常见的归一化方法
    数据归一化是深度学习数据预处理中非常关键的步骤,可以起到统一量纲,防止小数据被吞噬的作用。 一:归一化的概念 归一化就是把所有数据都转化成[0,1]或者[-1,1]之间的数,其目的是为了取消各维数据之间的数量级差别,避免因为输入输出数据数量...
    99+
    2023-09-03
    深度学习 python 人工智能
  • 浅谈Python几种常见的归一化方法
    目录一:归一化的概念二:归一化的作用三:归一化的类型1:线性归一化2:零-均值归一化(Z-score标准化)3:小数定标规范化4:非线性归一化 四:批归一化(BatchNo...
    99+
    2023-05-14
    Python Python常见 Python归一化
  • python归一化处理的方法有哪些
    在Python中,归一化处理的方法有以下几种:1. 最大最小归一化(Min-Max Scaling):将原始数据线性映射到[0, 1...
    99+
    2023-10-20
    python
  • python递归优化的方法是什么
    在Python中,递归函数的优化方法主要有以下几种:1、尾递归优化尾递归是指递归函数在递归调用时,最后一个操作是函数调用本身,可以通...
    99+
    2023-05-13
    python递归优化 python
  • Java归一化处理的方法是什么
    在Java中,可以使用以下方法进行归一化处理:1. 最小-最大归一化(Min-Max Normalization):将数据缩放到指定...
    99+
    2023-10-20
    Java
  • 数据归一化处理的作用是什么
    这期内容当中小编将会给大家带来有关数据归一化处理的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据归一化处理的目的是:使得预处理的数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响。...
    99+
    2023-06-14
  • python操作XML格式文件的一些常见方法
    目录前言1. 读取文件和内容2.读取节点数据3.修改和删除节点4.构建文档 方式一ET.Element()补充:XML文件和JSON文件互转1、XML文件转为JSON文件2、JSON...
    99+
    2024-04-02
  • C++ 函数的递归实现:递归的常见用法有哪些?
    递归是一种函数调用自身的技术,广泛应用于分步求解问题的场景。在 c++++ 中,递归有以下常见用法:求解斐波那契数列计算阶乘计算排列组合遍历树形结构解决迷宫求解问题 C++ 函数的递归...
    99+
    2024-04-22
    递归 c++函数 c++ 排列
  • 常见的SREng操作方法有哪些
    常见的SRE(Site Reliability Engineering)操作方法包括: 监控和报警:SRE需要设置监控和报警系统,...
    99+
    2023-10-24
    SREng
  • YOLOV5-模型轻量化的一些常见方法
    欢迎关注、点赞、评论! YOLOv5是一个基于深度学习的目标检测算法,是YOLO系列算法的最新版本。YOLO是You Only Look Once的缩写,意味着只需要一次前向传递就可以完成...
    99+
    2023-10-03
    计算机视觉 python Powered by 金山文档
  • python中字符串的常见操作方法
    1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体。字符串支持索引操作。 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信息' 变量名 = """字符串信息""" 变量名 = ''...
    99+
    2023-01-30
    字符串 操作方法 常见
  • 常见的jquery操作select方法有哪些
    常见的jquery操作select方法包括:1. val():获取或设置select元素的选中值。2. prop():获取或设置se...
    99+
    2023-08-08
    jquery select
  • jquery操作select的常见方法有哪些
    获取select选中的值:使用.val()方法可以获取select选中的值。 设置select选中的值:使用.val(value)...
    99+
    2024-03-08
    jQuery
  • 常见的JavaScript代码优化方法有哪些
    本篇内容主要讲解“常见的JavaScript代码优化方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常见的JavaScript代码优化方法有哪些”吧!1、NUll、Undefined、&...
    99+
    2023-06-27
  • oracle递归优化的方法是什么
    Oracle递归查询优化的方法主要有以下几个:1、使用WITH子句使用WITH子句可以将递归查询转换为非递归查询,提高查询效率。WI...
    99+
    2023-05-13
    oracle递归优化 oracle
  • php递归优化的方法是什么
    PHP递归优化的方法主要有以下几个:1. 尾递归优化:将递归函数转化为尾递归函数,可以减少函数调用栈的深度,提高函数的执行效率。尾递...
    99+
    2023-05-13
    php递归优化 php
  • C#线程操作常见的操作方法有哪些
    这篇文章主要讲解了“C#线程操作常见的操作方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#线程操作常见的操作方法有哪些”吧!C#线程操作常见的操作方法是什么呢?C#线程操作方法的...
    99+
    2023-06-17
  • bootstrap中table常见的操作方法有哪些
    这篇文章主要介绍了bootstrap中table常见的操作方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.bootstrap-t...
    99+
    2024-04-02
  • python字符串的一些常见实用操作
    目录切片——str[start:end]字符串长度——len(str)重复字符串 ——1、str * n,2、...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作