sklearn学习(一)----广义线性模型

学习环境

Windows 10 + pycharm + anaconda3

广义线性模型

  目标值y是变量x的线性组合,$\hat{y}$是预测值

  定义向量 $\omega=(\omega1,\omega_2,…,\omega_p)$作为conf,定义 $\omega0$作为intercept

普通最小二乘法

  (LinearRegression )拟合一个带有系数 w = (w_1, …, w_p) 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。

算法复杂度:

该方法使用 X 的奇异值分解来计算最小二乘解。如果 X 是一个 size 为 (n, p) 的矩阵,设 n \geq p ,则该方法的复杂度为 O(n p^2).

岭回归

  岭(Ridge)回归,又称脊回归、吉洪诺夫正则化(Tikhonov regularization),是对不适定问题(ill-posed problem)进行回归分析时最经常使用的一种正则化方法。实际上是一种最小二乘法的改良,放弃了最小二乘法的无偏性,以损失部分信息、降低精度为代价获得更为符合实际和可靠的回归系数的回归方法,对于病态数据的拟合要强于最小二乘法。岭回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和。

其中, $\alpha \geq 0$ 是控制系数收缩量的复杂性参数: $\alpha$ 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。

算法复杂度:

该方法使用 X 的奇异值分解来计算最小二乘解。如果 X 是一个 size 为 (n, p) 的矩阵,设 n \geq p ,则该方法的复杂度为 O(n p^2).

设置正则化参数:广义交叉验证

  RidgeCV 通过内置的 Alpha 参数的交叉验证来实现岭回归。 该对象与 GridSearchCV 的使用方法相同,只是它默认为 Generalized Cross-Validation(广义交叉验证 GCV),这是一种有效的留一验证方法(LOO-CV):

Lasso

  估计稀疏系数的线性模型。倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量。 因此,Lasso 及其变体是压缩感知领域的基础。 在一定条件下,它可以恢复一组非零权重的精确集.

最小化的目标函数是:

  其中,$\alpha$ 是一个常数, $||w||_1$ 是参数向量的 $\ell_1-norm$ 范数。

参考文献

  1. http://sklearn.apachecn.org/cn/0.19.0/modules/linear_model.html#ridge-regression