线性回归问题在Andrew Ng的视频教学《机器学习》的第二章中有提到,可以用梯度下降的方法来解决其中的参数估计问题。Ng指出梯度下降法在线性回归问题中必然全局收敛,因为这个问题只有一个极值点。这也就意味着线性回归问题的解是唯一的。
我们现在要证明这个解的唯一性。在证明唯一性之前,先求解线性回归问题。
定义1:观察数据 X 。
样本数据由一个 m×(n+1) 的矩阵 X 表达,其中 m 是样本数, n 是样本的特征的数量。
X=⎡⎣⎢⎢x10⋮xm0⋯⋱⋯x1n⋮xmn⎤⎦⎥⎥(1)
为了表示每一个样本,我们引入每个样本的列向量标记
x(1),⋯,x(m) ,其中
x(i)=(xi0,xi1,⋯,xin)T 。需要说明的是:第0维为
xi0=1 ,其余都是观察数据。
定义2:目标值
y 。
m 个样本的目标值分别为
y(1),⋯,y(m) ,用列向量表示:
y=⎡⎣⎢⎢⎢y(1)⋮y(m)⎤⎦⎥⎥⎥(2)
定义3:线性回归模型
hθ(x) ,用于预测给定输入后得到的输出。
我们定义线性回归模型如下:
hθ(x)=θ0+θ1x1+⋯+θnxn=∑j=0nθjxj=θTx(3)
(
3 )中为了连加符号的连贯性,定义
x0=1 。
θ 是线性回归模型中的参数,是一个
n+1 维的列向量。
定义4,总误差函数
J(θ) ,用于衡量线性回归模型
hθ(x) 在给定观察数据
X 的情况下的误差。
J(θ)=12∑i=1m[hθ(x(i))−y(i)]2(4)
问题的求解目标:我们要计算出线性回归模型中的参数
θ ,这个
θ 能够使总误差函数
J(θ) 在给定观察数据
X 的情况下达到最小。
求解路线:将(
4 )表达成矩阵的形式,然后用求导的方法求出解的必要性条件,最后证明解的存在性和唯一性。
解答:
将( 1 )写成行分块的形式:
X=⎡⎣⎢⎢⎢⎢(x(1))T(x(2))T⋯(x(m))T⎤⎦⎥⎥⎥⎥(5)
误差向量
error(θ) 可以写成如下形式:
error(θ)=⎡⎣⎢⎢⎢⎢(x(1))Tθ−y(1)(x(2))Tθ−y(2)⋯(x(m))Tθ−y(m)⎤⎦⎥⎥⎥⎥=Xθ−y(6)
J(θ)=12errorT(θ)error(θ)=12(Xθ−y)T(Xθ−y)=12(θTXTXθ−2yTXθ+yTy)(7)
极值点的必要性条件:
∂J(θ)∂θ=XTXθ−XTy=0(8)
现在探讨
XTX 的性质,首先,它是一个半正定矩阵。用任意的
n+1 维非零向量
d 考察
XTX :
dTXTXd=(Xd)T(Xd)=||Xd||2≥0(9)
当且仅当
d 是
Xd=0(10)
的非零解的时候,
9 才会取到等号。也就是说只有当
m×(n+1) 维的矩阵
X 不满秩的时候,才会使
d 有非零解:
rank(X)<min(m,n+1)(11)
这需要区分两种情况,观察数据组成的矩阵
X 呈现长条状还是扁平状。
待续
(
11 )成立的条件是同一个数据点被多次采样,这在数据获取或者数据过滤阶段可以避免。所以我们就可以认为
X 是满秩的,相应的
XTX 也是满秩的(
待续).在这个条件下,我们解出
8 :
θ=(XTX)−1XTy(12)
这里我们给出了解,也回答了开头提出的解的唯一性问题。另外,我们回答另一个问题,即如果采用梯度下降算法,是有全局最优解的,这是因为函数
J(θ) 的二阶导数是正定的。
∂2(J(θ))∂θ2=∂∂θ(XTXθ−XTy)=XTX
(13)
∂2(J(θ))∂θ2=∂∂θ(XTXθ−XTy)=XTX
(13)
∂2(J(θ))∂θ2=∂∂θ(XTXθ−XTy)=XTX(13)
( 9 )说明了二阶导数 XTX 的正定性,所以可以用梯度下降法来计算参数 θ :
⎧⎩⎨⎪⎪θk=θk−1−α∂(J(θ))∂θθ0=0⃗ (14)