逻辑回归(Logistic Regression)详解:从原理到实战一站式掌握

1️⃣ 什么是逻辑回归?

逻辑回归(Logistic Regression)是一种用于二分类 的监督学习算法,尽管名字中含有"回归",它本质上是一个分类模型 ,预测输出值为属于某个类别的概率,最终通过阈值判断类别。

2️⃣ 逻辑回归的数学原理

线性模型预测的是连续值,而逻辑回归将线性回归的输出映射到 区间,通过概率来进行分类判断。

假设有输入特征向量 ,权重向量 ,模型为:

  • 线性部分:

3️⃣ 假设函数与 Sigmoid 函数

为了将线性输出转为概率,我们使用 Sigmoid 函数:

Sigmoid 函数定义:

逻辑回归模型输出:

4️⃣ 损失函数与最大似然推导

✅ 对数损失函数(Binary Cross-Entropy Loss):

对于标签 ,预测概率为 ,损失函数为:

对整个样本集求平均后作为总损失:

5️⃣ 模型训练:梯度下降法

✅ 参数更新公式(以批量梯度为例):

​ 和 求梯度:

然后更新权重和偏置:

6️⃣ Python 实战:逻辑回归分类模型

python 复制代码
import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix

# 生成数据
X, y = make_classification(n_samples=200, n_features=2, n_redundant=0, random_state=1)

# 模型训练
model = LogisticRegression()
model.fit(X, y)

# 预测与评估
y_pred = model.predict(X)
print(confusion_matrix(y, y_pred))
print(classification_report(y, y_pred))

7️⃣ 模型评估指标(分类任务)

指标 公式 含义
准确率 Accuracy 总体正确率
精确率 Precision 判断为正中有多少是真的
召回率 Recall 正样本中被识别的比例
F1 分数 平衡精确率与召回率

8️⃣ 逻辑回归 vs 线性回归

特点 逻辑回归 线性回归
任务类型 分类(概率) 回归(连续值)
输出范围
激活函数 Sigmoid
损失函数 对数损失 均方误差
应用 是否患病、是否点击广告等 房价预测、销量预测等

9️⃣ 优缺点总结

✅ 优点:

  • 输出为概率,易于解释

  • 实现简单,训练高效

  • 对线性可分数据效果好

  • 可以自然处理多分类(Softmax)

❌ 缺点:

  • 只能解决线性边界分类问题

  • 对异常值敏感

  • 需要手动特征工程

  • 易受特征共线性影响

📚 总结与延伸

  • 逻辑回归是分类任务的基础算法。

  • 对于非线性边界,可引入特征变换或核方法。

  • 学会从最大似然推导损失函数是关键基础。

相关推荐
KaMeidebaby1 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17682 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
tmlx3I0812 小时前
高光谱拼接算法(六)RANSAC 误匹配剔除
人工智能·算法·机器学习
不相心 -w-2 小时前
基础-滑动窗口-(定长 | 不定长)
算法
硅谷秋水3 小时前
World Engine:迈向自动驾驶的后训练时代
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
醉城夜风~3 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
ysa0510303 小时前
【板子】ST表
c++·笔记·算法·板子
CHHH_HHH3 小时前
【C++11】深入解析C++可变参数模板
开发语言·c++·算法·stl·c++11
hurrycry_小亦3 小时前
洛谷题目:P1215 [USACO1.4] 母亲的牛奶 Mother‘s Milk 题解(本题简)
算法
KJ_BioMed4 小时前
从PDB到高亲和力分子:De novo生成式计算化学Pipeline剖析
算法·生物医药·生物科研·科研干货·化合物设计