归一化与标准化

标准化与归一化

归一化

特点:

归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。对不同特征维度的伸缩表换的目的是使各个特征维度对目标函数的影响权重是一致的,即使得那些扁平分布的数据伸缩变换成类圆形。这也就改变了原始数据的一个分布。

好处:

1)提高迭代求解的收敛速度

2)提高迭代求解的精度

方法:

1)min-max标准化

也成为离差标准化,对原始数据的的线性变换,结果值映射到[0-1]之间。转换函数如下:

其中max为样本数据的最大值min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致maxmin的变化,需要重新定义。

2)Z-score标准化方法

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:


1. <span style="font-size:18px;"># ...  

2. def standardize(X):  

3.     """特征标准化处理 

4.  

5.     Args: 

6.         X: 样本集 

7.     Returns: 

8.         标准后的样本集 

9.     """  

10.     m, n = X.shape  

11.     # 归一化每一个特征  

12.     for j in range(n):  

13.         features = X[:,j]  

14.         meanVal = features.mean(axis=0)  

15.         std = features.std(axis=0)  

16.         if std != 0:  

17.             X[:, j] = (features-meanVal)/std  

18.         else  

19.             X[:, j] = 0  

20.     return X  

21.   

22. def normalize(X):  

23.     """Min-Max normalization     sklearn.preprocess 的MaxMinScalar 

24.  

25.     Args: 

26.         X: 样本集 

27.     Returns: 

28.         归一化后的样本集 

29.     """  

30.     m, n = X.shape  

31.     # 归一化每一个特征  

32.     for j in range(n):  

33.         features = X[:,j]  

34.         minVal = features.min(axis=0)  

35.         maxVal = features.max(axis=0)  

36.         diff = maxVal - minVal  

37.         if diff != 0:  

38.            X[:,j] = (features-minVal)/diff  

39.         else:  

40.            X[:,j] = 0  

41.     return X</span>  

 

 

标准化

特点:

对不同特征维度的伸缩变换的目的是使得不同度量之间的特征具有可比性。同时不改变原始数据的分布。

好处:

1)使得不同度量之间的特征具有可比性,对目标函数的影响体现在几何分布上,而不是数值上。

2)不改变原始数据的分布。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值