数据的规范化,归一化,标准化,正则化,这几个破词整得我头晕,首先这些词就没规范好,对数据做实验更晕,网上狂搜一阵后,发现数据归一化,标准化,正则化,还是有差别
数据规范化
一种是针对数据库的解释
规范化理论把关系应满足的规范要求分为几级,满足最低要求的一级叫做第一范式(1NF),在第一范式的基础上提出了第二范式(2NF),在第二范式的基础上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。范式的等级越高,应满足的约束集条件也越严格。
另一种是就是对数据而言,一直想把数据的规范化的概念与归一化,标准化,正则化区分清楚。纠结一阵后个人认为,数据的规范化包含了归一化,标准化,正则化,是一个统称(也有人把标准化做为统称,)。针对不同的问题作用也不同。
1 数据规范化
数据规范化是数据挖掘中数据变换的一种方式,数据变换将数据转换或统一成适合于挖掘的形式。而数据规范化是指将被挖掘对象的属性数据按比例缩放,使其落入一个小的特定区间(如[-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]的目标。
2 归一化(Normalization)
把数变为(0,1)之间的小数
主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。
一般方法是最小-最大规范的方法:(x-min(x))/(max(x)-min(x)),
3 标准化(Standardization)
数据的标准化是将数据按比例缩放,使之落入一个小的特定区间,标准化后的数据可正可负,但是一般绝对值不会太大。一般是z-score规范化方法:(x-mean(x))/std(x)
4 正则化(Regularization)
在求解最优化问题中,调节拟合程度的,参数一般称为正则项,越大表明欠拟合,越小表明过拟合,推荐中主要用在矩阵分
李航博士在《统计学习方法》中提到,统计学习的三要素是模型、策略和算法,在机器学习领域,这个“模型”就是我们要求解的概率分布或决策函数。
假设我们现在要求一个逻辑回归问题,首先我们要做的是假设一个函数,可以覆盖所有的可能:
y=wx
,其中w为参数向量,
x
为已知样本的向量,如果用
yi
表示第
i
个样本的真实值,用
f(xi)
表示样本的预测值,那么我们的损失函数可以定义为:
L(yi,f(xi))=yi−sigmoid(xi)
这里可以不用关心这个函数是什么意思,就知道代表误差就行了。对于该模型
y=wx
的所有样本的损失平均值成为“经验风险”(empiricalrisk)或”经验损失”(empirical loss)。很显然,经验风险最小化(empirical riskminimization,ERM)就是求解最优模型的原则。为了达到这个目的,模型的设定会越来越复杂,最后造成该模型只适用于当前的样本集(即over-fitting,过拟合)。
为了解决过拟合问题,通常有两种办法,第一是减少样本的特征(即维度),第二就是我们这里要说的”正则化“(又称为”惩罚“,penalty)。正则化的一般形式是在整个平均损失函数后增加一个正则项(L2范数正则化,也有其他形式的正则化,他们的作用也不同):
A=1N(∑iNL(yi,f(xi))+∑inλw2i)
后面的
∑in
λ
w2i
就是正则化项,其中
λ
越大表明惩罚粒度越大,等于0表示不做惩罚,N表示所有样本的数量,n表示参数的个数。
从下面的图中,可以很明显的看出正则化函数的作用:
λ=0
λ=0的情况,即没有正则化
λ=1
λ=1的情况,即合适的惩罚
λ=100
,λ=100过度惩罚,出现欠拟合问题