scikit-learn 线性回归算法库小结 (5)

    MultiTaskElasticNetCV是多个回归模型需要一起共享样本特征一起拟合时候的两个备选之一,首选是MultiTaskLassoCV。如果我们发现用MultiTaskLassoCV时回归系数衰减的太快,那么可以考虑用MultiTaskElasticNetCV。   

17. BayesianRidge

    第17和18节讲的都是贝叶斯回归模型。贝叶斯回归模型假设先验概率,似然函数和后验概率都是正态分布。先验概率是假设模型输出Y是符合均值为\(X\theta\)的正态分布,正则化参数\(\alpha\)被看作是一个需要从数据中估计得到的随机变量。回归系数\(\theta\)的先验分布规律为球形正态分布,超参数为\(\lambda\)。我们需要通过最大化边际似然函数来估计超参数\(\alpha\)和\(\lambda\),以及回归系数\(\theta\)。

    此处对损失函数即负的最大化边际似然函数不多讨论,不过其形式和Ridge回归的损失函数很像,所以也取名BayesianRidge。

    使用场景:

    如果我们的数据有很多缺失或者矛盾的病态数据,可以考虑BayesianRidge类,它对病态数据鲁棒性很高,也不用交叉验证选择超参数。但是极大化似然函数的推断过程比较耗时,一般情况不推荐使用。

18. ARDRegression

    ARDRegression和BayesianRidge很像,唯一的区别在于对回归系数\(\theta\)的先验分布假设。BayesianRidge假设\(\theta\)的先验分布规律为球形正态分布,而ARDRegression丢掉了BayesianRidge中的球形高斯的假设,采用与坐标轴平行的椭圆形高斯分布。这样对应的超参数\(\lambda\)有n个维度,各不相同。而上面的BayesianRidge中球形分布的\(\theta\)对应的\(\lambda\)只有一个。

    ARDRegression也是通过最大化边际似然函数来估计超参数\(\alpha\)和\(\lambda\)向量,以及回归系数\(\theta\)。

    使用场景:

    如果我们的数据有很多缺失或者矛盾的病态数据,可以考虑BayesianRidge类,如果发现拟合不好,可以换ARDRegression试一试。因为ARDRegression对回归系数先验分布的假设没有BayesianRidge严格,某些时候会比BayesianRidge产生更好的后验结果。

以上就是scikit-learn中线性回归的一个总结,希望可以帮到朋友们。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpysd.html