《机器学习实战》第八章 预测数值型数据:回归 笔记整理

线性回归

线性回归标准模型:
{ y = w ∗ x T min ⁡ f = ∑ i = 1 m ( y i − x i T w ) 2 \left\{ \begin{aligned} y & = & w*x^T \\ \min f & = & \sum_{i=1}^{m}(y_i - x_i^Tw)^2 \end{aligned} \right. yminf==wxTi=1m(yixiTw)2
对于这个模型,直接对损失函数求导即可, w ^ = ( X T X ) − 1 X T y \hat w = (X^TX)^{-1}X^Ty w^=(XTX)1XTy
被称作OLS,意思是普通最小二乘法。对于任何数据集,我们都可以使用此模型,但是我们需要评价模型的效果。那就是计算预测和真实的相关系数。

corrcoef()

但最大的问题是线性模型把很多潜在的模式给隐藏了,需要通过一些手段来解决。

局部加权线性回归

局部加权线性回归这个名词,我看到之后是不能理解的,但是看到算法的应用结果时才明白局部加权线性回归其实可以看作一种分段线性回归的组合吧。线性回归的问题是欠拟合,所以可以通过引入一些bias,降低预测的均方误差。LWLR–局部加权线性回归就是其中一种方法。我们给待测点附近的每个点赋予一定权重,再仿照线性回归进行普通的计算。
w ^ = ( X T W X ) − 1 X T W y \hat w = (X^TWX)^{-1}X^TWy w^=(XTWX)1XTWy
这个权重类似于kernel method中的kernel,我们可以选择高斯核来作为权重:
w ( i , i ) = e x p ( ∣ x ( i ) − x ∣ − 2 k 2 ) w(i,i) = exp(\frac{|x^{(i)}-x|}{-2k^2}) w(i,i)=exp(2k2x(i)x)
这里的k表明附近的点对预测点有多大影响,控制高斯核的衰减速度。
所以对于每一个点它的 w ^ \hat w w^都不一样,对于每个预测点,先算出预测值,再画在图中,而不是算出 w ^ \hat w w^统一画。这也是为什么叫LWLR。如果k太小可能出现过拟合。LWLR最大的问题是计算复杂度很高,因为每个点都通过所有的数据度量,这是一个需要解决的问题。

岭回归

当数据的特征比样本点还多时, X T X X^TX XTX并不是一个满秩矩阵,其逆不一定存在。因此需要通过缩减系数来理解数据。岭回归是在矩阵上加入一个 λ I \lambda I λI使得矩阵非奇异。
β ^ ( λ ) = ( X ′ X + λ I ) − 1 X ′ y   ( 1 ) \hat \beta(\lambda) = (X'X+\lambda I)^{-1}X'y \space (1) β^(λ)=(XX+λI)1Xy (1)
相应的损失函数变为:
β ^ r i d g e = a r g m i n β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p β j 2 } \hat \beta^{ridge} = argmin_{\beta}\{\sum_{i=1}^{N}(y_i-\beta_0-\sum_{j=1}^{p}x_{ij}\beta_j)^2+\lambda\sum_{j=1}^{p}\beta^2_j\} β^ridge=argminβ{i=1N(yiβ0j=1pxijβj)2+λj=1pβj2}
可以对损失函数求导得 β ^ \hat \beta β^表达式
此损失函数可以等价成另一个优化问题:
在这里插入图片描述
因此可以用图直观描述岭回归的解:(图摘自此网站
在这里插入图片描述
在这里插入图片描述
这是一个有偏估计,虽然会使loss function变大,但是会使检验效果变好。对应岭回归,一个很重要的东西叫:岭迹图在这里插入图片描述
一般选择 λ \lambda λ都是根据岭迹图选的,但是问题时只能目测,准确度并不高。只能说明存在多重非线性,但是要选择删去什么变量还得看具体测试效果。

Lasso算法

The Least Absolute Shrinkage and Selection operator,和岭回归不同之处在于约束条件
β ^ r i d g e = a r g m i n β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p ∣ β j ∣ } \hat \beta^{ridge} = argmin_{\beta}\{\sum_{i=1}^{N}(y_i-\beta_0-\sum_{j=1}^{p}x_{ij}\beta_j)^2+\lambda\sum_{j=1}^{p}|\beta_j|\} β^ridge=argminβ{i=1N(yiβ0j=1pxijβj)2+λj=1pβj}
在这里插入图片描述
正方形的顶点都在坐标轴上,所以很容易找到哪些特征可以置为0,而岭回归就不一定了,但是我觉得这也导致了误差更大,因为约束条件太强了。

Forward Stepwise regression

最后一点讲一下前向逐步回归,它这个算法思想比较简单,充分利用贪心算法的思想,循环多次,每次循环中遍历每个特征并不断调整系数,每次计算误差,如果更小就用新的系数替换原来的,循环多次找到最优系数,这时候会发现某些系数为0,也就达到了缩减的效果。
回归系数随迭代次数的曲线
回归系数随迭代次数的曲线

总结

这几种回归算法都比较常见,但是光看那本机器学习实战还是一知半解,还是要多找找数学原理方面的文章看看,不然只懂一些皮毛而已。
最后一张图解释一下偏差和方差的区别:
在这里插入图片描述
参考:Understanding the Bias-Variance Tradeoff

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值