机器学习 | 线性回归

计划好久,还欠下的债。

问题一: 最小二乘法和梯度下降法的区别

在回答这个问题前,有必要来推导下线性回归的公式,方能说到实处。

开始公式

如一元线性回归,即只有一个自变量,那也只有两个参数 w1 w0 ,表达式如下:

f(x)=w0+w1x1

其损失函数为:

J(w)=i=1N(yiw0w1xi)2

改为矩阵形式
这里写图片描述
则:

J(w)=(yxw)T(yxw)

对损失函数求导

φ(J(w))φ(w)=2xT(xw^y)

最小二乘法是取损失函数的导数为0,得到

w^=(xTx)1xTy

可知, (xTx)T 可能为非满秩的矩阵或非正定矩阵,这个时候最小二乘法就失效了。

改进方法:
1、梯度下降法
更新公式为:

wi+1=wiαφ(J(w))φ(w)

2、正则化
如引入L2正则化,

J(w)=i=1N(yiw0j=1pwjxij)2+λj=1pw2j

对它关于 w 求偏导

φ(J(w))φ(w^)=2xT(xw^y)+2λw^

令上式子等于0,

w^=(xTx+λI)1xTy

理论上的总结:
1、当 XTX 为满秩矩阵或正定矩阵时,可以使用最小二乘法来求解;非满秩矩阵或非正定矩阵时,一般采用正则化方法+梯度下降法 或梯度下降法。
2、最小二乘法是求解全局最小解;梯度下降法是求解局部最小解。

未完待定
1、进一步完善公式;
2、新的理解;
3、拓展范围;
4、加入代码

猜你喜欢

转载自blog.csdn.net/xxzhangx/article/details/78171447