1. 概率视角下的分类模型概述
分类问题是机器学习中最基础也最重要的问题之一。与回归问题预测连续值不同,分类问题的目标是预测离散的类别标签。从概率视角来看,分类问题的核心在于计算后验概率P(C_k|x),即在给定输入特征x的情况下,样本属于类别C_k的概率。
1.1 概率视角的本质
概率视角与传统视角的关键区别在于如何看待观测数据。传统视角将观测值视为绝对确定的值,而概率视角则认为观测值是从某个概率分布中采样得到的一个实例。举例来说,对于一个数据点(x=1,t=1):
- 传统视角认为t=1是一个确定的观测值
- 概率视角认为在x=1处,t值服从一个以理想值(如0.9)为中心、方差为σ²的高斯分布,t=1只是从这个分布中采样得到的一个观测值
这种概率观点使我们能够更全面地理解数据生成过程,并为建立更鲁棒的分类模型奠定基础。
1.2 分类问题的概率框架
在分类问题中,我们有K个类别,用C_k表示第k类。我们的目标是求出后验概率P(C_k|x),即在观察到特征x后,样本属于类别C_k的概率。有了这个概率,我们就可以进行决策:
预测类别 = argmax_k P(C_k|x)
这种决策方式在统计学上称为贝叶斯决策规则。当不同类别的误分类代价不同时(如医疗诊断中假阴性和假阳性的代价不同),我们还可以引入风险矩阵进行加权决策。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 分类模型的三大范式
从概率视角出发,我们可以将分类模型分为三大范式:判别函数、生成式概率模型和判别式概率模型。
2.1 判别函数方法
判别函数方法是最直观的分类方法,它不涉及概率计算,而是直接在特征空间中寻找决策边界来分隔不同类别的样本。
2.1.1 线性判别函数
最基本的判别函数是线性判别函数,其形式为:
y(x) = wᵀφ(x) + w₀
其中:
- w是权重向量,决定了决策边界的方向
- w₀是偏置项,决定了决策边界的位置
- φ(x)是基函数,可以对原始特征进行非线性变换
对于二分类问题:
- 若y(x)>0,判定为类别C₁
- 若y(x)<0,判定为类别C₂
- y(x)=0定义了决策边界
线性判别函数的关键优势在于其简单性和计算效率,但它要求数据是线性可分的,即存在一个超平面能够完美分隔不同类别的样本。
2.1.2 支持向量机(SVM)
支持向量机是线性判别函数的重要扩展,它通过最大化间隔(margin)来寻找最优决策边界。SVM的关键特点包括:
- 间隔最大化:SVM寻找使距离最近样本点最远的决策边界
- 核技巧:通过核函数将数据映射到高维空间,解决线性不可分问题
- 支持向量:只有少数关键样本点(支持向量)影响最终决策边界
SVM的数学目标是最小化||w||²,这等价于最大化决策边界到最近样本点的距离。
2.1.3 感知机
感知机是另一种重要的线性分类器,它使用阶跃函数作为激活函数:
f(a) =
感知机的训练过程是错误驱动的:
- 对于正确分类的样本,不更新参数
- 对于错误分类的样本,根据损失函数更新参数
感知机的损失函数只考虑误分类样本:
L(w) = -∑_{x_i∈M} y_i(wᵀx_i + b)
其中M是误分类样本集合。
这种机制使感知机对离群点更鲁棒,因为它只关注能否正确分类,而不关心分类的"置信度"。
2.2 生成式概率模型
生成式模型通过建模各类别的数据分布来解决分类问题。它不直接计算P(C_k|x),而是先计算类条件概率p(x|C_k)和类先验P(C_k),然后使用贝叶斯公式得到后验概率。
2.2.1 高斯判别分析(GDA)
高斯判别分析假设各类别的数据服从高斯分布。对于二分类问题,假设两个类别的高斯分布共享相同的协方差矩阵Σ,但有不同的均值μ₁和μ₂。
GDA的建模过程包括:
- 从数据中估计各类别的均值μ₁, μ₂
- 估计共享的协方差矩阵Σ
- 估计类先验P(C₁), P(C₂)
对于新样本x,我们计算它到各类别分布的马氏距离:
D_M(x) = √[(x-μ)ᵀΣ⁻¹(x-μ)]
或者直接计算后验概率P(C_k|x)。
2.2.2 从生成式模型推导Sigmoid函数
通过贝叶斯公式,我们可以从生成式模型推导出Sigmoid函数。对于二分类问题:
P(C₁|x) = p(x|C₁)P(C₁) / [p(x|C₁)P(C₁) + p(x|C₂)P(C₂)]
定义a = ln[p(x|C₁)P(C₁)/p(x|C₂)P(C₂)],则:
P(C₁|x) = 1/(1+exp(-a)) = σ(a)
这就是Sigmoid函数的形式。当假设p(x|C_k)是高斯分布且共享协方差矩阵时,a是x的线性函数:
a(x) = wᵀx + w₀
因此,P(C₁|x) = σ(wᵀx + w₀),这就是逻辑回归模型。
2.2.3 多分类与Softmax
对于K类问题,后验概率为:
P(C_k|x) = p(x|C_k)P(C_k) / ∑_j p(x|C_j)P(C_j)
定义a_k = ln[p(x|C_k)P(C_k)],则:
P(C_k|x) = exp(a_k) / ∑_j exp(a_j)
这就是Softmax函数。当a_k是x的线性函数时,我们得到多类逻辑回归模型。
2.3 判别式概率模型
判别式模型直接对P(C_k|x)进行建模,而不关心数据的生成过程。最典型的判别式模型是逻辑回归。
2.3.1 逻辑回归模型
逻辑回归模型直接假设:
P(C₁|x) = σ(wᵀx + w₀)
其中σ是Sigmoid函数。与生成式模型不同,逻辑回归直接通过优化算法(如梯度下降)寻找最优参数w和w₀,而不需要估计高斯分布的参数。
2.3.2 逻辑回归的决策边界
虽然Sigmoid函数是非线性的,但逻辑回归的决策边界P(C₁|x)=0.5对应wᵀx + w₀=0,这仍然是线性的。因此逻辑回归本质上仍是线性分类器。
2.3.3 逻辑回归的损失函数
逻辑回归通常使用交叉熵损失函数,这可以从两个角度推导:
-
最大似然估计角度:
假设标签t服从伯努利分布,对数似然函数为:
ln L(w) = ∑[t_n ln y_n + (1-t_n)ln(1-y_n)]
最大化似然等价于最小化交叉熵损失。 -
信息论角度:
最小化预测分布Q与真实分布P的KL散度,等价于最小化交叉熵H(P,Q)。
交叉熵损失的具体形式为:
Loss = -∑[t_i ln y_i + (1-t_i)ln(1-y_i)]
3. 模型比较与选择
3.1 生成式模型 vs 判别式模型
生成式模型的优势:
- 可以生成新样本
- 在小数据集上通常表现更好
- 能处理缺失数据
判别式模型的优势:
- 通常分类准确率更高
- 训练更简单直接
- 可以灵活地引入正则化
3.2 线性模型的局限性
本文讨论的所有模型(线性判别、SVM、感知机、逻辑回归等)本质上都是线性分类器,它们的决策边界都是超平面。对于线性不可分的数据,这些模型在原始特征空间中表现有限。
解决方法包括:
- 人工设计非线性特征
- 使用核方法(如SVM的核技巧)
- 使用多层神经网络自动学习特征表示
4. 从线性模型到神经网络
线性分类器是神经网络的基础构建块。神经网络通过以下方式扩展线性模型:
- 多层结构:将多个线性变换堆叠起来
- 非线性激活:在线性变换间引入非线性激活函数
- 自动特征学习:通过反向传播自动学习有用的特征表示
理解线性模型的数学基础对于理解更复杂的神经网络模型至关重要。线性模型中涉及的许多概念(如损失函数、梯度下降、概率解释等)都直接延伸到神经网络中。
5. 实践建议与注意事项
5.1 模型选择指南
- 对于线性可分数据:简单的线性判别或感知机就足够
- 需要概率输出:选择逻辑回归
- 小数���集:考虑生成式模型如GDA
- 高维数据:SVM通常表现良好
- 复杂非线性问题:考虑神经网络
5.2 常见陷阱与解决方案
-
过拟合:
- 使用正则化(L1/L2)
- 增加训练数据
- 简化模型
-
线性不可分:
- 添加非线性特征
- 使用核方法
- 切换到神经网络
-
类别不平衡:
- 调整类别权重
- 使用过采样/欠采样
- 选择适合的评价指标(如F1-score)
5.3 实用技巧
- 特征缩放:对于基于距离的模型(SVM、GDA等),标准化特征很重要
- 学习率调整:使用自适应学习率算法(如Adam)
- 早停:监控验证集性能防止过拟合
- 模型集成:结合多个模型提升性能
6. 总结与展望
概率视角为我们理解分类问题提供了统一的框架。无论是生成式模型还是判别式模型,都可以在这个框架下得到解释。线性模型虽然简单,但它们构成了更复杂模型的基础,并且在实际应用中仍然非常有用。
未来的发展方向包括:
- 深度生成模型(如GAN、VAE)
- 注意力机制与Transformer
- 元学习与小样本学习
- 可解释性与公平性
理解这些高级主题都需要扎实的概率基础和线性模型知识。因此,掌握本文介绍的内容是迈向更复杂机器学习模型的重要一步。
