机器学习---逻辑回归算法梳理

本文深入探讨逻辑回归算法,从其与线性回归的关系到原理、损失函数推导及优化,涵盖正则化、模型评估指标等内容。解析逻辑回归优缺点,并提供样本不均衡问题解决方案。同时,详细介绍sklearn中逻辑回归的参数配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务2 - 逻辑回归算法梳理

1、逻辑回归与线性回归的联系与区别

联系:逻辑回归属于对数线性模型,本质上是个线性模型。
区别:
逻辑回归得到一个离散的结果,但线性回归得到一个连续的结果。
线性回归的应用场合多是回归分析,一般不用在分类问题上。原因可以概括为以下两个:
(1)回归模型是连续型模型,即预测出的值都是连续值(实数值),而不是离散值;
(2)预测结果受样本噪声的影响较大。

2、 逻辑回归的原理

对数几率函数是一种“Sigmoid函数”,如下图所示。
在这里插入图片描述
在这里插入图片描述

3、逻辑回归损失函数推导及优化

在这里插入图片描述
极大似然函数:
在这里插入图片描述
对这个公式取对数,可得对数似然函数:

最大化对数似然函数其实就是最小化交叉熵误差(Cross Entropy Error)。
先不考虑累加和,我们针对每个参数wj求偏导:
在这里插入图片描述
最后,通过扫描样本,迭代下述公式可求得参数:
在这里插入图片描述

4、 正则化与模型评估指标

常见的有L1正则化和L2正则化。
参考:https://www.cnblogs.com/pinard/p/6029432.html

5、逻辑回归的优缺点

逻辑回归实际是一种分类学习方法。这种方法有很多优点:
(1)直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确带来的问题;
(2)它不是仅预测出“类别”,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;
(3)逻辑回归求解的目标函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求解最优解。

缺点:
(1)容易欠拟合或过拟合,分类精度不高。
(2)数据特征有缺失或者特征空间很大时表现效果并不好。
(3)高度依赖正确的数据表示。
(4)由于其结果是离散的,Logistic 回归只能预测分类结果。

6、样本不均衡问题解决办法

参考:https://blog.youkuaiyun.com/zhongjunlang/article/details/79568601

7. sklearn参数

如下参数来自参考:
https://blog.youkuaiyun.com/adamtu18/article/details/88093230
penalty=’l2’, 参数类型:str,可选:‘l1’ or ‘l2’, 默认: ‘l2’。该参数用于确定惩罚项的范数
dual=False, 参数类型:bool,默认:False。双重或原始公式。使用liblinear优化器,双重公式仅实现l2惩罚。
tol=0.0001, 参数类型:float,默认:e-4。停止优化的错误率
C=1.0, 参数类型:float,默认;1。正则化强度的导数,值越小强度越大。
fit_intercept=True, 参数类型:bool,默认:True。确定是否在目标函数中加入偏置。
intercept_scaling=1, 参数类型:float,默认:1。仅在使用“liblinear”且self.fit_intercept设置为True时有用。
class_weight=None, 参数类型:dict,默认:None。根据字典为每一类给予权重,默认都是1.
random_state=None, 参数类型:int,默认:None。在打乱数据时,选用的随机种子。
solver=’warn’, 参数类型:str,可选:{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, 默认:liblinear。选用的优化器。
max_iter=100, 参数类型:int,默认:100。迭代次数。multi_class=’warn’, 参数类型:str,可选:{‘ovr’, ‘multinomial’, ‘auto’},默认:ovr。如果选择的选项是’ovr’,那么二进制问题适合每个标签。对于“多项式”,最小化的损失是整个概率分布中的多项式损失拟合,即使数据是二进制的。当solver  ='liblinear’时,‘multinomial’不可用。如果数据是二进制的,或者如果solver =‘liblinear’,‘auto’选择’ovr’,否则选择’multinomial’。
verbose=0, 参数类型:int,默认:0。对于liblinear和lbfgs求解器,将详细设置为任何正数以表示详细程度。
warm_start=False, 参数类型:bool,默认:False。是否使用之前的优化器继续优化。
n_jobs=None,参数类型:bool,默认:None。是否多线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值