【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】线性回归

回归问题属于机器学习中较为简单的一类问题。对于回归问题,训练集要包含输入和输出 x ( n ) , y ( n ) n = 1 N {x^{(n)},y^{(n)}}_{n=1}^N x(n),y(n)n=1N。其中输入 x ( n ) x^{(n)} x(n)一般为D维向量,记作 x ( n ) ∈ R D x^{(n)}\in\mathbb{R}^D x(n)RD;输出 y ( n ) y^{(n)} y(n) 为连续的标量,记作 y ( n ) ∈ R y^{(n)}\in\mathbb{R} y(n)R。回归问题即求解 x , y x,y x,y之间的映射关系,记为 y = f ( x , θ ) y=f(x,\theta) y=f(x,θ)

模型

线性回归问题是回归问题中比较简单的一种,其模型为:
f ( x ; w , b ) = w T + b f(x;w,b)=w^T+b f(x;w,b)=wT+b
其中 w w w一般叫做权重(weight), b b b叫做偏置(bias)。事实上,可以通过利用增广权重向量增广特征向量来消除偏置。
增广权重向量是指在权重 w w w的基础上增加一个维度来表示偏置:
w ^ = w ⊕ b ≜ [ w b ] = [ w 1 ⋮ w D b ] \hat{w}=w\oplus{b}\triangleq \left[\begin{array}{}\\ w\\ \\ b \end{array}\right]= \left[\begin{array}{} w_1\\ \vdots\\ w_D\\ b \end{array}\right] w^=wb wb = w1wDb
增广特征向量是指在特征向量 x x x上添加一个值为1的维度,用来与增广权重向量在维度上保持相同以进行运算:
x ^ = x ⊕ 1 ≜ [ x 1 ⋮ x D 1 ] \hat{x}=x\oplus1\triangleq \left[\begin{array}{} x_1\\ \vdots\\ x_D\\ 1 \end{array}\right] x^=x1 x1xD1
经过变换后原式变化如下
f ( x ; w , b ) = w T x + b = [ w 1 ⋯ w D ] ⋅ [ x 1 ⋮ x D ] + b = w 1 x 1 + ⋯ + w D x D + b = [ w 1 ⋯ w D    b ] ⋅ [ x 1 ⋮ x 2 1 ] = w ^ T ⋅ x ^ = f ( x ^ , w ^ ) \begin{aligned} f(x;w,b) & =w^Tx+b\\ & =\left[\begin{array}{} w_1\cdots w_D \end{array}\right] \cdot \left[\begin{array}{} x_1\\ \vdots\\ x_D \end{array}\right]+b \\ & =w_1x_1+\cdots+w_Dx_D+b \\ & =\left[\begin{array}{} w_1\cdots w_D\ \ b \end{array}\right]\cdot\left[\begin{array}{} x_1\\ \vdots\\ x_2\\ 1 \end{array}\right]\\ & =\hat{w}^T\cdot \hat{x} = f(\hat{x}, \hat{w}) \end{aligned} f(x;w,b)=wTx+b=[w1wD] x1xD +b=w1x1++wDxD+b=[w1wD  b] x1x21 =w^Tx^=f(x^,w^)
一般为了方便表示,都是用这种增广的权重和特征向量来表示

经验风险最小化(ERM)

线性回归问题一般使用平方损失函数 1 2 ( y ( n ) − w T x ( n ) ) 2 \frac{1}{2}(y^{(n)}-w^Tx^{(n)})^2 21(y(n)wTx(n))2来计算,因此,可以将线性回归问题的经验风险定义为:
R ( w ) = ∑ n = 1 N L ( y ( n ) , f ( x ( n ) ; w ) ) = 1 2 ∑ n = 1 N ( y ( n ) − w T x ( n ) ) 2 \begin{aligned} \mathcal{R}(w) & =\sum_{n=1}^{N}\mathcal{L}(y^{(n)},f(x^{(n)};w)) \\ & =\frac{1}{2}\sum_{n=1}^{N}(y^{(n)}-w^Tx^{(n)})^2 \end{aligned} R(w)=n=1NL(y(n),f(x(n);w))=21n=1N(y(n)wTx(n))2
上式中忽略了常量 1 N \frac{1}{N} N1,这是由于在参数最小化过程中,常量的取值不同不会影响最小化的过程。以梯度下降方法为例,迭代过程如下:
θ t + 1 = θ t − α ∂ R D ( θ ) ∂ θ = θ t − α 1 N ∑ n = 1 N ∂ L ( y ( n ) , f ( x ( n ) ; θ ) ) ∂ θ \begin{aligned} \theta_{t+1}&=\theta_t-\alpha\frac{\partial\mathcal R_D(\theta)}{\partial\theta}\\ &=\theta_t-\alpha\frac{1}{N}\sum_{n=1}^{N}\frac{\partial\mathcal{L}(y^{(n)},f(x^{(n)};\theta))}{\partial \theta} \end{aligned} θt+1=θtαθRD(θ)=θtαN1n=1NθL(y(n),f(x(n);θ))
可见,常量 1 N \frac{1}{N} N1的取值并不会直接影响整个函数,通过调整学习率 α \alpha α的值可以就可以模拟常量的影响,可见,这种做法对于每次迭代的过程没有影响,但可能会影响迭代的次数,同时这种影响也可以通过调整学习率 α \alpha α来屏蔽。
声明一个变量 X X X,对上述的经验风险公式还进一步简化:
X = [ x ( 1 )    x ( 2 )    ⋯    x ( n ) ] = [ x 1 ( 1 )    x 1 ( 2 )    ⋯    x 1 ( n ) x 2 ( 1 )    x 2 ( 2 )    ⋯    x 2 ( n ) ⋮ 1       1       ⋯       1 ] X=\left[\begin{matrix} x^{(1)}\ \ x^{(2)}\ \ \cdots \ \ x^{(n)} \end{matrix}\right]= \left[\begin{matrix} x_1^{(1)}\ \ x_1^{(2)}\ \ \cdots \ \ x_1^{(n)}\\ x_2^{(1)}\ \ x_2^{(2)}\ \ \cdots \ \ x_2^{(n)}\\ \vdots \\ 1\ \ \ \ \ 1\ \ \ \ \ \cdots \ \ \ \ \ 1 \end{matrix}\right] X=[x(1)  x(2)    x(n)]= x1(1)  x1(2)    x1(n)x2(1)  x2(2)    x2(n)1     1          1
R ( w ) = 1 2 ∑ n = 1 N ( [ y ( 1 ) ⋮ y ( n ) ] − w T [ x 1 ( n ) ⋮ 1 ] ) 2 = 1 2 ∥ [ y ( 1 ) ⋮ y ( n ) ] − ( w T [ x 1 ( 1 )    x 1 ( 2 )    ⋯    x 1 ( n ) x 2 ( 1 )    x 2 ( 2 )    ⋯    x 2 ( n ) ⋮ 1       1       ⋯       1 ] ) T ∥ 2 = 1 2 ∥ [ y ( 1 ) ⋮ y ( n ) ] − [ x ( 1 ) ⋮ x ( n ) ] w ∥ 2 = 1 2 ∥ y − X T w ∥ 2 \begin{aligned} \mathcal{R}(w) & =\frac{1}{2}\sum_{n=1}^{N}(\left[\begin{matrix} y^{(1)} \\ \vdots \\ y^{(n)} \end{matrix}\right]-w^T\left[\begin{matrix} x_1^{(n)} \\ \vdots \\ 1 \end{matrix}\right])^2 \\ & =\frac{1}{2}\parallel\left[\begin{matrix} y^{(1)} \\ \vdots \\ y^{(n)} \end{matrix}\right]-(w^T\left[\begin{matrix} x_1^{(1)}\ \ x_1^{(2)}\ \ \cdots \ \ x_1^{(n)}\\ x_2^{(1)}\ \ x_2^{(2)}\ \ \cdots \ \ x_2^{(n)}\\ \vdots \\ 1\ \ \ \ \ 1\ \ \ \ \ \cdots \ \ \ \ \ 1 \end{matrix}\right])^T\parallel^2 \\ & =\frac{1}{2}\parallel\left[\begin{matrix} y^{(1)} \\ \vdots \\ y^{(n)} \end{matrix}\right]-\left[\begin{matrix} x^{(1)} \\ \vdots \\ x^{(n)} \end{matrix}\right]w\parallel^2 \\ & =\frac{1}{2}\parallel y-X^Tw\parallel^2 \end{aligned} R(w)=21n=1N( y(1)y(n) wT x1(n)1 )2=21 y(1)y(n) (wT x1(1)  x1(2)    x1(n)x2(1)  x2(2)    x2(n)1     1          1 )T2=21 y(1)y(n) x(1)x(n) w2=21yXTw2
为了使经验风险最小化,可以对经验风险求偏导数令其为0求得极值,这种方法叫做最小二乘法,也就是:
∂ ∂ w R ( w ) = 0 \frac{\partial}{\partial{w}}\mathcal{R}(w)=0 wR(w)=0
在这里插入图片描述
I I I表示单位矩阵
补充公式:
∂ X T X X = 2 X \frac{\partial{X^TX}}{X}=2X XXTX=2X

ERM过程:
∂ 1 2 ∥ y − X T w ∥ 2 ∂ w = − 1 2 2 X ( y − X T w ) = − X ( y − X T w ) \begin{aligned} \frac{\partial{\frac{1}{2}\parallel y-X^Tw\parallel^2}}{\partial{w}}=-\frac{1}{2}2X(y-X^Tw)=-X(y-X^Tw) \end{aligned} w21yXTw2=212X(yXTw)=X(yXTw)
X ( y − X T w ) = 0 X y − X X T w = 0 X X T w = X y w = ( X X T ) − 1 X y w = ( X T ) − 1 X − 1 X y w = ( X T ) − 1 y \begin{aligned} X(y-X^Tw)&=0 \\ Xy-XX^Tw&=0\\ XX^Tw&=Xy \\ w&=(XX^T)^{-1}Xy \\ w&=(X^T)^{-1}X^{-1}Xy \\ w&=(X^T)^{-1}y \end{aligned} X(yXTw)XyXXTwXXTwwww=0=0=Xy=(XXT)1Xy=(XT)1X1Xy=(XT)1y
从上述过程可以看出,要想使用最小二乘法进行来使经验风险最小化,必须要满足 X X T XX^T XXT可逆。假设 X X X D × N D\times N D×N矩阵,那么 X X T XX^T XXT即为 D × D D\times D D×D矩阵,若要 X X T XX^T XXT可逆,必须满足 r ( X X T ) = r ( X ) ≥ D r(XX^T)=r(X)\geq D r(XXT)=r(X)D,显然,当 D > N D\gt N D>N时, r ( X ) ≤ N < D r(X)\leq N\lt D r(X)N<D,因此不成立。
当最小二乘法无法使用时,可以考虑用随机梯度下降、降维(降低维度,使 m ≥ n m\geq n mn

结构风险最小化(Structure Risk Minimization,SRM)

由于实际当 D > N D>N D>N时,在一个数据集 X X X当中存在冗余性,也就是说实际上可以用某些特征的组合去预测其他特征,也就是矩阵中的一个维度可以被线性表出,矩阵不满秩,这种情况叫做特征之间存在共线性
下面假设 x i ( n ) = − x j ( n ) x_i^{(n)}=-x_j^{(n)} xi(n)=xj(n),那么他的权重组合 w i x i ( n ) + w j x j ( i ) w_ix_i^{(n)}+w_jx_j^{(i)} wixi(n)+wjxj(i)对于 w w w求解会有很多的结果。假设此时 w w w的取值很大,而当样本特征 x x x发生微小变化后,会导致两者的权重组合变化非常大,从而导致预测与实际偏差较大。
上面问题说明当特征之间存在共线性问题时,若 w w w取值过大,当 x x x发生微小扰动时会导致整体值变得非常大,因此我们希望能对 w w w的取值进行约束,这样即使存在共线问题也不会导致过大的偏差,为此需要引入结构风险来解决这个问题
R ( w ) = 1 2 ∥ y − X T w ∥ 2 + 1 2 λ ∥ w ∥ 2 \mathcal{R}(w)=\frac{1}{2}\parallel y-X^Tw\parallel^2+\frac{1}{2}\lambda \parallel w\parallel^2 R(w)=21yXTw2+21λw2
也就是在经验风险的基础上添加正则化项,正则化项就是指上式中的 1 2 λ ∥ w ∥ 2 \frac{1}{2}\lambda \parallel w\parallel^2 21λw2部分,其中 λ \lambda λ称为正则化系数,是一个需要人工设定的超参数, λ \lambda λ越大对 w w w的限制效果越好。可以看到,在引入正则项之后,为了使结构风险尽可能的小, w w w的取值同样也要尽可能的小才能满足,这就达到了限制 w w w的作用。
在引入结构风险后,可以进一步对其使用最小二乘法进行结构风险最小化:
∂ ∂ w R ( w ) = 1 2 ∂ ∂ w ( ∥ y − X T w ∥ 2 + λ ∥ w ∥ 2 ) = 1 2 [ − 2 X ( y − X T w ) + 2 λ w ] = − X y + X X T w + λ w = − X y + ( X X T + λ I ) w \begin{aligned} \frac{\partial}{\partial w}R(w) &=\frac{1}{2}\frac{\partial}{\partial w}(\parallel y-X^Tw\parallel^2+\lambda \parallel w\parallel^2) \\ &=\frac{1}{2}[-2X(y-X^Tw)+2\lambda w] \\ &=-Xy+XX^Tw+\lambda w \\ &=-Xy+(XX^T+\lambda I)w \end{aligned} wR(w)=21w(yXTw2+λw2)=21[2X(yXTw)+2λw]=Xy+XXTw+λw=Xy+(XXT+λI)w
− X y + ( X X T + λ I ) w = 0 ( X X T + λ I ) w = X y w = ( X X T + λ I ) − 1 X y \begin{aligned} -Xy+(XX^T+\lambda I)w&=0 \\ (XX^T+\lambda I)w&=Xy \\ w&=(XX^T+\lambda I)^{-1}Xy \end{aligned} Xy+(XXT+λI)w(XXT+λI)ww=0=Xy=(XXT+λI)1Xy
由于 λ I \lambda I λI是一个单位矩阵,因此 X X T + λ I XX^T+\lambda I XXT+λI始终可逆,这样就解决了特征之间的共线性问题,也就i不存在上面所说的 w w w过大引起的扰动。这种在矩阵对角线上添加元素的方法来使矩阵可逆的方法叫做岭回归(Ridge Regression)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Don't move

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值