机器学习模型可以分为判别模型和生成模型。简而言之,判别模型基于条件概率进行预测,用于分类或回归。另一方面,生成模型围绕数据集的分布来返回给定示例的概率。
判别模型特别用于监督机器学习。也称为条件模型,它学习数据集中类或标签之间的边界
。判别模型的最终目标是将一类与另一类分开,它们无法生成新的数据点。
在数学中,
训练分类器涉及估计 f:X -> Y,或 P(Y|X)
判别分类器
a. 假设P(Y|X)的某种函数形式, 该函数的输入是X,输出是Y
b. 直接从训练数据估计P(Y|X)的参数
逻辑回归:它是最流行的机器学习算法之一。逻辑回归是统计学中的一种数学模型,它使用以前的数据来估计事件的概率。输出是分类值或离散值。原则上,逻辑回归类似于线性回归。但是,它们之间存在细微差别。虽然线性回归用于回归问题,但逻辑回归用于分类问题。
支持向量机:它是一种用于分类和回归问题的监督学习算法。一种判别建模,支持向量机 (SVM) 创建决策边界以将 n 维空间划分为类。最佳决策边界称为通过选择称为支持向量的极值点创建的超平面。
决策树:一种监督机器学习模型,其中数据根据某些参数不断拆分。它有两个主要实体——决策节点和叶子。虽然叶子是最终结果或决策,但节点是数据分割的点。
随机森林:它是一种灵活且易于使用的机器学习算法,即使不使用超参数调整也能提供出色的结果。由于其简单性和多样性,它是分类和回归任务中最常用的算法之一。
至于为什么这些模型满足判别式模型的性质,需要我们详细去了解每个模型的原理(这里省略,可自行搜索机器学习专栏或其他参考资料)
生成模型是对生成新数据实例进行建模的一类统计模型,它学习目前的的样本分布(即学习某个样本生成的概率)。给定特征X和标签Y,生成模型需学习概率P(X,Y),也就是说它希望知道任何一个给定的样本点(X,Y),它的概率是什么?由于这涉及到了数据的分布(数据生成的本质属性),或许这就是被称为生成模型的原因吧。通常生成模型依靠贝叶斯定理来找到联合概率P(X,Y), 如下所示
在数学中,
训练分类器涉及估计 f:X -> Y,或 P(Y|X)
生成分类器需要做的是:
1.假设P(Y), P(X|Y)的某种函数形式
2. 直接从训练数据估计P(X|Y)、P(Y)的参数,得知这两个其实就知道了联合概率P(X,Y)
3. 使用贝叶斯规则计算P(Y |X) (这是对P(X,Y)联合建模后为了分类而进行的求解步骤)
潜在狄利克雷分配(LDA):它是一种生成概率模型,具有离散数据的集合,每个数据都被建模为有限混合。LDA 的一些常见应用是协同过滤和基于内容的图像检索。
贝叶斯网络:也称为贝叶斯网络,它是一种生成概率图形模型,可有效表示一组随机变量上的联合概率分布。
隐马尔可夫模型:它是一种统计模型,以其在相邻符号、事件或域之间的相关性建模方面的有效性而闻名,在语音识别和数字通信中找到了主要应用。
自回归模型:AR 模型根据过去的值预测未来值。这种模型擅长处理范围广泛的时间序列模式。
生成对抗网络: GANs最近广受欢迎。GAN 模型有两个部分——生成器和判别器。生成模型捕获数据分布,判别模型估计样本来自训练数据而不是生成模型的概率。
判别模型在数据空间中绘制边界,而生成模型则模拟数据在整个空间中的分布。从数学上讲,判别式机器学习通过学习最大化条件概率 P(Y|X) 的参数来训练模型,但生成模型通过最大化联合概率 P(X,Y) 来学习参数。
由于它们的机器学习方法不同,两者都适用于特定任务。生成模型对于无监督学习任务很有用,而判别模型对于监督学习任务更有效。
故事:
一位父亲有两个孩子,孩子 A 和孩子 B。孩子 A 有一个特殊的性格,但他可以深入学习一切。孩子 B 有一个特殊的性格,而他只能学习他所看到的差异。
一天晴朗,父亲带着他的两个孩子(孩子 A 和孩子 B)去动物园。这个动物园很小,只有狮子和大象两种动物。从动物园出来后,父亲给他们看一只动物,问他们俩:“这只动物是狮子还是大象?”
孩子A,孩子突然根据在动物园里看到的东西,在一张纸上画出了狮子和大象的形象(生成
)。他将这两个图像与前面站立的动物进行比较,并根据图像和动物最接近的匹配来回答(贝叶斯公式进行分类
),他回答:“动物是狮子”。
Kid B 只知道区别,根据所学的不同特性,他回答:“动物是狮子”。
在这里,我们可以看到他们都在寻找动物的种类,但是学习的方式和寻找答案的方式是完全不同的。在机器学习中,我们通常将 Kid A 称为生成模型,将 Kid B 称为判别模型。
一般来说,判别模型对类之间的决策边界进行建模。生成模型明确地模拟每个类的实际分布。最后,他们都在预测条件概率 P(Animal | Features)。但是两种模型都学习了不同的概率。
生成模型学习联合概率分布 p(x,y)。它借助贝叶斯定理预测条件概率。判别模型学习条件概率分布 p(y|x)。这两种模型通常都用于监督学习问题。
(1)https://medium.com/@mlengineer/generative-and-discriminative-models-af5637a66a3
(2)https://analyticsindiamag.com/what-are-discriminative-generative-models-how-do-they-differ/