判别模型 vs 生成模型
机器学习中的判别模型与生成模型
Section titled “机器学习中的判别模型与生成模型”机器学习(Machine Learning,ML)和深度学习(Deep Learning,DL)技术受到人类如何从经验中学习以做出更好决策的启发。这些领域充满活力且不断发展,其应用已融入我们生活的许多方面,并有无数的可能性尚待探索。
这些进步使得机器能够从历史数据中学习模式,并对甚至从未见过输入进行预测或生成新数据。为了提取有意义的洞察并执行复杂任务,机器依赖于数学框架、算法(模型)和数据处理技术。机器的效率可以通过增加数据量和质量或开发更鲁棒和复杂的算法来提高。
虽然以前所未有的规模生成新数据,但有效利用这些海量信息需要可扩展且强大的模型。这些模型的数学基础使得它们可以大致分为两类:判别模型(Discriminative Models)和生成模型(Generative Models)。
本章将探讨判别式和生成式 ML 模型,重点介绍它们的核心区别、常见示例和典型用例。
什么是判别模型?
Section titled “什么是判别模型?”判别模型,顾名思义,侧重于学习不同数据类别之间的决策边界(decision boundary)。它们直接建模条件概率 P(Y|X),其中 Y 是目标标签,X 是输入特征。它们的主要目标是区分类别或根据输入特征预测连续值。
这些模型主要用于监督学习(supervised learning)任务,如分类(classification)和回归(regression)。它们学习将输入直接映射到输出,而不必理解数据本身是如何生成的。判别模型通常对特征空间中的异常值(outliers)具有鲁棒性,因为它们的重点在于分隔类别的边界,而不是每个类别内数据的分布。然而,由于它们不建模潜在数据分布,它们无法生成新的数据样本。
从概率角度看,训练一个判别分类器涉及直接从训练数据集中估计 P(Y|X) 的参数。它们学习哪些特征最能指示特定类别。
流行的判别模型
Section titled “流行的判别模型”以下是一些广泛使用的判别模型示例:
逻辑回归(Logistic Regression)是一种统计算法,用于二分类任务(并可扩展到多类别分类)。它使用应用于输入特征线性组合的逻辑(sigmoid)函数来建模二元结果的概率。它输出一个介于 0 和 1 之间的概率,然后可以设置阈值来进行类别预测。
常见应用包括垃圾邮件检测、医疗诊断(例如,预测疾病可能性)和信用评分。
支持向量机(SVMs)
Section titled “支持向量机(SVMs)”支持向量机(Support Vector Machines,SVMs)是强大的监督学习算法,用于分类和回归任务。在分类中,SVMs 旨在找到 N 维空间中的最优超平面,该超平面能够明确地分类数据点。最优超平面是最大化不同类别最近数据点(支持向量,support vectors)之间间隔(距离)的那个超平面。
K 近邻(KNN)
Section titled “K 近邻(KNN)”KNN(K-Nearest Neighbors)是一种非参数(non-parametric)、基于实例(instance-based learning)的学习算法,用于分类和回归。对于一个新的数据点,它根据其在特征空间中 K 个最近邻居的多数类别(用于分类)或平均值(用于回归)来预测标签。“接近度”通常使用距离度量(distance metric),如欧几里得距离(Euclidean distance)来衡量。
其他常见的判别模型包括决策树(Decision Trees)、随机森林(Random Forests)、梯度提升机(Gradient Boosting Machines)以及用于分类或回归任务的标准前馈神经网络(feedforward Neural Networks)。条件随机场(Conditional Random Fields,CRFs)也是一种判别模型,常用于序列标注。
什么是生成模型?
Section titled “什么是生成模型?”相比之下,生成模型旨在学习数据的潜在概率分布 P(X) 或联合概率分布 P(X, Y)。通过理解数据是如何生成的,这些模型可以创建与原始训练数据相似的新的合成数据样本。
这些模型常用于无监督或半监督学习,但也可应用于分类任务。对于分类,生成模型通常学习 P(X|Y)(给定类别的特征分布)和 P(Y)(类别的先验概率,prior probability)。然后它使用贝叶斯定理(Bayes’ theorem)计算后验概率(posterior probability)P(Y|X) = P(X|Y)P(Y) / P(X) 来进行预测。
生成模型用于分类时的一个潜在缺点是,如果异常值显著影响学习到的数据分布,它们可能对异常值更敏感。然而,它们生成数据的能力使得它们在数据增强、异常检测和创意内容生成等任务中非常宝贵。
数学上,对于分类,生成分类器:
- 假设 P(X|Y) 和 P(Y) 的函数形式。
- 从训练数据中估计这些分布的参数。
- 使用贝叶斯定理推导 P(Y|X) 用于分类。
流行的生成模型
Section titled “流行的生成模型”以下是一些杰出的生成模型示例:
朴素贝叶斯分类器(Naive Bayes classifiers)是一系列简单的概率分类器,基于应用贝叶斯定理,并对给定类别下的特征之间的条件独立性做出强(朴素)假设。尽管进行了这种简化,朴素贝叶斯模型仍然可以表现得令人惊讶地好,尤其是在文本分类和医疗诊断中。
贝叶斯网络(Bayesian Network,或 Bayes net)是一种概率图模型(probabilistic graphical model),它通过有向无环图(Directed Acyclic Graph,DAG)表示一组变量及其条件依赖关系。它们可以建模复杂的联合概率分布,并用于推理(inference)、不确定性下的推理(reasoning under uncertainty)和学习因果关系(causal relationships)。它们可以通过从学习到的联合分布中采样来生成数据。
生成对抗网络(GANs)
Section titled “生成对抗网络(GANs)”GANs 由两个神经网络组成:一个生成器和一个判别器,它们对抗式训练。生成器创建合成数据,判别器尝试将其与真实数据区分开来。这个过程驱动生成器产生越来越逼真的样本。GANs 以生成高质量图像、视频和其他复杂数据类型而闻名。
变分自编码器(VAEs)
Section titled “变分自编码器(VAEs)”VAEs(Variational Autoencoders)是一种自编码器,它学习输入数据的概率潜表示(probabilistic latent representation,编码)。它们由一个将输入数据映射到潜在分布(latent distribution)的编码器(encoder)和一个从该分布中采样以生成新数据的解码器(decoder)组成。VAEs 擅长学习压缩的潜在表示,并通过从学习到的潜在空间(latent space)中采样来生成新颖样本。它们是图像生成和异常检测等任务的基础,并且可以作为更复杂生成系统中的组件。
其他示例包括自回归模型(Autoregressive models)(例如,用于语言建模,如早期 GPT 模型的一些组件)、用于序列数据(sequential data)的隐马尔可夫模型(Hidden Markov Models,HMMs)以及用于主题建模(topic modeling)的潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)。扩散模型(Diffusion Models)最近也作为高效的生成模型出现,尤其适用于图像合成。
从视觉上看,可以想象判别模型专注于绘制线条或曲面来将数据点分成不同区域。相比之下,生成模型试图理解每组数据点的形状和密度,从而能够“绘制”符合这些学习形状的新点。
关键区别:判别模型与生成模型
Section titled “关键区别:判别模型与生成模型”理解这两种模型类型之间的区别对于数据科学家和机器学习从业者选择最适合特定任务的方法至关重要。
下表总结了核心区别:
| 特征 | 判别模型 | 生成模型 |
|---|---|---|
| 主要目标 | 学习类别间的决策边界,或直接将输入映射到输出。关注 P(Y|X)。 | 学习潜在数据分布 P(X) 或联合分布 P(X,Y)。可以生成新数据。 |
| 建模的概率 | 直接建模 P(Y|X)(条件概率)。 | 建模 P(X|Y) 和 P(Y)(类别条件和先验)然后使用贝叶斯定理推导 P(Y|X),或直接建模 P(X)。 |
| 数据生成 | 无法生成新的数据样本。 | 可以生成与训练数据相似的新数据样本。 |
| 典型用例 | 分类、回归、目标检测。 | 数据生成、异常检测、密度估计、缺失数据填补、分类。 |
| 处理异常值 | 当侧重于决策边界时,通常对异常值更鲁棒。 | 由于试图建模整个数据分布,可能对异常值更敏感。 |
| 复杂性 | 通常更简单,在判别任务上可能需要较少数据就能获得良好性能。 | 可能更复杂,可能需要更多数据才能准确建模分布,但提供更深入的洞察。 |
| 示例 | 逻辑回归、SVMs、决策树、随机森林、K 近邻、前馈神经网络(用于分类/回归)。 | 朴素贝叶斯、贝叶斯网络、GANs、VAEs、HMMs、LDA、扩散模型、自回归模型。 |
判别模型擅长需要将输入直接映射到输出的任务,例如分类,通过关注分隔类别的边界。当主要目标是预测时,它们通常高效且表现良好。
另一方面,生成模型努力理解和捕捉数据潜在分布的本质。这使得它们不仅可以对数据进行分类,还可以生成新的合成样本,从而适用于更广泛的任务,包括创意内容生成、数据增强和异常检测。判别模型和生成模型之间的选择很大程度上取决于具体问题、数据的性质和期望的结果。