线性回归问题解的唯一性

线性回归问题在Andrew Ng的视频教学《机器学习》的第二章中有提到,可以用梯度下降的方法来解决其中的参数估计问题。Ng指出梯度下降法在线性回归问题中必然全局收敛,因为这个问题只有一个极值点。这也就意味着线性回归问题的解是唯一的。
我们现在要证明这个解的唯一性。在证明唯一性之前,先求解线性回归问题。

定义1:观察数据 X
样本数据由一个 m×(n+1) 的矩阵 X 表达,其中 m 是样本数, n 是样本的特征的数量。

X=x10xm0x1nxmn(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(θ)=12i=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)

易知( 6 )和自身的内积可以和( 4 )产生关联:
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||20(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=θk1α(J(θ))θθ0=0⃗ (14)



你可能感兴趣的:(机器学习)