scikit-learn--Generalized Linear Models(广义线性模型)

最小二乘法

LinearRegression使用系数w 拟合模型,最小化实际观测值和预测值的残差平方和。

然而,最小二乘法的系数估计依赖于模型中变量的独立性,当模型中的解释变量存在相关关系,会导致多重共线性,例如,数据收集没有经过实验设计。

岭回归

岭回归通过对系数大小增加惩罚解决了最小二乘法的一些问题。岭回归使用L2正则


alpha大于等于0是一个复杂系数,控制着收缩量,alpha值越大,收缩量越大,系数越稳健。
RidgeCV通过alpha系数的交叉验证来建立岭回归。

Lasso

Lasso是一个估计稀疏系数的线性模型,它倾向于选择较少的参数值的解决方案,有效地减少结果所依赖的变量数。Lasso使用L1正则


参数alpha控制着估计系数的稀疏程度。设置alpha参数有两种主要方法:交叉验证、基于模型选择的信息准则;

  • 交叉验证:LassoCV和LassoLarsCV。LassoLarsCV建立在Least Angle Regression算法基础上。对于有多重共线性的高维数据集,LassoCV通常是较好的。然而,LassoLarsCV在探索alpha参数方面更有优势,如果样本数小于观测值数,它通常比LassoCV更快。
  • 基于模型选择的信息准则。LassoLarsIC提出使用Akaike信息准则(AIC)和Bayes信息准则(BIC)。这些信息准则需要对结果自由度有适当的估计、来自大样本、假设模型是正确的等等。

弹性网络(Elastic-net)

弹性网络是一种使用L1和L2正则化方法的线性回归模型。它能够学习只有很少非零权重的稀疏模型(比如Lasso),也保留了Ridge的正则化功能。我们使用 l1_ratio 参数去控制L1和L2。
当有很多特征高度相关时弹性网络很有用,Lasso可能是随机的选择了一个,而弹性网络可能选择了两个。


ElasticNetCV能使用交叉验证来确定参数alpha和 l1_ratio。

最小角回归(Least Angle Regression)

LARS是一种用于高维数据的回归算法。
LARS的优点:

  • 当维度比样本数多的时候,能高效计算;
  • 计算和向前选择方法一样快,复杂度和最小二乘法一样;
  • 生成完整的线性解路径,在交叉验证或模型调整时很有用;
  • 如果两个变量对因变量有几乎相等的关系,那么他们的系数也应该按大致相同的速率增加。LARS的表现和直觉期望的一样,也更稳定;
  • 很容易修改,产生其他的解决方案,例如Lasso。
    LARS的不足:
    由于LARS是基于残差的迭代修正,对噪音非常敏感。

LARS Lasso

LARS Lasso是Lasso模型的LARS算法实现,不同于坐标下降法,它将返回准确值。
The algorithm is similar to forward stepwise regression, but instead of including variables at each step, the estimated parameters are increased in a direction equiangular to each one’s correlations with the residual.

推荐博文

作者对各种回归算法从损失函数、优化方法、验证方法、使用场景等方面进行了总结。
http://www.cnblogs.com/pinard/p/6026343.html

你可能感兴趣的:(scikit-learn--Generalized Linear Models(广义线性模型))