从机器学习到无人驾驶
上QQ阅读APP看书,第一时间看更新

3.4 线性回归的梯度下降模型

利用最小二乘法求解多元线性回归参数集合的方法虽然在数学表达上十分简洁,但是完美中往往存在瑕疵,而定理大多存在边界,就像牛顿力学,在宏观低速场景中威力无穷,遇山开路,遇水搭桥,但是到了光速的世界,原子甚至更小的维度就完全失效了。最小二乘法求解多元方程存在两个主要的应用障碍:第一个障碍来源于数学表达式本身,由于表达式中存在求矩阵的逆运算操作,结合线性代数中逆的定义,我们要求是满秩矩阵或正定矩阵;第二个障碍来自于数据集大小的挑战,进入大数据时代,特征数据集的数量与日俱增,超巨型的数据集合产生的数据矩阵在进行3.3节的计算机运算时很容易达到瓶颈,运算速度超出我们接受的范围。

在说明梯度最小的最初,首先要改变我们的最终目标,不再追求完美解(E的全局最优解,局部极小),而是希望得到一个不错的近似解(E的局部最优解,全局最小)。比如,我们考试的目的是要得到100分,而考99分这个分数已经足够上一所满意的大学,也许不完美,可是接受不完美并不断向前探索正是人类的美好属性。从直观的向量空间可以这样解释,这是一个沿着当前降低的趋势向着空间局部最低不断逼近的过程,如图3.2所示。

图3.2 梯度下降示意图

局部极小值E对应的参数解集合是参数向量空间中的一个点,这个点相邻的点的预测值和标签值的偏差平方和均不小于该点的偏差平方和;全局最小值E对应的参数解集合则是我们放眼整个参数向量空间,空间中每一个点的预测值和标签值的偏差平方和均不小于该点的偏差平方和。参数向量空间中会有多个局部极小值,而只有一个全局最小值。求解最小值的方法就是在这个空间里面打个“滑梯”,向着梯度下降的方向滑动,最终能够到达某个空间的洼地,如图3.3所示。

图3.3 梯度下降结果逼近过程

用数学语言较为准确地描述,从函数的某个初始解出发,通过迭代循环的方法进行搜索求解。如果每次都向着函数值下降(梯度为负指示)的方向移动,当误差函数在当前梯度为零时,就停止循环,这时参数矩阵的值就是近似最优解(如果函数只有一个局部最小值,这个近似解就等于最优解)。

首先对损失函数J(θ)求偏导,得到:

然后θi进行参数更新,更新过程可以理解成θi沿着梯度下降最快的方向进行递减的过程。等式左边的θi表示更新之前的值,等式右边表示沿着梯度方向减少的量,α表示步长,也称作学习速度,这个值需要人工手动设置。