逻辑回归的工作流程:
输入特征 X
↓
线性变换: z = w·X + b ← 这是"回归"部分(输出连续值)
↓
Sigmoid函数: p = 1/(1+e^(-z)) ← 将连续值压缩到(0,1)概率区间
↓
概率 p ∈ (0,1) ← 连续值(回归的本质)
↓
分类决策: 如果 p > 0.5 则类别1,否则类别0
二、对比理解
模型
输出
用途
为什么叫这个名字
线性回归
任意实数 (-∞, +∞)
预测连续值(房价、温度)
真的是回归
逻辑回归
概率 (0, 1)
二分类(是/否)
用回归方法解决分类问题
三、Sigmoid函数是桥梁
python复制代码
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(z):
"""Sigmoid函数:将任意实数映射到(0,1)"""
return 1 / (1 + np.exp(-z))
# 示例
z_values = np.array([-5, -2, 0, 2, 5])
p_values = sigmoid(z_values)
print("线性输出 z → 概率 p")
for z, p in zip(z_values, p_values):
print(f"z = {z:2d} → p = {p:.4f} → 预测类别: {1 if p > 0.5 else 0}")
输出:
复制代码
z = -5 → p = 0.0067 → 预测类别: 0
z = -2 → p = 0.1192 → 预测类别: 0
z = 0 → p = 0.5000 → 预测类别: 0/1(边界)
z = 2 → p = 0.8808 → 预测类别: 1
z = 5 → p = 0.9933 → 预测类别: 1