岭回归等价于对数据矩阵进行维纳滤波
背景知识之普通最小二乘法
假设训练集 D \mathcal{D} D 包含 m m m 个样本 { x ( i ) , y ( i ) } i = 1 m \left\{\mathbf{x}^{(i)}, y^{(i)}\right\}_{i=1}^{m} { x(i),y(i)}i=1m。每个样本 i i i 包括一个标量目标值 y ( i ) y^{(i)} y(i) 和一个包含 n n n 个特征的特征向量 x ( i ) \mathbf{x}^{(i)} x(i),即 x ( i ) = [ x 1 ( i ) , x 2 ( i ) , … , x n ( i ) ] T \mathbf{x}^{(i)}=\left[x_{1}^{(i)}, x_{2}^{(i)}, \dots, x_{n}^{(i)}\right]^{\operatorname{T}} x(i)=[x1(i),x2(i),…,xn(i)]T。这一般会是一个过定系统,也就是说方程组中的方程数量多于未知数的数量,也即 m > n m > n m>n。训练样本数量一般远大于模型参数在线性回归模型中,目标变量 y ( i ) y^{(i)} y(i) 是特征的线性函数:
∑ j = 1 n x j ( i ) θ j = y ( i ) , ( i = 1 , 2 , … , m ) , \sum _{j=1}^{n}x_{j}^{(i)}\theta _{j}=y^{(i)}, \quad (i=1,2,\dots ,m), j=1∑nxj(i)θj=y(i),(i=1,2,…,m),
该系统包含 m m m 个线性方程和 n n n 个未知系数 θ 1 , θ 2 , … , θ n \theta_{1}, \theta_{2}, \dots, \theta_{n} θ1,θ2,…,θn,并且满足 m > n m > n m>n。可以将其写成矩阵形式为
X θ = y , \mathbf{X} \boldsymbol{\theta} = \mathbf{y}, Xθ=y,
其中
X = [ x 1 ( 1 ) x 2 ( 1 ) ⋯ x n ( 1 ) x 1 ( 2 ) x 2 ( 2 ) ⋯ x n ( 2 ) ⋮ ⋮ ⋱ ⋮ x 1 ( m ) x 2 ( m ) ⋯ x n ( m ) ] , θ = [ θ 1 θ 2 ⋮ θ n ] , y = [ y ( 1 ) y ( 2 ) ⋮ y ( m ) ] . \mathbf{X} = \begin{bmatrix} x_{1}^{(1)} & x_{2}^{(1)} & \cdots & x_{n}^{(1)} \\ x_{1}^{(2)} & x_{2}^{(2)} & \cdots & x_{n}^{(2)} \\ \vdots & \vdots & \ddots & \vdots \\ x_{1}^{(m)} & x_{2}^{(m)} & \cdots & x_{n}^{(m)} \end{bmatrix}, \quad \boldsymbol{\theta} = \begin{bmatrix} \theta_{1} \\ \theta_{2} \\ \vdots \\ \theta_{n} \end{bmatrix}, \quad \mathbf{y} = \begin{bmatrix} y^{(1)} \\ y^{(2)} \\ \vdots \\ y^{(m)} \end{bmatrix}. X= x1(1)x1(2)⋮x1(m)x2(1)x2(2)⋮x2(m)⋯⋯⋱⋯xn(1)xn(2)⋮xn(m) ,θ= θ1θ2⋮θn ,y= y(1)y(2)⋮y(m) .
(注意:对于上述线性模型, X \mathbf{X} X 的第一列通常全为1,称为"截距项"或"偏置项",其余列则包含实际的特征数据。这里的 n n n 等于特征数量加一。)
这样的系统通常没有精确解,因此目标是找到系数 θ \boldsymbol{\theta} θ,使方程的拟合"最佳",在这种情况下,通过求解二次最小化问题来实现:
θ ^ = arg min θ J ( θ ) , \hat{\boldsymbol{\theta}} = \underset{\boldsymbol{\theta}}{\operatorname{arg\,min}} \, J(\boldsymbol{\theta}), θ^=θargminJ(θ),
其中目标函数 J J J 定义为
J ( θ ) = ∑ i = 1 m ( y ( i ) − ∑ j = 1 n x j ( i ) θ j ) 2 = ∥ y − X θ ∥ 2 = ( y − X θ ) T ( y − X θ ) . J(\boldsymbol{\theta}) = \sum_{i=1}^{m}\left(y^{(i)}-\sum_{j=1}^{n}x^{(i)}_{j}\theta_{j}\right)^{2} = \left\| \mathbf{y} - \mathbf{X} \boldsymbol{\theta} \right\|^{2} = \left(\mathbf{y} - \mathbf{X} \boldsymbol{\theta}\right)^{\operatorname{T}}\left(\mathbf{y} - \mathbf{X} \boldsymbol{\theta}\right). J(θ)=i=1∑m