机器学习线性回归之解析求解

解析求解

最小二乘法(OLS)的目标函数 J ( w ) = ∑ i = 1 N ( y i − f ( x i ) ) 2 J(w)=\sum_{i=1}^{N}(y_{i} - f(x_{i}))^2 J(w)=i=1N(yif(xi))2
岭回归的目标函数 J ( w ; w ) = ∑ i = 1 N ( y i − f ( x i ) ) 2 + λ ∑ j = 1 D w j 2 J(w;w)=\sum_{i=1}^{N}(y_{i} - f(x_{i}))^2 + \lambda\sum_{j=1}^{D}w_{j}^2 J(w;w)=i=1N(yif(xi))2+λj=1Dwj2
Lasso回归的目标函数 J ( w ; w ) = ∑ i = 1 N ( y i − f ( x i ) ) 2 + λ ∑ j = 1 D ∣ w j ∣ J(w;w)=\sum_{i=1}^{N}(y_{i} - f(x_{i}))^2 + \lambda\sum_{j=1}^{D}|w_{j}| J(w;w)=i=1N(yif(xi))2+λj=1Dwj
从这里可以看到,最小二乘法、岭回归、Lasso与模型的具体形式无关,具体定义是由损失函数和正则项的类型确定的。要注意,数学中的L2模定义在平方和的基础上,是要开根号的,但此处的L2损失和L2正则是不需要开根号的,对此需要再查资料以确认。上一篇线性回归也包含一些OLS、Rige、Lasso的知识。

解析求解原理。目标函数最小的点,其一阶导数必然为0,所以最优解的必要条件是一阶导数为0,即 ∂ J ( w ) ∂ w = 0 \frac{\partial J(w)}{\partial w} = 0 wJ(w)=0,根据该等式可以求出参数w。
一些矩阵运算求导性质后续应再写一篇矩阵运算、求导得性质,简单的记录就好,主要用于备查,不必包含证明过程。
ABC=A(BC),乘法结合律
A T B = B T A A^{T}B=B^{T}A ATB=BTA
( A − B ) ( C − D ) = A B + A C − B C + B D (A-B)(C-D) = AB + AC - BC + BD (AB)(CD)=AB+ACBC+BD
( A + B ) T = A T + B T (A+B)^T = A^T + B^T (A+B)T=AT+BT
( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT

∂ ( y T b ) ∂ y = b \frac{\partial(y^Tb)}{\partial y} = b y(yTb)=b 不是很理解

∂ ( y T A y ) ∂ y = ( A T + A ) y \frac{\partial(y^TAy)}{\partial y} = (A^T +A)y y(yTAy)=(AT+)不是很理解
OLS解析求解之正规方程组(Normal Equations)。OLS的目标函数 J ( w ) = ∣ ∣ Y − X W ∣ ∣ 2 2 = ( Y − X W ) T ( Y − X W ) J(w) = ||Y-XW||_{2}^2 = (Y-XW)^T(Y-XW) J(w)=∣∣YXW22=(YXW)T(YXW) = ( Y T − W T X T ) ( Y − X W ) =(Y^T-W^TX^T)(Y-XW) =(YTWTXT)(YXW) = Y T Y − W T X T Y − Y T X W + W T X T X W =Y^TY - W^TX^TY-Y^TXW + W^TX^TXW =YTYWTXTYYTXW+WTXTXW其中 Y T Y Y^TY YTY与参数W无关,所以可以直接略取,原式变为: = − W T X T Y − Y T X W + W T X T X W =-W^TX^TY-Y^TXW + W^TX^TXW =WTXTYYTXW+WTXTXW = − W T X T Y − W T X T Y + W T X T X W =-W^TX^TY-W^TX^TY + W^TX^TXW =WTXTYWTXTY+WTXTXW = − 2 W T Y T X + W T X T X W =-2W^TY^TX + W^TX^TXW =2WTYTX+WTXTXW = − 2 X T Y W + W T X T X W =-2X^TYW + W^TX^TXW =2XTYW+WTXTXW根据以上结果对W求导 ∂ J ( W ) ∂ W = − 2 X T Y + 2 X T X W \frac{\partial J(W)}{\partial W} = -2X^TY + 2X^TXW WJ(W)=2XTY+2XTXW上一步的第二项是怎么来的,不是很明白
令求导结果为0,可得 X T X W = X T Y X^TXW = X^TY XTXW=XTY上式也被称为是正规方程组(Normal Equations),根据上面的等式,解析求解得结果为 W ^ O L S = ( X T X ) − 1 X T Y \hat W_{OLS} = (X^TX)^{-1}X^TY W^OLS=(XTX)1XTY  卿老师说求,这种解析求解需要求逆,但实际中需要避免求逆,这个是为什么呢?是不是因为求逆的前提必须是方阵,而实际中并不一定是方阵?即使是方阵,是否是因为某些情况下,逆矩阵是不存在的?
  按照导数为0得到得到的解析解,应也包含了极大值点,但老师却没有提到,这是不是说OLS一定是凸函数,不存在极大值点呢?凸函数的术语使用是否正确?

OLS解析求解之Moore-Penrose广义逆。OLS的目标函数为 J ( W ) = ∣ ∣ y − X w ∣ ∣ 2 2 J(W) = ||y - Xw||_{2}^2 J(W)=∣∣yXw22,为了使目标函数最小,可以令 y = X w y = Xw y=Xw,如果X为方阵,则 w = X − 1 y w = X^{-1}y w=X1y,如果X不是方阵,则可以求X的Moore-Penrose广义逆(视频里讲的是伪逆),广义逆可采用奇异值分解(Singular Value Decomposition, SVD)实现,奇异值分解公式为: X = U ∑ V T X = U\sum V^T X=UVT其中U和V是正交矩阵 ∑ = ∣ λ 1 0 . . . 0 0 λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . 0 ∣ \sum = \begin{vmatrix}\lambda_{1}&0&...&0\\0&\lambda_{2}&...&0\\...&...&...&...\\0&0&...&0\end{vmatrix} = λ10...00λ2...0............00...0 ∑ 伪逆 = ∣ 1 / λ 1 0 . . . 0 0 1 / λ 2 . . . 0 . . . . . . . . . . . . 0 0 . . . 0 ∣ \sum伪逆= \begin{vmatrix}1/\lambda_{1}&0&...&0\\0&1/\lambda_{2}&...&0\\...&...&...&...\\0&0&...&0\end{vmatrix} 伪逆= 1/λ10...001/λ2...0............00...0 X 伪逆 = V ( ∑ 伪逆 ) U X伪逆 = V(\sum伪逆)U X伪逆=V(伪逆)U关于SVD分解,应再加深,考虑写一片笔记文章
岭回归解析求解在这里插入图片描述
如何选择使用OLS和Ridge
  OLS的解为: W ^ O L S = ( X T X ) − 1 X T y \hat W_{OLS} = (X^TX)^{-1}X^Ty W^OLS=(XTX)1XTy,需要对 X T X X^TX XTX求逆。当输入特征存在共线性(某些特征可以用其他特征的线性组合表示)时,矩阵X接近不满秩,矩阵 X T X X^TX XTX接近奇异,求逆不稳定。
  岭回归的解为: W ^ R i d g e = ( X T X + λ I ) − 1 X T y \hat W_{Ridge} = (X^TX + \lambda I)^{-1}X^Ty W^Ridge=(XTX+λI)1XTy,须对 ( X T X + λ I ) (X^TX + \lambda I) (XTX+λI)求逆。即使输入特征存在共线性,矩阵X接近不满秩,矩阵 X T X X^TX XTX对角线存在等于或接近于0的元素,但 0 + λ ≠ 0 0 + \lambda \neq 0 0+λ=0 ( X T X + λ I ) (X^TX + \lambda I) (XTX+λI)求逆仍可得到稳定解。因此岭回归在输入特征存在共线性的情况时,仍能得到稳定解,L1正则也有相似的效果。
  以上两段时PPT上的原文,老师对第二段进行讲解时,说道的时 0 + λ 0 + \lambda 0+λ接近于0的情况得到了减轻,所以仍可得到稳定解。
  对下面的逻辑链条不时很理解,需要查些线性代数的资料:输入特征存在共线性 => 矩阵 X T X X^TX XTX接近奇异 => X T X X^TX XTX求逆不稳定。这个逻辑链条来源于OLS那一段,但岭回归那一段也存在相似的逻辑。
  本小节是关于解析求解的,那么以上关于如何选择使用OLS和Ridge的逻辑,是否适用于使用梯度下降或坐标轴下降的情况呢?Scikit Learn中是否存在对解析求解、梯度下降、坐标轴下降不同的实现呢?

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值