机器学习算法:岭回归 (Ridge regression) 与 Lasso回归 (Lasso regression)

岭回归与Lasso回归算法

  • 1. 岭回归
  • 2. Lasso回归

当处理较为复杂的数据回归问题时,普通的线性回归算法,在预测精度和模型解释能力上都存在着不足。以最小二乘回归为例:从预测精度上来说,① 当样本数量N远大于特征数量P时,最小二乘回归方差较小,效果较好;②当N约等于P时,最小二乘回归容易产生过拟合;③当N远小于P时,最小二乘回归无意义。从模型的解释性上来说,当模型特征之间存着一定的相互关系的时候,模型复杂度上升,导致模型的解释能力没有得到提升。

1. 岭回归

因此为了解决上面的问题,引入了加入正则化的两种回归方法,第一个就是岭回归 (Ridge regression)。

岭回归的公式较为简单,就是在平方误差的基础上加入L2正则选项:


在这里插入图片描述

首先对上式改写上式为矩阵形式:


在这里插入图片描述
进一步:

在这里插入图片描述

利用矩阵求导的基本法则,最后得出岭回归的导数形式为:


在这里插入图片描述

因此,w的解为:


在这里插入图片描述

Python中可藉由sklearn库函数Ridge、RidgeCV实现:

model = Ridge(alpha=0.5)
model = RidgeCV(alphas=[0.1, 1.0, 10.0])  # 此函数可设置多个lambda的值,交叉验证取最优
model.fit(X, y)   # 线性回归建模
print('系数矩阵:\n',model.coef_)           # 返回权重
print('线性回归模型:\n',model)

2. Lasso回归

与岭回归不同的是,其正则化项改为了L1正则化,由于其在 w = 0 w=0 w=0处不可导,为了求解此问题,一些近似的优化算法常被使用,但真正在当前这个end-to-end的环境中,用处不大。

你可能感兴趣的:(机器学习算法:岭回归 (Ridge regression) 与 Lasso回归 (Lasso regression))