← 返回笔记列表
深度学习 第 4 / 49 篇

深度学习:一元逻辑回归 — 从 Sigmoid 到分类决策

查看“深度学习”专题目录(4/49)
本文目录 9 个小节

1. 回归 vs 分类

之前学的线性回归解决的是回归问题:根据特征预测一个连续的数值(温度、房价、销量等)。

实际中还有另一大类问题——分类问题:根据特征判断样本属于哪一类。例如:

  • 根据用户特征,判断会不会违约(会 / 不会)
  • 根据花瓣的长宽,判断花的种类(山鸢尾 / 变色鸢尾 / 维吉尼亚鸢尾)
  • 根据用户特征,判断会不会点击广告(点击 / 不点击)

注意:逻辑回归虽然名字里有”回归”,但它是一个分类算法。这是机器学习历史上用词不规范的地方。


2. 为什么线性回归不适合分类

以”气温与是否出门”数据为例(0 = 不出门,1 = 出门):

气温是否出门
-100
31
-30
51
-40
71
-60
81

问题:Label 只有 0 和 1 两个值。如果用线性回归:

  • 预测值会随着 x 无限延伸,突破 [0, 1] 范围
  • 对于 x = 100(极端高温),线性回归可能预测出远大于 1 的值,无法解释

因此需要一个输出值天然落在 [0, 1] 之间的函数来做假设函数。


3. Sigmoid 函数登场

Sigmoid 函数的形式:

σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}

三大特性:

特性含义
输出范围 (0, 1)天然适合表示概率
x=0 附近变化剧烈,两端平坦在决策边界附近敏感,远处饱和
单调递增x 越大,输出越大

把 Sigmoid 值理解为在气温 x 下,小明出门的概率:

  • 气温 -10 → 概率接近 0(几乎不出门)
  • 气温 0 → 概率 0.5(半对半)
  • 气温 10 → 概率接近 1(几乎肯定出门)

4. 给 Sigmoid 增加缩放参数 w

标准 Sigmoid 曲线是固定的,但不同问题的数据分布不同,需要曲线能够缩放和翻转。

给 x 前面加一个权重 w:

σ(wx)=11+e−wx\sigma(wx) = \frac{1}{1 + e^{-wx}}

w 的取值效果
w > 1曲线沿 x 轴压缩,更陡峭
0 < w < 1曲线沿 x 轴拉伸,更平缓
w < 0曲线左右翻转(x 增大时输出减小)

示例:“复习时长 vs 是否挂科”——复习越久越不容易挂科,数据是左高右低的。Sigmoid 默认左低右高,设 w < 0 即可翻转方向。


5. 给 Sigmoid 增加平移参数 b

加上 w 后可以缩放和翻转,但曲线位置还固定在原点上。需要 b 来做平移:

完整形式:

σ(wx+b)=11+e−(wx+b)\sigma(wx + b) = \frac{1}{1 + e^{-(wx+b)}}

  • 当 w>0w>0 时,b > 0 使曲线向左平移;一般平移量为 −b/w-b/w
  • 当 w>0w>0 时,b < 0 使曲线向右平移;w<0w<0 时方向相反,w=0w=0 时输出为常数

例如”复习时长 vs 挂科”:设 w = -2(翻转),b = 22(平移到数据区域),曲线就能完美贴合数据点。


6. 一元逻辑回归的假设函数

最终模型:

y^=11+e−(wx+b)\hat{y} = \frac{1}{1 + e^{-(wx + b)}}

其中 w 和 b 是可训练参数,模型通过数据学习出最合适的值。

核心理解:逻辑回归就是两件事串起来——

输入 x→wx+b⏟线性变换(线性回归)→σ(⋅)⏟Sigmoid→概率输出\text{输入 } x \rightarrow \underbrace{wx + b}_{\text{线性变换(线性回归)}} \rightarrow \underbrace{\sigma(\cdot)}_{\text{Sigmoid}} \rightarrow \text{概率输出}

这就是深度学习里**“全连接层(Linear) + 激活函数”**的最简原型。后面学到的每个神经网络层,本质上都是这个结构的堆叠。


7. 预测与决策

训练好的模型输出是概率值 [0, 1]:

  • 越接近 1,越可能是正例(例如出门;“是否挂科”任务若挂科=1,则为挂科)
  • 越接近 0,越可能是负例(例如不出门;“是否挂科”任务若挂科=1,则为不挂科)

默认决策规则:以 0.5 为临界值

预测类别={1if y^≥0.50if y^<0.5\text{预测类别} = \begin{cases} 1 & \text{if } \hat{y} \ge 0.5 \\ 0 & \text{if } \hat{y} < 0.5 \end{cases}

阈值可以根据业务需求调整:

阈值调整效果适用场景
提高(如 0.6)更保守,更少误报,但可能漏掉正例垃圾邮件检测(宁可漏杀不可错杀?取决于策略)
降低(如 0.4)更激进,更少漏报,但可能多误报疾病筛查(宁可多查几个,不能放过)

8. 深度理解:线性回归 + 激活函数

一句话总结:一元逻辑回归 = 线性回归 + Sigmoid 激活函数

Sigmoid 是学习的第一个激活函数。激活函数的作用是:在线性变换的基础上引入非线性,让模型能表达更复杂的映射关系。

Sigmoid 的非线性行为很直观:

  • 输入 < 0 → 抑制,输出接近 0
  • 输入 > 0 → 激活,输出快速接近 1

这类似生物神经元的行为:刺激足够强时才”放电”,否则保持静默。这也是”激活函数”名称的由来。

后续还会学到其他激活函数(ReLU、Tanh 等),但它们的核心角色不变:接在线性变换后面,引入非线性。


9. 总结图

一元逻辑回归 = 输入x → [wx + b] → [Sigmoid] → 概率输出(0~1) → 与0.5比较 → 分类结果(0/1)
                └─线性回归─┘   └─激活函数─┘   └─概率解释─┘   └─决策规则─┘
继续学习本专题