在SO中,我找到了以下对生成和判别算法的解释:
“生成算法模拟数据是如何生成的,以便对信号进行分类。它提出了一个问题:根据我的生成假设,哪个类别最有可能生成这个信号?
判别算法不关心数据是如何生成的,它只是对给定的信号进行分类。”
这是参数和非参数算法的定义
“参数:数据是从特定形式的概率分布中提取的,直到未知参数。非参数:数据是从某个未指定的概率分布中提取的。”
所以本质上我们可以说生成和参数算法假设基础模型,而判别和非参数算法不假设任何模型吗?
谢谢。
假设您有输入 X(可能是向量)和输出 Y(可能是单变量)。你的目标是在给定 X 的情况下预测 Y。
生成方法使用联合概率 p(X,Y) 的模型来确定 P(Y|X)。因此,可以给定一个具有已知参数的生成模型,从分布 p(X,Y) 中联合采样,以生成输入 X 和输出 Y 的新样本(注意它们是根据假设的而不是真实的分布进行分布的,如果你做这个)。将此与仅具有 p(Y|X) 形式的模型的判别方法进行对比。因此,提供输入 X,他们可以对 Y 进行采样;但是,他们不能采样新的 X。
两者都假设一个模型。然而,判别式方法仅假设 Y 如何依赖于 X 而不是 X 的模型。生成式方法对两者都进行建模。因此,给定固定数量的参数,您可能会争辩(很多人都认为),使用它们来建模您关心的东西 p(Y|X) 比 X 的分布更容易,因为您将始终获得你想知道 Y 的 X。
有用的参考资料: Tom Minka 的这篇(非常短的)论文。这篇由 Andrew Ng 和 Michael Jordan 撰写的开创性论文。
除非您有更多的统计经验,否则参数模型和非参数模型之间的区别可能会更难掌握。无论观察到多少数据点,参数模型都具有固定且有限数量的参数。大多数概率分布是参数化的:考虑一个变量 z,它是人的身高,假设为正态分布。随着您观察更多人,您对参数 \mu 和 \sigma(z 的均值和标准差)的估计会变得更加准确,但您仍然只有两个参数。
相反,非参数模型中的参数数量会随着数据量的增加而增长。考虑一个在人们身高上的诱导分布,它在每个观察到的样本上放置一个正态分布,平均值由测量值和固定标准偏差给出。然后,新高度上的边际分布是正态分布的混合,并且混合成分的数量随着每个新数据点的增加而增加。这是一个人身高的非参数模型。这个特定的例子称为核密度估计器。流行的(但更复杂的)非参数模型包括回归的高斯过程和狄利克雷过程。
可以在此处找到关于非参数的非常好的教程,它将中餐厅流程构建为有限混合模型的极限。
我不认为你可以说出来。例如,线性回归是一种判别算法 - 您对 P(Y|X) 做出假设,然后直接从数据中估计参数,而不像您所做的那样对 P(X) 或 P(X|Y) 做出任何假设在生成模型的情况下。但同时,基于线性回归的推断,包括参数的属性,是一种参数估计,因为有一个关于未观察到的错误行为的假设。
这里我只谈论参数/非参数。生成/判别是一个单独的概念。
非参数模型意味着您不对数据的分布做出任何假设。例如,在现实世界中,数据不会 100% 遵循高斯、贝塔、泊松、威布尔等理论分布。这些分布是为我们对数据建模的需要而开发的。
另一方面,参数模型试图使用参数来完全解释我们的数据。在实践中,这种方式是首选,因为它更容易定义模型在不同情况下的行为方式(例如,我们已经知道模型的导数/梯度,当我们在泊松中将速率设置得太高/太低时会发生什么, ETC。)