数据归一化小结

数据归一化小结在各种模型训练,特征选择相关的算法中,大量涉及到数据归一化的问题。比如最常见的情况是计算距离,如果不同维度之间的取值范围不一样,比如feature1的取值范围是[100,200],feature2的取值范围是[1,2],如果数据不做归一化处理,会造成feature1在距离计算中占压倒性的优势,feature2完全体现不出来作用。而数据做归一化处理以后,会让各个不同特征对距离计算的贡献大致相同,从而避

大家好,又见面了,我是你们的朋友全栈君。

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

在各种模型训练,特征选择相关的算法中,大量涉及到数据归一化的问题。比如最常见的情况是计算距离,如果不同维度之间的取值范围不一样,比如feature1的取值范围是[100,200],feature2的取值范围是[1,2],如果数据不做归一化处理,会造成feature1在距离计算中占压倒性的优势,feature2完全体现不出来作用。而数据做归一化处理以后,会让各个不同特征对距离计算的贡献大致相同,从而避免人为的数据倾斜。

常见的数据归一化方式如下:

1.线性归一化

如果要把输入数据转换到[0,1]的范围,可以用如下公式进行计算:
X n o r m = X − X m i n X m a x − X m i n X_{norm} = \frac{X – X_{min}}{X_{max} – X_{min}} Xnorm=XmaxXminXXmin
按以上方式进行归一化以后,输入数据转换到[0,1]的范围。
有时候我们希望将输入转换到[-1,1]的范围,可以使用以下的公式
X n o r m = 2 ∗ ( X − X m i n ) X m a x − X m i n − 1 X_{norm} = \frac{2*(X – X_{min})}{X_{max} – X_{min}} – 1 Xnorm=XmaxXmin2(XXmin)1

以上两种方式,都是针对原始数据做等比例的缩放。其中 X n o r m X_{norm} Xnorm 是归一化以后的数据, X X X是 原始数据大小, X m a x X_{max} Xmax X m i n X_{min} Xmin 分别是原始数据的最大值与最小值。公式简单明了,很容易懂。
除了将数据缩放到[0,1]或[-1,1]的范围,实际中还经常有其他缩放需求。例如在进行图像处理的过程中,获得的灰度图像的灰度值在[0,255]之间。常用的处理方式之一就是将像素值除以255,就缩放到了[0,1]之间。而在RGB图像转灰度图像的过程中,经常就将灰度值限定在[0,255]之间。

2.0均值归一化

0均值归一化将输入的原始数据集归一化为均值为0,方差为1的数据集。具体的归一化公式如下:
z = x − μ σ z = \frac{x – \mu}{\sigma} z=σxμ
其中, μ \mu μ, σ \sigma σ是原始 数据集的均值与标准差。这种方式要求原始数据集的分布近似为正态(高斯)分布。否则归一化的效果很差。

http://ufldl.stanford.edu/wiki/index.php/数据预处理 中关于0均值归一化的描述:
特征标准化指的是(独立地)使得数据的每一个维度具有零均值和单位方差。这是归一化中最常见的方法并被广泛地使用(例如,在使用支持向量机(SVM)时,特征标准化常被建议用作预处理的一部分)。在实际应用中,特征标准化的具体做法是:首先计算每一个维度上数据的均值(使用全体数据计算),之后在每一个维度上都减去该均值。下一步便是在数据的每一维度上除以该维度上数据的标准差。
例子:处理音频数据时,常用 Mel 倒频系数 MFCCs 来表征数据。然而MFCC特征的第一个分量(表示直流分量)数值太大,常常会掩盖其他分量。这种情况下,为了平衡各个分量的影响,通常对特征的每个分量独立地使用标准化处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152322.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《Getting Started with WebRTC》第一章 WebRTC介绍

    《Getting Started with WebRTC》第一章 WebRTC介绍

  • 网络安全自学笔记(网络安全笔记300字)

    目录WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入通信安全WEB(应用)安全前端安全xss攻击后端安全文件上传漏洞WebShell解析安全数据安全sql注入网络安全-sqlmap学习笔记通信安全网络-http协议学习笔记(消息结构、请求方法、状态码等)…

  • SQL Server——数据库创建及修改[通俗易懂]

    SQL Server——数据库创建及修改[通俗易懂]文章目录一、SQL Server数据库的相关概念1、逻辑数据库2、物理数据库二、SQL Server数据库的基本操作1、使用SQL Server Management Studio (创建/修改/删除)数据库2、使用SQL语句(创建/修改/删除)数据库【数据库文件的类型】【主要】【次要】【事务日志】文件组1.主文件组(PRIMARY)2.用户定义文件组【文件组特性】一、SQL Server数据库…

  • seekg的应用案例

    seekg的应用案例在学习C++文件流控制时(链接)我们知道C++有一个标准库fstream该库定义了三个数据类型ofstreamifstream和fstream在练习相应的案例时,seekg()函数掌握的不是很好,后经过多次尝试,可以正常调用了代码如下:#include<fstream>#include<iostream>usingnamespacestd;intmain(){chardata[100];////以写模式打开文件

  • vscode设置删除行快捷键[通俗易懂]

    vscode设置删除行快捷键[通俗易懂]开发中习惯的快捷键删除:ctrl+Dvscode的删除快捷键:ctrl+shift+K修改方式:默认ctrl+D被addselectiontonextfindmatch使用,先修改调它的快捷键,如图改为ctrl+shift+alt+D,按回车键保存在修改DeleteLine的快捷键为ctrl+D,按回车键保存完成…

  • 电商项目基本业务概述||电商后台管理系统的功能|| 电商后台管理系统的开发模式(前后端分离)|| 电商后台管理系统的技术选型[通俗易懂]

    电商项目基本业务概述||电商后台管理系统的功能|| 电商后台管理系统的开发模式(前后端分离)|| 电商后台管理系统的技术选型[通俗易懂]电商项目基本业务概述根据不同的应用场景,电商系统一般都提供了PC端、移动APP、移动Web、微信小程序等多种终端访问方式。电商后台管理系统的功能电商后台管理系统用于管理用户账号、商品分类、商品信息、订单、数据统计等业务功能。电商后台管理系统的开发模式(前后端分离)电商后台管理系统整体采用前后端分离的开发模式,其中前端项目是基于Vue技术栈的SPA项目…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号