想象你经营一家大酒楼,后厨需要两位高手。第一位是品菜师:菜一端上来,尝一口,他立刻能说出“这是川菜,辣度七分”“这道火候过了”——他精于判断,却从不亲自下厨。第二位是大厨:他满脑子装的是“什么食材配什么调料、什么火候出什么味”的完整配方,他不但能品出菜的来历,还能凭空设计出一道前所未见的新菜。 机器学习的世界里,恰好就有这两类角色:判别式模型(Discriminative Model)像品菜师,只学“看到输入、给出结论”之间的那条边界;生成式模型(Generative Model)像大厨,学的是“输入和输出如何共同出现”的完整规律。品菜师知道“吃了什么”,大厨知道“怎么做的”。本文就带你走进这两间厨房,看懂他们的区别、代表算法,以及何时该“聘请”谁。
搞懂两派模型的分工与权衡,是搭建分类、生成、风控系统的第一步——认清适用边界,才能为真实任务选对模型,这是机器学习工程师的核心判断力。
目录
可视化演示
展示生成式与判别式模型的建模路径差异、代表算法族对比,以及在小样本与大样本下的准确率交叉现象。
本节配有交互动效(进入视口后自动加载,约 3KB)。
建模路径对比 生成式:建模P(X,Y)=P(X)P(Y|X),可生成数据 判别式:直接建模P(Y|X),专注分类边界 P(X,Y) vs P(Y|X) 生成式建模联合概率,判别式建模条件概率
基本概念:厨房里的两种人
你开了一间大酒楼,后厨需要两位高手。第一位是品菜师:菜端上来,尝一口,他立刻告诉你“这是川菜,够辣”“这盘火候过了”——他精于判断,却从不亲自下厨。第二位是大厨:他满脑子都是“什么食材配什么调料、什么火候出什么味”,他不但能品出菜系的来历,还能凭空设计出一道新菜。机器学习的世界里,这两类角色被称作生成式模型与判别式模型:前者像大厨,后者像品菜师。
我们把“端上来的一道菜”写成 X,“这道菜属于哪个菜系”写成 Y。品菜师学习的是条件概率 P(Y|X):已经看见了菜,判断它是哪个菜系的概率。大厨学习的则是联合概率 P(X,Y):这道菜的样貌和它的菜系标签,在现实中是怎样成对出现的。前者只对“边界”负责,后者对“整个配方”负责。这就是理解两派模型的第一块基石。
联合概率 P(X,Y) 并不是一个孤立的数字,它可以拆成两块的乘积:先验 P(Y) 和似然 P(X|Y)。先验回答“这家店本来就川菜多还是粤菜多”,似然回答“如果这是一道川菜,它有多大概率长这样”。两者相乘,就是“又见川菜、又见这盘红油菜”同时发生的概率。这种拆解在数学上称为概率的乘法法则。
品菜师只学“看见菜 → 报菜系”这一段,也就是 P(Y|X);大厨却把 P(X|Y) 和 P(Y) 都记下来,组合成完整的 P(X,Y)。所以大厨既能回答“这菜是什么”,也能回答“这菜怎么做”;品菜师只能回答前者。这就是两派模型分道扬镳的起点。
- 联合概率 P(X,Y)表示 X 与 Y 同时出现的概率,类比“这盘菜长这样”和“它属于川菜”两件事同时成立。
- 条件概率 P(X|Y)在已知 Y 的条件下 X 出现的概率,类比“已知是川菜,它长成红油状”的匹配度。
- 边缘概率 P(Y)不考虑 X 时 Y 本身出现的概率,类比“店里所有菜中川菜占比”。
核心差异:思路的分岔路口
品菜师和小徒弟打赌:徒弟把菜端上来,品菜师只需说出“辣 / 不辣”。他不需要知道花椒放了多少、油温几成,他练就的只是舌尖上的那道分界线。大厨想回答同样的问题,却必须先翻自己的配方本:这盘菜长这样,更可能出自哪一类的配方?两人最后都能回答“这是什么菜”,但大脑里的知识结构完全不同。
在数学上,这道分界线正是判别式模型的全部:直接拟合 P(Y|X),把输入 X 映射到标签 Y 的概率,对联合分布 P(X,Y) 一无所知也无所谓。生成式模型则绕了个弯:它先学 P(X|Y) 和 P(Y),再用贝叶斯定理把分子搭起来,得到 P(Y|X)。殊途同归的分类结果,背后是截然不同的学习路线。
两派差异可归纳为四点:其一,建模对象不同——生成式建模联合概率,判别式建模条件概率;其二,训练目标不同——生成式要让“整盘菜出现的似然”最大,判别式只要让“分类边界”最准;其三,边界求法不同——生成式通过贝叶斯定理间接换算,判别式直接优化决策面;其四,数据需求不同——生成式要估计更多参数,通常需要更多数据支撑。
粗略地说,判别式模型是“直接考试”,生成式模型是“先复习整本教材再考试”。冲刺阶段,直接考试的往往更快更准;但教材齐全时,复习过的考生能答出更多超纲题——比如凭空画一道新菜。
- 后验概率 P(Y|X)看了 X 之后 Y 的概率,也就是品菜师最后报出的那句话。
- 分子 P(X|Y) × P(Y)大厨从配方本上查到的“这盘菜配这个菜系”的联合概率。
- 分母 P(X)X 出现的总概率,对所有菜系求和得到,起归一化作用,保证概率加起来等于 1。
生成式算法:大厨的看家本领
大厨流派里师门众多。有的师傅靠“看配料表”猜菜系:扫一眼花椒、辣椒、豆瓣酱的用量,心里大致有数——这就是朴素贝叶斯的哲学。有的师傅给每类菜画一张“味道分布图”,记录平均辣度和波动范围——这就是高斯混合模型的思路。还有的师傅记的是上菜顺序、行文顺序——隐马尔可夫模型和 GPT 语言模型都是这个路数。
朴素贝叶斯为什么叫“朴素”?因为它做了一个大胆假设:特征之间彼此独立。做麻婆豆腐时,花椒用量和辣椒用量被假设互不影响,于是可以把每个特征单独拿出来乘起来。代价是假设有时并不真实,收益是计算量极小、小样本也能训练。它是生成式家族中最容易上手的入门代表。
用公式表达朴素贝叶斯的分类决策:对所有候选标签比较后验大小,取最大者。因为分母 P(X) 对所有标签都一样大,可以省略,只剩下先验与各特征似然的连乘。
GPT 这类大模型同样属于生成式家族,只是它把“配料”换成了“文字”,把“菜系”换成了“下一个词”。它记住的是亿万语料中词与词共同出现的规律,所以既能续写文章,也能“创作”从未存在的句子——这正是生成式的看家本领。
- 预测标签 ŷ大厨最终报出的菜系。
- argmax 运算从所有候选 y 中挑出让括号内算式最大的那一个。
- 先验 P(y)平时店里哪个菜系上座率更高。
- 连乘符号把每个特征各自的证据累乘起来,对应“各配料独立贡献”的假设。
判别式算法:品菜师的看家本领
品菜师流派同样高手如云。逻辑回归像一位打分老师:他给每道菜的若干特征分别配一个权重——辣度占 3 分、麻度占 2 分、甜度倒扣 1 分,加权求和后再经过一个“挤压”操作,变成 0 到 1 的概率。这位老师不关心菜怎么做的,只关心分数能不能把川菜和粤菜分开。
逻辑回归的“挤压”函数叫 sigmoid,它像一把漏斗,把任意实数打分压缩到 (0,1) 区间,正好当概率用。支持向量机(SVM)则是另一位讲究的品菜师:他不满足于“差不多分开”,而是要在两个菜系之间找到一条最宽的分隔带,让边界更稳健。决策树则像连珠炮式提问:“辣吗?麻吗?先炸后蒸?”逐条筛选出结论。
以逻辑回归为例:设 X 为特征向量,W 为权重,b 为偏置。线性打分 W·X + b 越大,P(Y=1|X) 越接近 1;打分越小,越接近 0。训练时通过最大似然让“真实标签对应的概率”尽可能大。整个过程只需优化 W 和 b,参数数量与特征维度成正比,训练非常轻量。
品菜师的看家本领就是把“判断”这件事做到极致:不需要会做菜,不需要懂食材原理,只要边界划得好。因此在数据充足、任务单一(只要分类标签)时,判别式模型往往又快又准——这也是它在工业界长期占据主力位置的原因。
- 线性打分 W·X + b品菜师对这道菜给出的原始加权分数。
- 自然指数 e把打分映射到指数尺度,放大分数间的差距。
- 分母 1 + e⁽⁻……⁾sigmod 的挤压过程,无论打分多大或多小,最终都落在 0 与 1 之间。
- 条件概率 P(Y=1|X)输出“这是川菜”的概率,可直接用于分类决策。
性能对比:数据与误差的权衡
一场盲测:数据是两桌菜,一桌只有 30 份样本,另一桌有 3000 份。品菜师(判别式)在 3000 份时表现神勇,大量数据让边界学得清清楚楚;可只有 30 份时,他只能靠经验和猜,容易过拟合。大厨(生成式)在样本少时反而淡定——他脑子里有“菜系一般长什么样”的先验知识,能帮他把缺失的信息补上。
模型的误差可以拆成三块:偏差(Bias)、方差(Variance)和噪声(Noise)。偏差像大厨的固定手艺缺陷——无论做多少次,味道总偏咸一点;方差像大厨发挥的波动——今天咸明天淡;噪声则是食材本身的不确定性,谁也无法消除。判别式模型更灵活、偏差低但方差高;生成式模型加了结构假设,偏差可能高但方差更稳。
数据充足时,判别式直接优化目标,往往逼近甚至超过生成式;数据稀缺时,生成式借助先验分布做“脑补”,鲁棒性更好。此外,生成式要估计高维联合分布,参数多、训练慢;判别式只估计边界,计算开销小得多。选谁取决于你的厨房条件:食材管够,品菜师是性价比之王;食材珍贵,大厨的先验知识就是救命稻草。
- 期望误差 E模型在没见过的新菜上的平均失误率。
- 偏差平方 Bias²系统性偏差,好比大厨手艺本身就偏了。
- 方差 Variance不同训练集上模型的发挥波动程度。
- 噪声 Noise数据本身的随机性,是无法消除的性能下限。
适用场景:任务决定分工
大酒楼里,品菜师和大厨各守一摊:门口接待与菜品品鉴交给品菜师,研发新菜与复刻失传菜谱交给大厨。机器学习也一样,任务要“结论”还是“作品”,决定了两类模型的分工。判别式的主场是“只要一个标签”的任务:垃圾邮件识别、情感分类、点击率预估、图像分类——用户只关心“是/否”或“哪一类”。
生成式的主场则是“要新东西”的任务:图像生成、文本续写、语音合成——它必须掌握数据的完整分布,才能凭空采样出新样本。异常检测也是生成式的拿手好戏:大厨太清楚正常菜长什么样,端上来一盘奇怪的菜,他立刻能察觉异样。在语音识别中,生成式同样有传统优势:声学模型建模 P(音频|文本) 与 P(文本),再用贝叶斯公式组合出最可能的句子。
现代大模型时代,两派常联手作战:生成式负责产数据、产草稿,判别式负责审核、过滤、打分。它们不是敌人,而是搭档。生成式能新建样本的数学表达就是在类别条件下采样。
判断清楚任务后,“造物”交给大厨(生成式),“判物”交给品菜师(判别式)。谁也别越界,效率与效果才会同时拉满。
- 指定类别 c例如“川菜”这个固定标签。
- 条件分布 P(X|Y=c)该类别的完整“味道画像”,生成式模型学到的核心知识。
- 采样符号 ∼从该分布中随机摸出一个新样本,等价于大厨做出一道新菜。
实战选型:从需求到模型
客人点菜时,服务员要给不同人推荐不同菜:赶时间的商务客要快菜,宴请贵宾要招牌硬菜,预算有限的学生要实惠套餐,美食家要创意新菜。模型选型也是同样的“看人下菜碟”,四把尺子依次量。
第一看任务类型:需要输出新样本(写文案、画图、配音)→ 生成式;只需要输出标签(分类、排序)→ 判别式。第二看数据规模:样本充足,判别式省时省力;样本稀缺,生成式的先验结构更能扛。第三看资源约束:算力内存紧张,判别式轻量上线;条件宽裕,生成式大模型能带来更强能力。第四看可解释性:逻辑回归、决策树容易解释、便于审计,在金融风控、医疗场景更受欢迎;生成式大模型能力强但推理成本高、行为难预测,需要配合对齐与审核。
无论选择哪一派,分类决策最终都能统一成同一个贝叶斯最优规则:在所有类别里挑后验概率最大的那个。判别式直接估计后验,生成式通过先验和似然间接计算,两条路径指向同一个决策公式——这正是“范式不同、目标相通”的注脚。
品菜师和大厨的故事讲到这里。记住一句话:品菜师知道“吃了什么”,大厨知道“怎么做的”。下次接到任务,先问自己——你要的是一句鉴定,还是一道新菜?答案会带着你走到正确的模型面前。
- 输入样本 X端上来的一道新菜。
- 候选类别 c川菜、粤菜、湘菜等所有可能的菜系。
- 后验概率 P(c|X)这道菜属于 c 类的概率,判别式直接估计它,生成式通过贝叶斯公式间接算它。
- argmax 决策挑出概率最大的一类,作为最终答案。
AI 应用场景
智能客服:品菜师接单,大厨写回信
阶段:模型选型与任务编排
解决的问题:传统客服靠人工关键词规则,意图判断不准、回复模板生硬。判别式文本分类模型先判断用户意图(退换货?查物流?),生成式大模型再根据意图与上下文生成自然回复。前者快且稳,后者会“说人话”,正好各司其职。
具体案例:某电商平台每天处理 20 万条客服消息。判别式意图模型将“我的快递到哪了”准确分流到物流意图,准确率达 96%;GPT 类生成模型基于工单信息生成拟人化回复,人工介入率下降 45%。
工业质检:生成式知道“正常”长什么样
阶段:异常检测与数据增强
解决的问题:工厂中缺陷样本极少且形态各异,直接训练判别式分类器容易把稀有缺陷当噪声。先用生成式模型(高斯混合模型、VAE)拟合正常产品的分布,离分布太远的样本判为异常;再用生成式合成缺陷样本,扩充判别式模型的训练集。
具体案例:某电子元件产线用高斯混合模型对 10 万张正常外观建模,成功检测出 37 种标注集中从未出现过的缺陷类型,漏检率降低 30%。
AI 内容审核:生成式造草稿,判别式把关
阶段:内容生成与安全审核
解决的问题:大模型生成的内容可能存在违规风险,纯人工审核成本高、速度慢。判别式审核模型对生成结果做“违规/安全”二分类,生成式负责创造性产出。一攻一守,组合出安全可控的 AIGC 系统。
具体案例:某营销公司用生成式大模型批量产出广告文案,线上部署判别式分类器与规则引擎实时拦截敏感词和虚假宣传,内容过审率从 60% 提升至 92%。
Python 演示
import numpy as npfrom sklearn.datasets import make_classificationfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import accuracy_score class GaussianGenerativeModel: """A tiny generative classifier: fits P(y) and P(X|y) as Gaussians.""" def __init__(self): self.means_list = [] self.covs_list = [] self.priors_list = [] self.classes = None def fit(self, X, y): self.classes = np.unique(y) for c in self.classes: Xc = X[y == c] self.means_list.append(Xc.mean(axis=0)) cov = np.cov(Xc.T) + 1e-6 * np.eye(X.shape[1]) self.covs_list.append(cov) self.priors_list.append(len(Xc) / len(X)) self.means_list = np.array(self.means_list) self.priors_list = np.array(self.priors_list) def log_likelihood(self, X): scores = np.zeros((len(self.classes), len(X))) for c in range(len(self.classes)): diff = X - self.means_list[c] inv_cov = np.linalg.inv(self.covs_list[c]) log_det = np.log(np.linalg.det(self.covs_list[c])) scores[c] = (-0.5 * np.sum(diff @ inv_cov * diff, axis=1) - 0.5 * log_det + np.log(self.priors_list[c])) return scores def predict(self, X): return self.classes[np.argmax(self.log_likelihood(X), axis=0)] def sample(self, n, c): idx = list(self.classes).index(c) return np.random.multivariate_normal(self.means_list[idx], self.covs_list[idx], n) def main(): X, y = make_classification(n_samples=500, n_features=6, n_informative=4, n_redundant=1, n_clusters_per_class=1, random_state=42) X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=1) gen_model = GaussianGenerativeModel() gen_model.fit(X_train, y_train) gen_score = accuracy_score(y_test, gen_model.predict(X_test)) dis_model = LogisticRegression(max_iter=1000) dis_model.fit(X_train, y_train) dis_score = accuracy_score(y_test, dis_model.predict(X_test)) print("generative Gaussian classifier :", round(gen_score, 4)) print("discriminative logistic regression:", round(dis_score, 4)) fake = gen_model.sample(3, 0) print("chef invents 3 new samples:\n", np.round(fake, 3)) print("critic cannot invent samples: no P(X) learned") if __name__ == "__main__": main()
make_classification(n_samples=500, ...)生成一份带标签的合成数据,模拟“两桌菜各有若干样本”。for c in self.classes:遍历每个类别(菜系),分别统计均值、协方差与先验,对应大厨记配方。cov = np.cov(Xc.T) + 1e-6 * np.eye(X.shape[1])计算该类样本的协方差矩阵并加微小正则,防止求逆时数值退化。scores[c] = ... + np.log(self.priors_list[c])按“对数似然 + 对数先验”给每类打分,正是贝叶斯公式的分子部分。def predict(self, X): return self.classes[np.argmax(...)]挑得分最高的类别作为预测,对应 argmax 决策规则。def sample(self, n, c):大厨从学到的分布中凭空采出新样本,逻辑回归这样的判别式模型做不到。dis_model = LogisticRegression(max_iter=1000)品菜师直接学条件概率 P(Y|X),只优化决策边界,参数更少。accuracy_score(y_test, ...)用准确率直观对比两派在分类任务上的表现。
常见误区
误区我在网上看到 GPT 能写诗画画,觉得生成式模型是进化版,判别式是老古董。学的时候总觉得生成式一定更准、更强大,选模型无脑选生成式就行。
正解两种范式解决不同的问题。只要分类标签,判别式直接优化 P(Y|X),在数据充足时往往更准更省;生成式要估计完整的 P(X,Y),参数多、训练慢,用它做纯分类常是杀鸡用牛刀。能力强不等于分类准,大厨会做满汉全席,但快餐店里要的是出餐快的品菜师。
为何常见:大模型产品存在感太强,容易让人把“能力全面”等同于“性能更好”,忽略了任务匹配度。
误区逻辑回归能输出 0.8 的概率,SVM 也能做概率校准,那它们应该都算生成式模型吧?
正解能不能输出概率,不是判别式与生成式的分界线。区分标准是是否建模联合概率 P(X,Y)。逻辑回归直接建模 P(Y|X),属于判别式;即便 SVM 做了概率校准,它仍然没有学到输入 X 的分布,无法生成新样本。品菜师尝一口能报出“八成是川菜”,但他依然不知道这道菜怎么做。
为何常见:初学时容易把“输出形式”当成分类依据,而没抓住“建模对象”这个本质。
误区贝叶斯公式算的是后验概率 P(Y|X),朴素贝叶斯用了贝叶斯公式,那它肯定是判别式模型。
正解朴素贝叶斯建模的是 P(X|Y) 和 P(Y),也就是联合概率 P(X,Y),再通过贝叶斯公式反推后验,因此是标准的生成式模型。它“用”贝叶斯公式,不等于“直接建模”后验。打个比方:大厨也查公式,但查公式的目的是先把配方学全,再倒推出结论。
为何常见:名字里有“贝叶斯”,容易被误以为和“贝叶斯判别分析”是同一类,实际后者才是判别式思路。
误区听说生成式能借助先验知识,那我在小数据集上无脑选生成式准没错。
正解生成式的先验优势要在“先验假设符合真实数据”时才能兑现。如果假设(如高斯分布、特征独立)错了,小样本下反而偏差很大;反之,正则化做得好的判别式在小样本上也能表现出色。能不能靠先验“脑补”,取决于大厨脑中的配方是否符合现实,必须实验验证。
为何常见:把课本里的定性结论当成无条件真理,忽略了假设前提。
误区GAN 里有个判别器,所以我以为 GAN 属于判别式;VAE 用编码器解码器,看不懂它算什么流派。
正解GAN 的核心是生成器建模数据的生成过程,判别器只是辅助训练的“裁判”;VAE 用隐变量建模联合分布,两者都属于生成式家族。判断标准是“模型最终能不能产出新样本”,而不是“名字里带不带判别”。裁判再厉害,也不能说他就是做菜的人。
为何常见:被 GAN 的名字和双网络结构迷惑,忘了看建模目标和输出能力。
面试题
Q1. 生成式模型与判别式模型最本质的区别是什么?
- A.能否输出分类概率
- B.是否建模联合概率← 正确答案
- C.是否使用神经网络
- D.是否需要大量数据
答案:B。判别式直接建模条件概率 P(Y|X),生成式建模联合概率 P(X,Y)。能否输出概率(逻辑回归能输出 0.8)与是否用神经网络都不是分界线;是否建模联合概率才是本质,就像“会不会做菜”才是区分大厨与品菜师的关键。
Q2. 以下哪个模型属于判别式模型?
- A.朴素贝叶斯分类器
- B.高斯混合模型 GMM
- C.支持向量机 SVM← 正确答案
- D.隐马尔可夫模型 HMM
答案:C。SVM 直接寻找分类边界,属于判别式。朴素贝叶斯建模联合概率,高斯混合模型与隐马尔可夫模型都在建模数据的生成分布,均属生成式家族。记住“能不能造新样本”即可快速判断。
Q3. 朴素贝叶斯中的“朴素”指的是什么?
- A.假设特征之间相互独立← 正确答案
- B.假设样本之间相互独立
- C.假设标签服从高斯分布
- D.假设数据不需要预处理
答案:A。“朴素”体现在特征条件独立假设:大厨认为花椒用量和辣椒用量互不影响,于是可以把每个特征单独拿出来相乘。这个假设简化了计算,但也可能偏离真实,是一种“以简换快”的取舍。
Q4. 生成式模型通过哪条路径获得分类结果?
- A.直接拟合决策边界的函数
- B.用贝叶斯公式换算后验概率← 正确答案
- C.用神经网络逼近条件概率
- D.特征加权求和后再做阈值
答案:B。生成式先学 P(X|Y) 与 P(Y),再通过贝叶斯定理换算出 P(Y|X)。A 与 D 是判别式的典型操作(如逻辑回归、SVM),C 也可以用于判别式。只有 B 描述了大厨“先记配方、再倒推结论”的完整路径。
Q5. 数据量充足时,判别式模型通常更占优势的原因是?
- A.直接优化分类用途的目标函数← 正确答案
- B.不需要调整任何超参数
- C.训练所需的数据量必须更少
- D.能够自动生成新的训练数据
答案:A。判别式直接针对分类目标(如条件似然、间隔最大化)优化,数据充足时边界学得更准、更省算力。它同样需要调超参,训练数据少反而容易过拟合,且无法生成新数据——品菜师只在数据量大时最风光。
Q6. 逻辑回归输出分类概率时使用的函数是?
- A.线性整流函数 ReLU
- B.S 型压缩函数 sigmoid← 正确答案
- C.双曲正切函数 tanh
- D.归一化指数函数 softmax
答案:B。逻辑回归用 sigmoid 将线性打分压缩到 (0,1) 区间作为概率;ReLU 是激活函数不输出概率;tanh 输出区间是 (-1,1);softmax 用于多分类归一化。sigmoid 就像品菜师的“漏斗”,把辣度打分变成“是川菜”的把握。
Q7. 在特征缺失或含噪的数据上,生成式模型往往表现更好的原因是?
- A.利用联合分布做概率补全← 正确答案
- B.将缺失值直接置零处理
- C.参数量远比判别式更小
- D.不需要训练即可预测结果
答案:A。生成式学到了完整的 P(X,Y),缺失特征时可以通过其他特征与标签的关系做概率推断补全,就像大厨凭配方知识脑补出少了哪味料。B 是粗暴处理方式,C 说法错误(生成式参数通常更多),D 不可能成立。
Q8. 以下关于生成式与判别式训练目标的说法,正确的是?
- A.生成式最大化联合对数似然← 正确答案
- B.判别式最大化数据的全概率
- C.生成式只优化决策边界间隔
- D.判别式学习输入的边缘分布
答案:A。生成式的训练目标是让联合对数似然 log P(X,Y) 最大,即“整盘菜与菜系一起出现的概率”最大;判别式优化的是条件概率或边界间隔,B 与 D 描述的都是生成式才关心的事。抓住训练目标就能分清两派。
Q9. 以下哪些属于生成式模型的代表算法?
- A.朴素贝叶斯算法← 正确答案
- B.GPT 语言模型← 正确答案
- C.逻辑回归算法
- D.高斯混合模型← 正确答案
答案:ABD。朴素贝叶斯建模 P(X|Y) 与 P(Y),GPT 建模文本序列的联合分布,高斯混合模型建模数据的混合分布,三者都能生成新样本,同属生成式。逻辑回归只建模条件概率,是判别式代表。
Q10. 关于生成式与判别式模型的对比,以下说法正确的有哪些?
- A.生成式可以生成新样本← 正确答案
- B.判别式直接建模条件概率← 正确答案
- C.判别式计算开销通常更小← 正确答案
- D.生成式在分类上永远更准
答案:ABC。生成式掌握联合分布所以能采样新样本;判别式直接学 P(Y|X);判别式只估计边界、参数少,通常计算开销更小。D 是常见误解——纯分类任务上判别式往往更准,“永远更准”显然是错的。没有万能的模型,只有合适的任务。