0.目的和作用

求极值和拟合的值$w$

不同于梯度下降,它利用给定的数据结合均方差直接算出一个最拟合的值

1.代数法

假设现在有一组数据$(x^{(1)},y^{(1)})(x^{(2)},y^{(2)})(x^{(3)},y^{(3)})$,

为了找一个函数模拟这个数据,我们设:

$$ h_\theta(x)=\theta_0+\theta_1x $$

那么我们目标就是找到$\theta_0$和$\theta_1$的值。

为了拟合数据和模型的关系,我们使用均方差MSN作为loss,并最小化它:

$$ J(\theta_0,\theta_1)=\sum^m_{i=1}(y^{(i)}-h_{\theta}(x^{(i)}))^2=\sum^m_{i=1}(y^{(i)}-\theta_0-\theta_1x^{(i)})^2 $$

方法就是对$J(\theta_0,\theta_1)$中的$\theta_0$和$\theta_1$分别求导并置0:

$$ \frac{\partial J(\theta_0,\theta_1)}{\partial\theta_0}=\sum^m_{i=1}(y^{(i)}-\theta_0-\theta_1x^{(i)})=0 \\ \frac{\partial J(\theta_0,\theta_1)}{\partial\theta_1}=\sum^m_{i=1}(y^{(i)}-\theta_0-\theta_1x^{(i)})x^{(i)}=0 $$

联立上面两个二元一次方程组就可以解出$\theta_0$和$\theta_1$,确定模型了

2.矩阵法

若$x^{(i)}$中不止一维,而是$x^{(i)}=(x^{(i)}_1,x^{(i)}_2,...,x^{(i)}_n)$

为了方便$h_\theta(x)$的表示,我们设$x_0=1$,加入每个$x^{(i)}$中,变成

$X^{(i)}=(x^{(i)}_0,x^{(i)}_1,x^{(i)}_2,...,x^{(i)}_n)$

那么就有:
$h_\theta(x_1,...,x_n)=\theta_0+\theta_1x_1+...+\theta_nx_n$

化作矩阵的表达式则为:

$$ h_\theta(X)=X\theta $$

X为$m*(n+1)$维
$\theta$为$(n+1)*1$维
$h_\theta(X)$为$m*1$维

此时,损失函数定义为:

$$ J(\theta)=\frac{1}{2}(X\theta-Y)^T(X\theta-Y) $$

使用最小二乘法的原理,对$\theta$进行开导:

$$ \frac{\partial J(\theta)}{\partial\theta}=X^T(X\theta-Y)=0 $$

整理后变成:

$$ \theta=(X^TX)^{-1}X^TY $$

这样就可以直接算出$\theta$确定模型了

最小二乘法的缺点:

1.不能拟合非线性函数

2.$X^TX$的逆矩阵不一定存在

3.$X^TX$在n很大时计算量巨大

3.有限制时,结合拉格朗日乘子法

也称为升维法。

例如,为了加上正则化惩罚项,我们给与$\theta^T\theta\le1$的约束

那么根据拉格朗日乘子法,以$\lambda$为拉格朗日乘子,有:

$$ L(\theta,\lambda)=J(\theta)+\lambda(\theta^T\theta-1)\\ =\frac{1}{2}(X\theta-Y)^T(X\theta-Y)+\lambda(\theta^T\theta-1)\\ s.t \ \ \lambda\ge0 $$

X矩阵和Y矩阵分别对应训练集标签

此时可以将最小化$min_\theta J(\theta) \\ s.t=\theta^T\theta\le1$,的问题转换成无约束优化问题:

$$ min_\theta \ max_{\lambda,\lambda\ge0} \ L(\theta,\lambda) $$

然后利用最小二乘的思想分别对$\theta$和$\lambda$进行开导并置0:

$$ \frac{\partial L(\theta,\lambda)}{\partial\theta}=X^T(X\theta-Y)+2\lambda \theta=0 \\ \frac{\partial L(\theta,\lambda)}{\partial\lambda}=\theta^T\theta -1=0 $$

设$\theta$的维度为n的话,$\frac{\partial L(\theta,\lambda)}{\partial\theta}$最后会输出一个$n*1$维的矩阵,右边为0;与$\frac{\partial L(\theta,\lambda)}{\partial\lambda}=\theta^T\theta -1=0$的等式组合的话,相当于共有n+1个未知数和n+1个等式,因此可以算出各维度的$\theta_{(i)}$

reference:

最小二乘法小结

线性最小二乘法

如果对你有帮助就太好了)))