1、概念
逻辑回归是一种统计方法,用于分析一个或多个自变量(解释变量)与一个二元因变量(响应变量)之间的关系。虽然称为“回归”,但逻辑回归实际上是一种分类算法,因为它的输出是类别标签,而不是连续值。
2、sigmoid函数
特点:自变量为负无穷到正无穷,值域为[0,1]
线性回归结果
带入sigmoid函数
二分类任务
整合
3、求解
1、似然函数
2、对数函数
3、转换梯度下降
4、目标函数
5、求偏导
6、参数更新
4、逻辑回归参数
1、概念
逻辑回归是一种广泛使用的线性模型,用于二分类问题。在Python的sklearn.linear_model
模块中的LogisticRegression
类提供了实现逻辑回归的接口。
2、完整参数
LogisticRegression(penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver=’liblinear’, max_iter=100, multi_class=’ovr’, verbose=0, warm_start=False, n_jobs=1)
3、参数介绍
1、penalty
正则化方式有l1和l2两种:l1正则化使用绝对值作为惩罚项,即λ∑∣βi∣,其中 𝜆λ 是正则化强度,𝛽𝑖βi 是模型参数。L1正则化倾向于产生稀疏的权重矩阵,即许多参数被压缩到零,规范假设的是模型的参数满足拉普拉斯分布。l2正则化使用平方值作为惩罚项,即 λ∑βi**2。L2正则化倾向于使参数值接近零但不完全为零,从而减少模型复杂度,L2假设的模型参数满足高斯分布。
2、dual
按默认即可。对偶方法只用在求解线性多核的L2惩罚项上。当样本数量>样本特征的时候,dual通常设置为False。
3、tol
收敛容忍度。当改变小于tol
时,算法会停止迭代。默认值:1e-4,容许停止标准,
4、C
正则化项的强度(正则化项与误差项的权衡)。对于L1正则化,这个参数是正则化项的系数;对于L2正则化,这个参数的倒数是正则化项的系数。较小的C
值意味着更大的正则化强度。
5、fit_intercept
是否将截距项加入函数。如果设置为False
,则模型不会加入截距项。默认加入。
6、intercept_scaling
截距项的缩放因子。仅在正则化项为”liblinear”,且fit_intercept设置为True时有用。float类型,默认为1。
7、class_weight
用于处理不平衡数据集,即某些类别的样本数远多于其他类别。通过调整类别权重,可以提高模型对少数类别的识别能力,从而提高模型的整体性能。关键点:自动权重计算、自定义权重字典、防止过拟合、提高模型公平性、与正则化结合使用、应用广泛。
8、random_state
随机数生成器的种子。用于确保结果的可重复性。仅在正则化优化算法为sag,liblinear时有用。
9、solver
用于优化的算法,默认为liblinear。不同的solver
支持不同的正则化类型和多类分类策略。常用的solver
包括'newton-cg'
, 'lbfgs'
, 'liblinear'
, 'sag'
, 'saga'
等。
1、newton-cg:
使用牛顿-拉夫森(Newton-Raphson)方法的共轭梯度变体来解决优化问题。适用于小型数据集,只支持L2正则化。
2、lbfgs:
使用L-BFGS算法,这是一种拟牛顿法,用于大规模数据集。支持L1和L2正则化。
3、liblinear:
一个高效的线性分类器库,用于解决具有L1正则化的问题。它使用坐标下降法,适合于稀疏数据。
4、sag:
用于大规模数据集的算法,支持L1和L2正则化。SAG是一种变体的随机梯度下降(SGD),它使用每个样本的随机子集来更新权重。
5、saga:
线性收敛的随机优化算法。
10、max_iter
最大迭代次数,int类型,默认为100。在正则化优化算法为newton-cg, sag和lbfgs才有用,算法在达到这个迭代次数之前会尝试收敛。
11、multi_class
多类分类策略。可以是'ovr'
(one-vs-rest)或'multinomial'
。'ovr'
是默认值,适用于二分类和多分类问题;'multinomial'
仅适用于多类问题,并且需要设置solver
为支持多类逻辑回归的算法。
12、verbose
日志冗长度,int类型。默认为0。就是不输出训练过程,1的时候偶尔输出结果,大于1,对于每个子模型都输出。
13、warm_start
是否在之前的训练结果基础上继续训练。如果设置为True
,则需要提供之前训练的coef_
和intercept_
。
14、n_jobs
并行任务数,int类型,默认为1。可以设置为-1来使用所有可用的CPU核心。
5、逻辑回归作为一种广泛使用的分类算法,具有以下优缺点:
优点:
-
易于理解和解释:逻辑回归模型的参数(系数)可以直观地解释为特征对分类结果的影响。
-
数学基础坚实:基于最大似然估计,有着坚实的统计学基础。
-
计算效率高:对于二分类问题,逻辑回归的计算过程相对简单,训练和预测的速度都很快。
-
实现简单:大多数统计和机器学习库都提供了逻辑回归的实现,易于使用。
-
适用于线性可分数据:当数据可以通过线性边界很好地分隔时,逻辑回归表现良好。
-
正则化支持:可以通过L1或L2正则化来控制模型复杂度,减少过拟合的风险。
-
概率解释:模型的输出可以解释为事件发生的概率,这在很多应用场景中非常有用。
-
处理多类问题:虽然基本形式是二分类,但逻辑回归可以通过一些策略(如one-vs-rest或multinomial)扩展到多类问题。
缺点:
-
对非线性问题效果有限:当数据特征之间存在复杂的非线性关系时,逻辑回归可能无法很好地拟合数据。
-
假设特征和对数几率是线性关系:逻辑回归模型假设特征和对数几率(log-odds)之间是线性关系,这在某些情况下可能不成立。
-
敏感性问题:逻辑回归对异常值敏感,异常值可能会对模型的系数估计产生较大影响。
-
需要特征缩放:逻辑回归模型对特征的尺度敏感,通常需要对特征进行标准化或归一化。
-
多重共线性问题:如果特征之间存在高度相关性,可能会影响模型的稳定性和系数的解释性。
-
预测概率的准确性受限:逻辑回归预测的是条件概率,其准确性受限于训练数据的分布。
-
对不平衡数据集的挑战:在类别不平衡的数据集中,逻辑回归可能会偏向于多数类,需要通过调整类别权重或使用其他技术来解决。
-
模型选择问题:选择合适的正则化参数(如C值)和solver可能需要大量的实验和调整。