标准化归一化方法

这篇具有很好参考价值的文章主要介绍了标准化归一化方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、经典机器学习的归一化算法

分别是0-1标准化(Max-Min Normalization)和Z-Score标准化。

1.1 0-1标准化方法

每一列中的元素减去当前列的最小值再除以该列的极差
标准化归一化方法

不过在深度学习领域,我们更希望输入模型的数据是Zero-Centered Data,此时Z-Score标准化会更加合适。

1.2 Z-Score标准化

Z-Score标准化并不会将数据放缩在0-1之间,而是均匀地分布在0的两侧。类似这种数据也被称为Zero-Centered Data,在深度学习领域有重要应用。当然我们可以将上述过程封装为一个函数:
同样是逐列进行操作,每一条数据都减去当前列的均值再除以当前列的标准差。很明显,通过这种方法处理之后的数据是典型的Zero-Centered Data,
并且如果原数据服从正态分布,通过Z-Score处理之后将服从标准正态分布。
Z-Score标准化计算公式如下:
标准化归一化方法
其中μ 代表均值,σ 代表标准差。当然,我们也可通过如下方式对张量进行Z-Score标准化处理。

def z_score(X):
    """
    Z-Score标准化函数
    """
    return (X - X.mean(axis=0)) / X.std(axis=0)

a
#array([[ 0,  1],
#       [ 2,  3],
#       [ 4,  5],
#       [ 6,  7],
#       [ 8,  9],
#       [10, 11]])
# 每列均值
a.mean(0)
#array([5., 6.])
# 每列标准差
a.std(0)
#array([3.41565026, 3.41565026])
(a - a.mean(0))
#array([[-5., -5.],
#       [-3., -3.],
#       [-1., -1.],
#       [ 1.,  1.],
#       [ 3.,  3.],
#       [ 5.,  5.]])
# Z-Score标准化
(a - a.mean(0)) / a.std(0)
#array([[-1.46385011, -1.46385011],
#       [-0.87831007, -0.87831007],
#       [-0.29277002, -0.29277002],
#       [ 0.29277002,  0.29277002],
#       [ 0.87831007,  0.87831007],
#       [ 1.46385011,  1.46385011]])

def Z_ScoreNormalization(data):
    stdDf = data.std(0)
    meanDf = data.mean(0)
    normSet = (data - meanDf) / stdDf
    return normSet 

二 、 标准化、归一化的原因、用途

统计建模中,如回归模型,自变量的量纲不一致导致了回归系数无法直接解读或者错误解读;为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性;
机器学习任务和统计学任务中有很多地方要用到“距离”的计算,比如PCA,比如KNN,比如kmeans等等,假使算欧式距离,不同维度量纲不同可能会导致距离的计算依赖于量纲较大的那些特征而得到不合理的结果;
参数估计时使用梯度下降,在使用梯度下降的方法求解最优化问题时, 归一化/标准化后可以加快梯度下降的求解速度,即提升模型的收敛速度。
例子
归一化之后等高线变得不再崎岖,x1和x2的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。迭代次数变少,减小梯度下降算法的过程,从而加速模型的生成。
标准化归一化方法

哪些模型必须归一化

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
实际应用中,通过梯度下降法求解模型的通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等。

哪些模型不需要归一化?

不是所有的模型都需要做归一的,比如模型算法里面有没关于对距离的衡量,没有关于对变量间标准差的衡量。

  1. 决策树模型不要要归一化,他采用算法里面没有涉及到任何和距离等有关的,看的是信息增益比,所以在做决策树模型时,通常是不需要将变量做标准化的;

  2. 概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率。

参考链接:
https://blog.csdn.net/Grateful_Dead424/article/details/123314306
Lesson 14.2 Batch Normalization在PyTorch中的实现文章来源地址https://www.toymoban.com/news/detail-411563.html

到了这里,关于标准化归一化方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不要再搞混标准化与归一化啦,数据标准化与数据归一化的区别!!

    数据的标准化是将数据按照一定的 数学规则进行转换 ,使得数据满足特定的标准,通常是使数据满足正态分布或标准差为1的标准。 标准化的常见方法包括 最小-最大标准化 和 Z-score标准化 。最小-最大标准化将数据映射到 [0,1 ]的范围内,最小-最大标准化将数据映射到0-1区间

    2024年01月21日
    浏览(56)
  • 数据标准化与归一化 及其区别

      数据一般都是有单位的,比如身高的单位有米、厘米等。需要对此类数值型特征进行 无量纲化处理 ,即是使不同规格的 数据转换到同一规格 。常见的无量纲化方法有 标准化 和 归一化 。 主要参考:机器学习算法:特征工程 某些算法要求样本具有0均值和1方差,即 需要

    2024年02月09日
    浏览(43)
  • matlab中矩阵的归一化和标准化处理

    1、归一化:将数据映射到0-1的区间中。 matlab中矩阵的归一化处理: X=(value-value_min) / (value_max-value_min) 函数:mapminmax(A,M),A—需要处理的矩阵,M—需要映射到的范围,M通默认为[-1,1],也可设置为常用的0和1之间。 结果: 2、标准化:将数据映射到方差为1,均值为0的数据。

    2024年04月13日
    浏览(37)
  • 什么是归一化,它与标准化的区别是什么?

    本文主要讲述的是标准化与归一化之间的区别、相同点和联系,以及各自的应用场景 归一化:主要应用与没有距离计算的地方(丢失分布与距离,保留权值信息)— 奇异数据,小数据场景 标准化:主要应用于不关乎权重的地方(保留分布与距离,丢失权值信息)—-需要距离

    2024年02月04日
    浏览(49)
  • 归一化 (Normalization)、标准化 (Standardization)和中心/零均值化 (Zero-centered)

    目录 一、概念 1、归一化(Normalization):  2、标准化(Standardization): 3、中心化/零均值化(zero-centered): 二、联系和差异: 三、标准化和归一化的多种方式 三、为什么要归一化/标准化? 3.1、数据的量纲不同;数量级差别很大 3.2、避免数值问题:太大的数会引发数值问

    2024年02月04日
    浏览(35)
  • 【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)

    卷积神经网络(convolutional neural network, CNN)在提出之初被成功应用于手写字符图像识别,2012年的AlexNet网络在图像分类任务中取得成功,此后,卷积神经网络发展迅速,现在已经被广泛应用于图形、图像、语音识别等领域。 图片的像素数往往非常大,如果用多层全连接网络来

    2024年02月08日
    浏览(43)
  • 经典软件工程复兴?大模型驱动的软件工程实践标准化

    简单来说,本文探讨了大模型驱动的软件工程实践标准化,以及如何将需求和设计规范化为 DSL 格式。通过这种方式,可以让 AI 更自动化、高效地编写代码。 随着大语言模型在软件开发中的应用越来越广泛,传统的软件工程实践开始被重新关注和提及。在诸如于编写清晰的文

    2024年02月12日
    浏览(41)
  • 数据无量纲化 学习(2):数据缩放(数据标准化 / 数据无量纲化 )的作用、适用场景、具体方法

    将不同规格的数据转换到同一规格,或将不同分布的数据转换到某个特定分布的需求,这种需求统称为将数据“无量纲化”。 在以梯度和矩阵为核心的算法中,譬如逻辑回归,支持向量机,神经网络,无量纲化可以加快求解速度; 在距离类模型,譬如K近邻,KMeans聚类中,无

    2023年04月08日
    浏览(34)
  • 数据标准化方法

    今天看到了“指数移动平均窗口标准化”,就研究了一下这是个啥东西,然后又顺便看了一下其他的数据标准化方法,这里顺便记录一下,方便以后查阅。 zscore标准化是一种 基于数据分布的标准化方法 。它的基本思想是 将数据转换为均值为0,标准差为1的分布 ,从而使得数

    2023年04月22日
    浏览(51)
  • LA@二次型@标准化相关原理和方法

    正交变换法🎈 二次型可标准化定理的证明过程给出使用二次型标准化的步骤 该方法通过计算出一个特定的 正交矩阵 P bold P P ,并用 P bold P P 来进行线性变换实现得到标准形 求矩阵的特征值 求出 n n n 元二次型矩阵 A bold A A 的全部特征值 λ i lambda_i λ i ​ ,它们分别是 n i

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包