统计学习: 最小二乘法
最小二乘法的基本原理如下,针对线性回归模型 $\def\bm{\boldsymbol} y=\bm w^T\bm x$,寻找参数 $w$ 使得残差平方和最小,
直接求解
又因为二阶导数半正定,所以这个解是极值点。
注意 $X^TX$ 存在逆,这要求 $X$ 是列无关的,这个要求在梯度下降法的证明中也是需要的,若这个要求不符合,意味着存在不知唯一一个 $w$ 满足残差平方和最小。
由于当数据规模极其巨大的时候,计算 $X^TX$ 是不现实的,所以通常情况下会使用迭代法,而考虑到 $X^TX$ 是一个半正定矩阵,最小二乘问题只需要凸优化方法即可。
梯度下降法
其中 $\eta$ 为学习率,是一个可供选择的常数或者变量。
引理 L-smooth 条件
若函数 $f(x)$ 对于任意两个$x,y$,存在一个常数 $L>0$ 使得,
则称 $f(x)$ 符合 L-Lipschitz 条件。
证明:
另 $L=2||X^TX||>0$,所以函数 $f(\bm w)$ 符合 L-smooth 条件。
引理 L-smooth 等价形式
证明:
构造一个插值函数 $g(t) = f(y+t(x-y))$,对 $t$ 求导,
可以把函数值之差转变为积分,
将 上式代入等式左侧,
其中第3行使用了和的绝对值小于等于绝对值的和,第4行使用了柯西施瓦茨不等式 $a^Tb\le\sqrt{||a||^2||b||^2}$ ,第5行代入了 L-smooth 条件。
删去绝对值,可得到,
证明 收敛性(固定学习率)
接下来证明梯度下降法在最小二乘问题上的收敛性,注意这个证明具有一般性(符合 L-smooth 条件的凸函数),所以会略显冗长。
选择 $\eta L\le 1$ ,则 $1-\frac{L\eta}{2}\ge\frac{1}{2}$ ,所以得到:
观察上面的公式,我们会发现 $f(\bm w)$ 每次迭代,都会让 $f(\bm w)$ 变得更小,朝着更好的方向去前进,也就是单调性。接下来我们继续证明收敛性。
假设最优解 $f(\bm w^*)$ 为最优解,那么根据泰勒一阶展开,以及 $f(\bm w)$ 是一个凸函数:
代入上式子,
将 $i=0,…,k-1$ 代入上式,得到
将上式全部相加,得到
证明完毕。随着 $k$ 越来越大,误差 $\epsilon=\frac{1}{2\eta k}||\bm w_0 -\bm w^*||^2$ 也越来越小,从上面得到的公式我们可以知道在一个符合 L-smooth 的凸函数上,梯度下降法的收敛步数为 $O(\frac{1}{\epsilon})$ ,是次线性收敛 ;若在证明中加入强凸的属性,则梯度下降法的收敛步数为 $O(log(\frac{1}{\epsilon}))$ ,是线性收敛。