标准化,正则化,归一化介绍

标准化,正则化,归一化介绍1 标准化标准化的公式 z scoreX X mean stdX frac X mean std X std X mean 计算时对每个属性 每列 分别进行

大家好,欢迎来到IT知识分享网。

1. 标准化

标准化的公式:z-score

X = ( X − m e a n ) s t d X = \frac {(X-mean)} {std} X=std(Xmean)

计算时对 每个属性(每列) 分别进行。

每一列的 每一个数 都减去 该列的均值,并除以 该列的标准差
得到的结果在 0 附近并且方差为 1 。

方法实现sklearn.preprocessing.scale()
from sklearn import preprocessing import numpy as np X = np.linspace(1,9,9).reshape((3,3)) ''' X = [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] ''' X = preprocessing.scale(X) ''' X= [[-1. -1. -1.] [ 0. 0. 0. ] [ 1. 1. 1.]] ''' 
推算

标准差公式为:该列每个数减去平均值的平方求和,除以数的个数后开方 s t d = ∑ ( x i − m e a n ) 2 n std = \sqrt {\frac{\sum(x_i-mean)^2} n} std=n(ximean)2

第一列的均值为 ( 1 + 4 + 7 ) 3 = 4 \frac {(1+4+7)} 3=4 3(1+4+7)=4
第一列的第一个数标准差为 ( 1 − 4 ) 2 + ( 4 − 4 ) 2 + ( 7 − 4 ) 2 3 = 6 \sqrt \frac { {(1-4)^2+(4-4)^2+(7-4)^2}} 3 =\sqrt {6} 3(14)2+(44)2+(74)2
=
6

第一列第一个数为 1 − 4 6 = − 1. \frac {1-4} {\sqrt {6}}=-1. 6
14
=
1.22474487



方法实现sklearn.preprocessing.StandardScaler()

sklearn里的封装好的算法使用前都要使用fit,为后续的API服务

from sklearn import preprocessing import numpy as np X = np.linspace(1,9,9).reshape((3,3)) ''' X = [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] ''' scaler = preprocessing.StandardScaler().fit(X) scaler.transform(X) ''' X= [[-1. -1. -1.] [ 0. 0. 0. ] [ 1. 1. 1.]] ''' 

fit() 简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。
在fit() 的基础上,进行标准化,降维,归一化等操作。

2. 正则化

正则化:
  • 将每个样本缩放到单位范数,对每个样本计算其 p-范数 ,然后样本中 每个 数除以该范数
p-范数计算公式: x p = ∑ x i p p x_p= \sqrt[p]{\sum x_i^p} xp=pxip

一般使用 l1-norm(p=1)l2-norm(p=2)
计算时对一个样本即 一行 数据

方法实现:sklearn.preprocessing.Normalizer()
from sklearn import preprocessing import numpy as np X = np.linspace(1,9,9).reshape((3,3)) ''' X = [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] ''' normalizer = preprocessing.Normalizer().fit(X) normalizer.transform(X) ''' X= [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]] ''' 
推算
  • 默认是 l2-norm
    第一行的 2-范数 1 2 + 2 2 + 3 2 = 14 \sqrt {1^2+2^2+3^2}=\sqrt {14} 12+22+32
    =
    14

    第一行第一个数 1 14 = 0. \frac 1 {\sqrt {14}}=0. 14
    1
    =
    0.26726124


3. 归一化

  • 将属性缩放到一个指定的范围
常见的min-max标准化也叫 离差标准化

X = X − m i n m a x − m i n X=\frac {X-min} {max-min} X=maxminXmin
针对某个属性即 一列 数据

from sklearn import preprocessing import numpy as np X = np.linspace(1,9,9).reshape((3,3)) ''' X = [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] ''' min_max_scaler = preprocessing.MinMaxScaler().fit(X) min_max_scaler.transform(X) ''' X= [[0. 0. 0. ] [0.5 0.5 0.5] [1. 1. 1. ]] ''' 
推算

第一列第一个数 1 − 1 7 − 1 = 0 \frac {1-1} {7-1}=0 7111=0
第一列第二个数 4 − 1 7 − 1 = 0.5 \frac {4-1} {7-1}=0.5 7141=0.5

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118258.html

(0)
上一篇 2025-11-14 15:15
下一篇 2025-11-14 15:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信