【机器学习】【数据预处理】数据的规范化,归一化,标准化,正则化

本文主要是介绍【机器学习】【数据预处理】数据的规范化,归一化,标准化,正则化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 数据的规范化,归一化,标准化,正则化,这几个破词整得我头晕,首先这些词就没规范好,对数据做实验更晕,网上狂搜一阵后,发现数据归一化,标准化,正则化,还是有差别

数据规范化

   一种是针对数据库的解释 

  规范化理论把关系应满足的规范要求分为几级,满足最低要求的一级叫做第一范式(1NF),在第一范式的基础上提出了第二范式(2NF),在第二范式的基础上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。范式的等级越高,应满足的约束集条件也越严格。

        另一种是就是对数据而言,一直想把数据的规范化的概念与归一化,标准化,正则化区分清楚。纠结一阵后个人认为,数据的规范化包含了归一化,标准化,正则化,是一个统称(也有人把标准化做为统称,)。针对不同的问题作用也不同。

    数据规范化是数据挖掘中数据变换的一种方式,数据变换将数据转换或统一成适合于挖掘的形式。而数据规范化是指将被挖掘对象的属性数据按比例缩放,使其落入一个小的特定区间(如[-1, 1]或[0,1])。

    对属性值进行规范化常用于涉及神经网络或距离度量的分类算法和聚类算法中。比如使用神经网络向后传播算法进行分类挖掘时,对训练元组中度量每个属性的输入值进行规范化有助于加快学习阶段的速度。对于基于距离度量相异度的方法,数据规范化可以让所有的属性具有相同的权重。

    数据规范化的常用方法有三种:按小数定标规范化、最小-最大值规范化和z-score规范化。

(1) 最小-最大规范化对原始数据进行线性变换。
zi=xi-xmin/xmax-xmin
其中:zi为指标的标准分数,xi为某镇某指标的指标值,xmax为全部镇中某指标的最大值,xmin为全部镇中某指标的最小

(2) z-score规范化也称零-均值规范化。属性A的值是基于A的平均值与标准差规范化。

公式为:(x-mean(x))/std(x)
(3) 小数定标规范化

通过移动属性值的小数点位置进行规范化,通俗的说就是将属性值除以10的j次幂。

 如j=3,-986规范化后为-0.986,而917被规范化为0.917。达到了将属性值缩到小的特定区间[-1,1]的目标。

归一化(Normalization

把数变为(0,1)之间的小数
主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。

一般方法是最小-最大规范的方法:   (x-min(x))/(max(x)-min(x)),

标准化(Standardization)

数据的标准化是将数据按比例缩放,使之落入一个小的特定区间,标准化后的数据可正可负,但是一般绝对值不会太大。一般是 z-score规范化方法:(x-mean(x))/std(x)

正则化(Regularization

在求解最优化问题中,调节拟合程度的,参数一般称为正则项,越大表明欠拟合,越小表明过拟合,推荐中主要用在矩阵分

归一化:

解决影响梯度下降速度问题;

我们在对数据进行分析的时候,往往会遇到单个数据的各个维度量纲不同的情况,比如对房子进行价格预测的线性回归问题中,我们假设房子面积(平方米)、年代(年)和几居室(个)三个因素影响房价,其中一个房子的信息如下:

  • 面积(S):150 平方米
  • 年代(Y):5 年

假设我们把该问题作为一个逻辑回归问题$y=wx$来求解,使用梯度下降来求解$w$的最优值。

效率比较高的梯度下降方法中,每次下降应该尽可能的往最优点靠近,假设下降距离函数为:

其中$\Delta^*$表示梯度的模,$\lambda$表示步长,如果两个向量的取值范围差别特别大,那么这两个向量的图像会显得很“细长”:

我们的梯度在寻找最优值的时候,由于图像“细长”,所以要来回找垂直线,两个维度范围相差的越大,梯度下降的越慢,还可能永远无法收敛。

为了解决这个问题,假如我们把所有的数据范围都是用归一化处理在0到1的区间内(也可以是0到10等其他范围,但一般是0到1),如使用以下归一化公式:

我们的图像就会变得更加“正圆”一些:

我们可以很清楚的看到 ,梯度会更加快速的找到最优点。

个人总结

归一化,标准化,主要是针对输入数据,提高训练速度

正则化,主要是针对训练过程中权值w,主要是为了解决过拟合问题

这篇关于【机器学习】【数据预处理】数据的规范化,归一化,标准化,正则化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122765

相关文章

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二