sklearn-1.1.11逻辑回归

1.1.11.逻辑回归

尽管叫做逻辑回归,但是它是一个分类而不是一个线性回归。逻辑回归在文献中也被称为logit回归,最大熵模型(MaxEnt)或者是对数线性分类器。在这个模型中,描述单个实验的可能结果的概率使用逻辑函数来进行建模。

可以在scikit-learn中的LogisticRegression类中实现逻辑回归。这个可以用在二分类问题上,一对一,或者多元逻辑回归,可以使用L2或者L1正则化。

作为一个优化问题,L2惩罚的逻辑回归需要最小化的损失函数为:


同样的,L1正规化的逻辑回归优化方差为:



在逻辑回归中实现的分类器有“liblinear”,“newton-cg”,“lbfgs”,“sag”和“saga”:

liblinear使用的是位置下降算法,依赖于优秀的LIBLINEAR(c++库),然后liblinear实现的算法无法解决真正的多元回归。相反,要想以优化一个一对一的方式,那么可以对所有的数据集进行单独的二分类。在这种情况下,使用逻辑回归可以进行多元分类。对于L1惩罚,sklearn.svm.l1_min_c允许计算C的下限,从而获得非空(所有的特征权重为零)模型

“lbfgs”,“sag”和“newton-cg”求解器仅支持L2惩罚,并且发现对于某些高维数据更快收敛。使用多元模型可以设置为multionmial,这样可以得到真正的多项逻辑回归,这意味这它的概率估计应该比默认的一对一设置的效果更好一点。

‘sag’使用随机平均梯度下降,当数据集和特征都很大的时候,它计算的更快。

‘saga’是‘sag’的升级,也支持l1惩罚,所有,这是稀疏多元逻辑回归的解决方式。

简言之,可以按照下面的方式选择:

CaseSolver
L1 penalty“liblinear” or “saga”
Multinomial loss“lbfgs”, “sag”, “saga” or “newton-cg”
Very Large dataset (n_samples)“sag” or “saga”

‘saga’通常情况下是最好的选择,由于历史的原因,默认使用 的是‘liblinear’

对于达到数据集,可以考虑使用SGDClassifier和‘log’损失。

例子

和liblinear的不同:

逻辑回归于liblinear和linearSVC以及外部线性库直接得到的分数可能存在差异,当fit_intercept=False且拟合coef_的预测数据为零时。这时因为对于具有decision_function零的样本,线性回归和LinerSCV预测负类,而线性预测正面的类。 请注意,fit_intercept = False并且具有多个decision_function为零的样本的模型很可能会是一个不合适的模型,建议你设置fit_intercept = True并增加intercept_scaling。

注意:使用稀疏逻辑回归特征选择

具有L1惩罚的逻辑回归产生稀疏模型,因此可用于执行特征选择,详见基于L1的特征选择

LogisticRegressionCV实现了交叉验证找到最佳参数C,在高维情况下使用“newton-cg”, “sag”, “saga” 和“lbfgs”效果更好。在多元情况下,如果回归选择的是‘ovr’,那么每一个类都是改最优化C,如果是multionmial则是通过最小交叉熵获得最优C。

参考

[5]Christopher M. Bishop: Pattern Recognition and Machine Learning, Chapter 4.3.4
[6]Mark Schmidt, Nicolas Le Roux, and Francis Bach: Minimizing Finite Sums with the Stochastic Average Gradient.
[7]Aaron Defazio, Francis Bach, Simon Lacoste-Julien: SAGA: A Fast Incremental Gradient Method With Support for Non-Strongly Convex Composite Objectives.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值