逻辑回归 · 深度手册
分类:预测类 | 难度:★★☆ 进阶 | 编号:
logistic_reg
一、这是什么(一句话用途)
二分类 / 概率预测(是否违约 / 是否获奖)
二、核心思想
逻辑回归虽叫"回归",实为最经典的二分类算法。它沿用线性回归的线性组合 ,但套上一层 sigmoid 函数把任意实数压缩到 ,解释为"属于正类的概率"。好处是输出有概率语义、系数可解释(正系数表示该特征增大则正类概率上升),且在样本量大、特征线性关系近似时表现稳健。它是分类问题的首选基线模型。
三、数学原理与推导
对样本 ,正类概率:
似然函数 ,对数似然:
对 求梯度:
令梯度为 0(无解析解),用牛顿法(Hessian , 为对角权)或梯度上升迭代至收敛。分类阈值常取 0.5,但可依代价敏感调整;评估用 AUC、混淆矩阵。
四、建模 / 求解步骤
- 特征编码 / 标准化
- 构造 Xβ
- sigmoid 得概率 p
- 设定阈值(0.5)分类
- 评估 AUC / 混淆矩阵
五、关键公式速查
p = 1/(1+e^{−(β0+βX)})
六、典型示例
学生特征 → 获奖概率,用于筛选重点队伍。
完整算例(数字演示,照着算一遍)
场景:根据 年龄/收入 预测 是否购买(0/1),训练 20 样本。
拟合:logit(P)=−4.2+0.08·年龄+0.003·收入。某用户(年龄30,收入8000) → logit=−4.2+2.4+2.4=0.6 → P=1/(1+e^{-0.6})=0.65。
结论:该用户购买概率 65%,超过 0.5 阈值判为购买。
七、Python 实现示例
import os, numpy as np
import pandas as pd
HERE = os.path.dirname(os.path.abspath(__file__))
df = pd.read_csv(os.path.join(HERE,"..","datasets","logistic_reg.csv"))
X = df[["x1","x2"]].to_numpy(dtype=float)
y = df["label"].to_numpy(dtype=float)
X = (X-X.mean(0))/X.std(0)
Xb = np.hstack([np.ones((len(X),1)), X]); w = np.zeros(3)
for _ in range(2000):
z = 1/(1+np.exp(-Xb@w)); g = Xb.T@(z-y)/len(y); w -= 0.3*g
print("系数:", np.round(w,3))
p = 1/(1+np.exp(-(np.array([1,0.5,-0.3])@w)))
print("某样本获奖概率=%.3f"%p)
配套文件:
py_logistic_reg.py(需 numpy / pandas;与下方数据集配套练习)
八、MATLAB 实现示例
%% 逻辑回归(梯度上升)示例(MATLAB/Octave)
df = readtable('..\datasets\logistic_reg.csv');
X = table2array(df(:,1:2)); y = table2array(df(:,3));
X = (X-mean(X,1))./std(X,1); Xb=[ones(height(X),1),X];
w=zeros(3,1);
for i=1:2000
z=1./(1+exp(-Xb*w)); g=Xb'*(z-y)/length(y); w=w-0.3*g;
end
fprintf('系数: '); disp(w');
配套文件:
m_logistic_reg.m(基础 MATLAB / Octave 即可运行)
九、练手数据集(可下载)
2 个特征与二分类标签的 40 组样本。用于逻辑回归训练、求系数与获奖概率。
- 字段:x1, x2, label
- 行数:40 行
- 下载:
logistic_reg.csv
十、常见误区与避坑清单
- 需线性可分近似
- 类别不平衡要调权重
- 特征标准化
十一、结果怎么解读
系数符号表方向;p 为发生概率。
十二、常与谁搭配
多分类用 softmax / 决策树。
十三、论文写作技巧(怎么把它写进论文)
把 逻辑回归 写进论文,核心不是堆公式,而是讲清「为什么用它、结果怎么呈现、如何对比」三件事。
1. 动机怎么写(为什么用它而不是别的)
先说明你的数据具有时间 / 序列依赖,或需要由已知推断未知,因此采用预测类方法。交代输入特征与预测目标,并说明为何选 逻辑回归(如非线性强、含季节性、小样本等),对比朴素法(如移动平均)点出优势。
2. 结果怎么写(图表与指标)
结果必须给「预测值 vs 真实值」对比曲线 + 误差指标表(MAE / RMSE / MAPE),最好附训练 / 验证分段。若有多个模型,用一张表横向对比误差,突出 逻辑回归 更优。
3. 可直接套用的写作话术
- 中文模板:针对<问题>,本文采用 逻辑回归 进行二分类 / 概率预测(是否违约 / 是否获奖)。该方法能够自动刻画<优势>,在处理<场景>时相较<对比方法>更具<特点>。
- 英文模板:To address
, we adopt 逻辑回归 to 二分类 / 概率预测(是否违约 / 是否获奖). Benefiting from its ability to , it outperforms on .
4. 同类易踩的写作坑
不可只报 R² 不看外推;时间序列要显式说明训练 / 测试切分方式,避免用未来信息泄漏(look-ahead bias)。
5. 典型论文段落范例(可直接参考 / 改写)
下面是一段可直接套用的论文表述,已按本算法定制,填空处(…)替换成你的真实数值即可。
由于日用电量具有明显的时间依赖与周期波动,本文采用 逻辑回归 对未来 30 天负荷进行预测,以 RMSE=…、MAPE=… 的精度优于 ARIMA 基线,验证了模型对非线性趋势的捕捉能力。
Given the strong temporal dependence and periodic fluctuation of daily load, we employ 逻辑回归 to forecast the next 30 days, achieving RMSE=… and MAPE=… and outperforming the ARIMA baseline, which confirms its strength in capturing nonlinear trends.
十四、相关手册(延伸阅读)
- 决策树 · 聚类分类
十五、本手册导航
本手册由「算法深度手册生成器」自动产出,配套提供 Python / MATLAB 双版本示例与可下载练手数据集。