首页 > 其他分享 >标准化和归一化的定义、公式、作用、示例、区别

标准化和归一化的定义、公式、作用、示例、区别

时间:2024-09-26 11:20:32浏览次数:12  
标签:frac 示例 归一化 标准化 50 70 90 80

标准化(Standardization) 和 **归一化(Normalization)**是数据预处理中常用的两种技术,目的是调整数据的尺度,使得不同特征的数据可以在同一水平上进行比较或处理。这两种方法在形式和用途上有所不同,下面分别进行介绍并举例说明。


1. 标准化(Standardization)

定义:

标准化是通过对原始数据进行变换,将其转换为均值为0、标准差为1的分布。这样处理后的数据符合标准正态分布,即所谓的“零均值、单位方差”分布。

公式:

对于数据集中的每个数据点 x x x,标准化后的值 z z z 计算如下:
z = x − μ σ z = \frac{x - \mu}{\sigma} z=σx−μ​

其中:

  • μ \mu μ 是数据的均值(平均值)。
  • σ \sigma σ 是数据的标准差。

作用:

  • 消除量纲差异: 将不同尺度的特征转换到相同的尺度,便于比较。
  • 提高算法性能: 对于假设数据服从正态分布的算法(如线性回归、逻辑回归、支持向量机等),标准化可以提高模型的收敛速度和准确性。

举例说明:

假设有一个数据集:

  • 原始数据 x = [ 50 , 60 , 70 , 80 , 90 ] x = [50, 60, 70, 80, 90] x=[50,60,70,80,90]

计算均值和标准差:

  • 均值 μ \mu μ:
    μ = 50 + 60 + 70 + 80 + 90 5 = 70 \mu = \frac{50 + 60 + 70 + 80 + 90}{5} = 70 μ=550+60+70+80+90​=70

  • 标准差 σ \sigma σ:
    σ = ( 50 − 70 ) 2 + ( 60 − 70 ) 2 + ( 70 − 70 ) 2 + ( 80 − 70 ) 2 + ( 90 − 70 ) 2 5 ≈ 14.14 \sigma = \sqrt{\frac{(50 - 70)^2 + (60 - 70)^2 + (70 - 70)^2 + (80 - 70)^2 + (90 - 70)^2}{5}} \approx 14.14 σ=5(50−70)2+(60−70)2+(70−70)2+(80−70)2+(90−70)2​ ​≈14.14

对数据进行标准化:
z 1 = 50 − 70 14.14 ≈ − 1.41 z 2 = 60 − 70 14.14 ≈ − 0.71 z 3 = 70 − 70 14.14 = 0 z 4 = 80 − 70 14.14 ≈ 0.71 z 5 = 90 − 70 14.14 ≈ 1.41 \begin{align*} z_1 & = \frac{50 - 70}{14.14} \approx -1.41 \\ z_2 & = \frac{60 - 70}{14.14} \approx -0.71 \\ z_3 & = \frac{70 - 70}{14.14} = 0 \\ z_4 & = \frac{80 - 70}{14.14} \approx 0.71 \\ z_5 & = \frac{90 - 70}{14.14} \approx 1.41 \end{align*} z1​z2​z3​z4​z5​​=14.1450−70​≈−1.41=14.1460−70​≈−0.71=14.1470−70​=0=14.1480−70​≈0.71=14.1490−70​≈1.41​

标准化后的数据:

  • z = [ − 1.41 , − 0.71 , 0 , 0.71 , 1.41 ] z = [-1.41, -0.71, 0, 0.71, 1.41] z=[−1.41,−0.71,0,0.71,1.41]

此时,标准化数据的均值为0,标准差为1。


2. 归一化(Normalization)

定义:

归一化是通过对原始数据进行缩放,将其值转换到特定的范围,通常是[0, 1]或[-1, 1]区间。这有助于消除不同特征之间的量纲差异,使得各特征对模型的贡献均等。

公式:

对于每个数据点 x x x,归一化后的值 x ′ x' x′ 计算如下(以 [0, 1] 区间为例):
x ′ = x − x min ⁡ x max ⁡ − x min ⁡ x' = \frac{x - x_{\min}}{x_{\max} - x_{\min}} x′=xmax​−xmin​x−xmin​​

其中:

  • x min ⁡ x_{\min} xmin​ 是数据集中的最小值。
  • x max ⁡ x_{\max} xmax​ 是数据集中的最大值。

作用:

  • 统一特征尺度: 将不同范围的数据缩放到相同的区间,避免某些特征因为数值较大而主导模型。
  • 加快算法收敛: 对于基于距离计算的算法(如K近邻、神经网络等),归一化可以提高模型的训练速度和性能。

举例说明:

使用同样的数据集:

  • 原始数据 x = [ 50 , 60 , 70 , 80 , 90 ] x = [50, 60, 70, 80, 90] x=[50,60,70,80,90]

计算最小值和最大值:

  • 最小值 x min ⁡ = 50 x_{\min} = 50 xmin​=50
  • 最大值 x max ⁡ = 90 x_{\max} = 90 xmax​=90

对数据进行归一化:
x 1 ′ = 50 − 50 90 − 50 = 0 x 2 ′ = 60 − 50 90 − 50 = 10 40 = 0.25 x 3 ′ = 70 − 50 90 − 50 = 20 40 = 0.5 x 4 ′ = 80 − 50 90 − 50 = 30 40 = 0.75 x 5 ′ = 90 − 50 90 − 50 = 1 \begin{align*} x_1' & = \frac{50 - 50}{90 - 50} = 0 \\ x_2' & = \frac{60 - 50}{90 - 50} = \frac{10}{40} = 0.25 \\ x_3' & = \frac{70 - 50}{90 - 50} = \frac{20}{40} = 0.5 \\ x_4' & = \frac{80 - 50}{90 - 50} = \frac{30}{40} = 0.75 \\ x_5' & = \frac{90 - 50}{90 - 50} = 1 \end{align*} x1′​x2′​x3′​x4′​x5′​​=90−5050−50​=0=90−5060−50​=4010​=0.25=90−5070−50​=4020​=0.5=90−5080−50​=4030​=0.75=90−5090−50​=1​

归一化后的数据:

  • x ′ = [ 0 , 0.25 , 0.5 , 0.75 , 1 ] x' = [0, 0.25, 0.5, 0.75, 1] x′=[0,0.25,0.5,0.75,1]

此时,所有数据均位于 [0, 1] 区间内。


3. 标准化与归一化的区别

  • 目的不同:

    • 标准化旨在使数据符合标准正态分布(均值为0,标准差为1),适用于对数据分布有假设的算法。
    • 归一化旨在将数据缩放到固定区间,适用于基于距离或相似度的算法。
  • 适用场景不同:

    • 标准化适用于:线性回归、逻辑回归、支持向量机、主成分分析等。
    • 归一化适用于:神经网络、K近邻算法、K均值聚类等。
  • 对异常值的影响:

    • 标准化:受异常值影响较小,因为均值和标准差对极端值有一定的缓冲。
    • 归一化:对异常值敏感,极端值会压缩其他数据的取值范围。

4. 实际应用中的选择

  • 当算法对数据分布有要求,且对异常值不敏感时,选择标准化。
  • 当需要将数据缩放到固定区间,且算法对数据的相对大小敏感时,选择归一化。

总结:

  • 标准化(Standardization):通过减去均值并除以标准差,将数据转换为标准正态分布。适用于对数据分布有假设的模型,提高模型的稳定性和收敛速度。

  • 归一化(Normalization):通过缩放,将数据映射到固定的区间内,通常是 [0, 1]。适用于基于距离度量的模型,确保特征对模型的影响均等。

希望以上解释和举例能帮助你清楚地理解标准化和归一化的概念、区别以及应用场景。

标签:frac,示例,归一化,标准化,50,70,90,80
From: https://blog.csdn.net/u013172930/article/details/142551360

相关文章

  • 05 in 判断是否包含查找内容示例 包含 字符串 列表 元组 字典
    1、strv="Python全栈21期"if"全栈"inv:print('含敏感字符')2、list/tuplev=['alex','oldboy','藏老四','利奇航']if"利奇航"inv:print('含敏感')3、dictv={'k1......
  • 01 内存地址 示例
    示例一:v1=[11,22,33]v2=[11,22,33]v1=666v2=666v1="asdf"v2="asdf"#以上数据都不是同一个内存地址#按理v1和v2应该是不同的内存地址。特殊:1.整型:-5~2562.字符串:"alex",'asfasdasdfasdfd_asdf'----"f_*"*......
  • 04 练习示例
    #第一题#让用户输入一个数字,猜:如果数字>50,则输出:大了,如果数字<=50,则输出小了.num=int(input("请输入你要猜测的数字"))#需要注入:input的输入,永远为:字符串ifnum>50:print("大了")else:print("小了")#第二题:用......
  • Nuxt Kit 实用工具的使用示例
    title:NuxtKit实用工具的使用示例date:2024/9/25updated:2024/9/25author:cmdragonexcerpt:摘要:本文介绍了NuxtKit工具在开发集成工具或插件时,如何访问和修改Nuxt应用中使用的Vite或webpack配置,以实现定制化构建需求。内容包括功能概述、项目示例、详细步骤说明了......
  • <<编码>> 第 17 章 自动操作(3)--带控制器的自动加法器 示例电路
    info::操作说明操作说明:计数器处,因16位过于庞大,这里只使用5位代替首先按左边的清零.接着可以自行使用TO置高位并手动更改地址的值检查代码及数据的值(可选,这些值已提前置入)完毕后确保已将两TO值置为低位.之后,单击手动瞬时开关模拟时钟信号驱动计......
  • 什么是带有示例的 Java 中的交错数组?
    Java中的交错数组交错数组,也称为数组数组,是一种数据结构,其中数组用于存储其他数组。交错数组的主要特征是主数组的每个元素可以具有不同的大小,从而允许在二维结构中使用可变的列长度。为了理解Jagged数组的概念,让我们考虑一个例子。假设我们想要存储有关学生及其各自成绩的信息......
  • WPF中控件拖放(二)——拖放示例
    1.创建拖放对象1.1创建一个圆自定义控件,UI代码如下(Circle.xaml):<UserControlx:Class="WpfApp1.Circle"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006......
  • 基于SSM的心理健康测试系统+微信小程序+LW参考示例
    系列文章目录1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例4.基于SSM的高校实验室管理系统+LW参考示例5.基于SpringBoot的二手数码回收系统+原生微信小......
  • 电子血压计方案标准化方案
    血压仪,又称血压计,是一种专门用于测量人体血压水平的医疗设备。电子血压计具有无创性、操作简易、使用便捷等特点,方便使用者快速测量血压值。高清彩屏血压计,通过液晶高清彩屏显示,大屏幕、大字体直观观察血压值及脉搏等体征参数,清晰易读。性能稳定,测量准确度高,智能加压技术可自......
  • 车辆合格证识别接口-汽车管理智能化-python示例
    随着汽车行业的蓬勃发展和数字化进程的加快,如何高效、准确地管理车辆信息成为众多企业面临的重要挑战。新车合格证作为新车上牌、车辆注册和管理的重要凭证,其识别与录入的准确性直接关系到业务流程的顺畅。新车合格证识别接口应运而生,为汽车行业的各类企业提供了一种高效、智......