【1】引言
前序学习进程中,已经对用scikit-learn表达线性回归、岭回归、套索回归、多任务套索回归、弹性网络和多任务弹性网络进行了初步解读。
线性回归的目的,是将因变量 y y y表达成由自变量 x x x、线性系数矩阵 w w w和截距 b b b组成线性函数式。
线性回归获得函数式:
y = ∑ i = 1 n w i ⋅ x i + b = w T x + b y=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+b y=i=1∑nwi⋅xi+b=wTx+b
对应的均方误差函数计算式为:
L ( w , b ) = ∑ i = 1 n ( y i − y i ^ ) 2 + ξ = ∑ i = 1 n ( y i − ( w T x i + b ) ) 2 + ξ L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\xi=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\xi L(w,b)=i=1∑n(yi−yi^)2+ξ=i=1∑n(yi−(wTxi+b))2+ξ在这里, y y y是第i个样本的真实值, y ^ \hat{y} y^是第i个样本的预测值,当 ξ = 0 \xi=0 ξ=0时,上述均方误差函数适用于普通线性回归,当 ξ ≠ 0 \xi\neq0 ξ=0时,则具体衍生出岭回归、套索回归、弹性网络等具体算法。
当我们在看各种算法的均方误差函数计算式的时候,会发现自变量和因变量有时候需要再次处理,至少包括去中心化和标准化两种。今天的学习目标就是了解这两种处理方法,为后续深入学习做准备。
【2】去中心化
去中心化是将变量统一减去均值,也就是使平均值=0,这个过程不会改变方差和标准差。
设变量 X = [ x 1 , x 2 , . . . , x n ] X=[x_{1},x_{2},...,x_{n}] X=[x1,x2,...,xn],对应均值为:
x ˉ = 1 n ∑ i = 1 n x i \bar x=\frac{1}{n}\sum_{i=1}^{n}x_{i} xˉ=n1i=1∑nxi
去中心化后的变量记录为 X ^ = [ x 1 − x ˉ , x 2 − x ˉ , . . . , x n − x ˉ ] = [ x 1 ′ , x 2 ′ , . . . , x n ′ ] \hat X=[x_{1}-\bar x,x_{2}-\bar x,...,x_{n}-\bar x]=[x_{1}',x_{2}',...,x_{n}'] X^=[x1−xˉ,x2−xˉ,...,xn−xˉ]=[x1′,x2′,...,xn′]
【3】标准化
标准化是在去中心化的基础上,将变量除以其标准差,是处理后的变量均值为0、标准差为1,是一种无量纲转化。
样本标准差计算式为:
s = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 s=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2} s=n−11i=1∑n(xi−xˉ)2 表标准化后的变量记作z,满足:
z i = x i − x ˉ s = x i ′ s z_{i}=\frac{x_{i}-\bar x}{s}=\frac{x_{i}'}{s} zi=sxi−xˉ=sxi′
标准化后,可以满足:
z i z_{i} zi的均值为0: z ˉ = 1 n ∑ i = 1 n z i = 0 \bar z=\frac{1}{n}\sum_{i=1}^{n}z_{i}=0 zˉ=n1i=1∑nzi=0新的标准差:
s ′ = 1 n − 1 ∑ i = 1 n ( z i − 0 ) 2 = 1 n − 1 ∑ i = 1 n ( x i ′ s ) 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ s ) 2 = 1 s 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 = 1 s'=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(z_{i}-0)^2}=\\ \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(\frac{x_{i}'}{s})^2}=\\ \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(\frac{x_{i}-\bar x}{s})^2}=\\ \frac{1}{s}\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2}=\\ 1 s′=n−11i=1∑n(zi−0)2 =n−11i=1∑n(sxi′)2 =n−11i=1∑n(sxi−xˉ)2 =s1n−11i=1∑n(xi−xˉ)2 =1
方差:
总体方差的计算式:
σ 2 = 1 n ∑ i = 1 n ( z i − z ˉ ) 2 = σ 2 = 1 n ∑ i = 1 n ( z i − 0 ) 2 = σ 2 = 1 n ∑ i = 1 n ( x i ′ s ) 2 = 1 n ∑ i = 1 n ( x i − x ˉ s ) 2 = 1 s 2 1 n ∑ i = 1 n ( x i − x ˉ ) 2 \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(z_{i}-\bar z)^2=\\ \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(z_{i}-0)^2=\\ \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(\frac{x_{i}'}{s})^2=\\ \frac{1}{n}\sum_{i=1}^{n}(\frac{x_{i}-\bar x}{s})^2=\\\frac{1}{s^2}\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar x)^2 σ2=n1i=1∑n(zi−zˉ)2=σ2=n1i=1∑n(zi−0)2=σ2=n1i=1∑n(sxi′)2=n1i=1∑n(sxi−xˉ)2=s21n1i=1∑n(xi−xˉ)2
实际上大多数时刻,大家获得的都是样本,很少有机会获得整体数据,此时样本昂差的校正计算式为:
σ 2 = 1 n − 1 ∑ i = 1 n − 1 ( z i − z ˉ ) 2 = 1 s 2 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 = 1 \sigma^2=\frac{1}{n-1}\sum_{i=1}^{n-1}(z_{i}-\bar z)^2=\\\frac{1}{s^2}\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2=1 σ2=n−11i=1∑n−1(zi−zˉ)2=s21n−11i=1∑n(xi−xˉ)2=1
【4】总结
学习了去中心化和标准化的基本知识。