线性回归,试图学得f(x(i))=wx(i) b,使得f(x(i))~y(i),那么如何确定参数w,b呢?根据上篇我们所介绍的,均方误差是回归任务中最常用的性能度量,于是我们需要最小化均方误差以此确定参数w,b。
均方误差,将b吸收进矩阵矩阵法表示J(w)=1/2(XW-Y).T(XW-Y),这里改变前面系数为1/2是为了便于计算,系数大小并不会影响我们最小化的思路,所以可以任意设定系数(除0以外)。于是我们对w求导J(w)'=X.T(XW-Y),那么可得w<----w-aX.T(XW-Y),a为步长,需要调试。
线性回归算法较简单,由于易出现过拟合现象,所以我们需要将损失函数加上正则化,L1正则化(L1范数),设定为绝对值之和,所以使得J(w)不是连续可导,那么我们应该如何来计算极小值呢?其中L1正则的线性回归又叫做LASSO回归。
坐标轴下降法,是求解此类问题的一种方法。它是一种非梯度优化方法,它在每步迭代中沿着一个坐标方向进行搜索,通过循环使用不同的坐标方向来达到目标函数的局部极小值。简单解释,梯度下降类似于两点之间直线最短,我们不能一下子找终点,最能一步步树立小终点,以此来近似最短距离。而坐标轴下降法则是因为在一座方格街道里,不能走对角线,所以我们只能,横纵交替来走,或许有人会问我们为什么不先走完x轴,然后走纵轴?首先我们无法确定最终点在x轴上的投影,一旦走过了,那肯定使得距离变大了。其次在坐标轴下降法中我们同样需要设置步长,不同步长可能会得到不同结果,我们需要从中选择最优路线。