机器学习sklearn(学习笔记7)——Logistic regression(逻辑回归)

本文介绍了逻辑回归在机器学习中的作用,它是一个分类模型而非回归模型。scikit-learn提供了逻辑回归的实现,支持L2、L1和Elastic-Net正则化。文章详细讲解了不同正则化的优化问题,并提到了求解器如liblinear、newton-cg、lbfgs、sag和saga的特性和适用场景。对于大型数据集,saga求解器通常更优。
摘要由CSDN通过智能技术生成

机器学习sklearn(学习笔记7)——Logistic regression(逻辑回归)

逻辑回归,尽管它的名字,是一个线性模型分类,而不是回归。Logistic回归在文献中也称为logit回归、最大熵分类(MaxEnt)或对数线性分类器。在该模型中,描述单个试验可能结果的概率使用逻辑函数建模。
在scikit-learn中,逻辑回归的实现可以通过类逻辑回归来实现。此实现可以使用可选的L2、L1或Elastic-Net正则化来匹配二进制、One-vs- Rest或多项逻辑回归。注意,默认情况下应用正则化。

作为一个优化问题,二元L2类惩罚logistic回归使成本函数最小化:
在这里插入图片描述
同样,L1正则化logistic回归解决了如下优化问题:
在这里插入图片描述
Elastic-Net的正则化是L1和L2的结合,使成本函数最小化:
在这里插入图片描述
ρ控制强度的L1正规化和L2正规化(对应于l1_ratio参数)。

注意,在这个符号,它是假定观测yi需要设置中的值为−1,1在i处。我们也可以看到,Elastic-Net相当于L1当ρ= 1,相当于L2当ρ= 0。
在类逻辑回归中可以使用不同的求解器“liblinear”、“newton-cg”、“lbfgs”、“sag”和“saga”:
求解器“liblinear”使用坐标下降(CD)算法,并依赖于优秀的c++ liblinear库,该库随scikit-learn一起提供。然而,在liblinear中实现的CD算法不能学习真正的多项式(多类)模型;相反,优化问题以“one-vs-rest”方式分解,因此为所有类训练独立的二进制分类器。这是在底层发生的,所以使用这个求解器的逻辑回归实例表现为多类分类器。对于L1惩罚sklearn.svm。l1_min_c允许计算C的下界,以得到一个非“null”(所有特性权重都为零)模型。
“lbfgs”、“sag”和“newton-cg”求解器只支持L2惩罚或不正则化,对于某些高维数据收敛速度更快。使用这些求解器将multi_class设置为“多项”,可以学习一个真正的多项逻辑回归模型,这意味着它的概率估计应该比默认的“一对多”设置校准得更好。
“saga”求解器使用随机平均梯度下降。当样本数量和特性数量都很大时,它比其他大型数据集的求解器更快。

“saga”求解器是“sag”的一个变体,它也支持非光滑(penalty=“l1”)。因此,这是稀疏多项式逻辑回归选择的求解器。它也是唯一支持penalty="elasticnet"的解算器。
“lbfgs”是一种近似于布洛登-弗莱彻-戈德法布-尚诺算法的优化算法,属于准牛顿法。“lbfgs”求解器推荐用于较小的数据集,但对于较大的数据集,它的性能会受到影响。
下表总结了每个求解者所支持的惩罚:在这里插入图片描述
默认情况下,“lbfgs”求解器用于鲁棒性。对于大型数据集,“saga”求解器通常更快。对于大型数据集,您还可以考虑使用带有“log”丢失的SGDClassifier,这可能更快,但需要更多的调优。

参考资料:【https://scikit-learn.org/dev/modules/linear_model.html#logistic-regression】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值