计划好久,还欠下的债。
问题一: 最小二乘法和梯度下降法的区别
在回答这个问题前,有必要来推导下线性回归的公式,方能说到实处。
开始公式
如一元线性回归,即只有一个自变量,那也只有两个参数 w1 和 w0 ,表达式如下:
f(x)=w0+w1∗x1
其损失函数为:
J(w)=∑i=1N(yi−w0−w1∗xi)2
改为矩阵形式
则:
J(w)=(y−x∗w)T(y−x∗w)
对损失函数求导
φ(J(w))φ(w)=2∗xT(x∗w^−y)
最小二乘法是取损失函数的导数为0,得到
w^=(xTx)−1xTy
可知, (xTx)T 可能为非满秩的矩阵或非正定矩阵,这个时候最小二乘法就失效了。
改进方法:
1、梯度下降法
更新公式为:
wi+1=wi−α∗φ(J(w))φ(w)
2、正则化
如引入L2正则化,
J(w)=∑i=1N(yi−w0−∑j=1pwjxij)2+λ∑j=1pw2j
对它关于
w
求偏导
令上式子等于0,
w^=(xTx+λ∗I)−1xTy
理论上的总结:
1、当
XTX
为满秩矩阵或正定矩阵时,可以使用最小二乘法来求解;非满秩矩阵或非正定矩阵时,一般采用正则化方法+梯度下降法 或梯度下降法。
2、最小二乘法是求解全局最小解;梯度下降法是求解局部最小解。
未完待定
1、进一步完善公式;
2、新的理解;
3、拓展范围;
4、加入代码