机器学习:逻辑回归原理、参数介绍和优缺点

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、逻辑回归作为一种广泛使用的分类算法,具有以下优缺点:

优点:

  1. 易于理解和解释:逻辑回归模型的参数(系数)可以直观地解释为特征对分类结果的影响。

  2. 数学基础坚实:基于最大似然估计,有着坚实的统计学基础。

  3. 计算效率高:对于二分类问题,逻辑回归的计算过程相对简单,训练和预测的速度都很快。

  4. 实现简单:大多数统计和机器学习库都提供了逻辑回归的实现,易于使用。

  5. 适用于线性可分数据:当数据可以通过线性边界很好地分隔时,逻辑回归表现良好。

  6. 正则化支持:可以通过L1或L2正则化来控制模型复杂度,减少过拟合的风险。

  7. 概率解释:模型的输出可以解释为事件发生的概率,这在很多应用场景中非常有用。

  8. 处理多类问题:虽然基本形式是二分类,但逻辑回归可以通过一些策略(如one-vs-rest或multinomial)扩展到多类问题。

缺点:

  1. 对非线性问题效果有限:当数据特征之间存在复杂的非线性关系时,逻辑回归可能无法很好地拟合数据。

  2. 假设特征和对数几率是线性关系:逻辑回归模型假设特征和对数几率(log-odds)之间是线性关系,这在某些情况下可能不成立。

  3. 敏感性问题:逻辑回归对异常值敏感,异常值可能会对模型的系数估计产生较大影响。

  4. 需要特征缩放:逻辑回归模型对特征的尺度敏感,通常需要对特征进行标准化或归一化。

  5. 多重共线性问题:如果特征之间存在高度相关性,可能会影响模型的稳定性和系数的解释性。

  6. 预测概率的准确性受限:逻辑回归预测的是条件概率,其准确性受限于训练数据的分布。

  7. 对不平衡数据集的挑战:在类别不平衡的数据集中,逻辑回归可能会偏向于多数类,需要通过调整类别权重或使用其他技术来解决。

  8. 模型选择问题:选择合适的正则化参数(如C值)和solver可能需要大量的实验和调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值