生成,判别和参数,非参数算法/模型的区别

Zah*_*san 1 modeling generative machine-learning

SO中我发现了生成和辨别算法的以下解释:

"生成算法模拟数据是如何生成的,以便对信号进行分类.它提出了一个问题:基于我的世代假设,哪个类别最有可能产生这种信号?

判别算法不关心数据是如何生成的,它只是对给定信号进行分类."

这里是参数和非参数的算法定义

"参数:数据是从特定形式的概率分布到未知参数的.非参数:数据来自某个未指定的概率分布."

所以我们可以说生成和参数算法假设基础模型,而区分和非参数算法不假设任何模型?

谢谢.

Ben*_*son 8

假设您有输入X(可能是矢量)和输出Y(可能是单变量).你的目标是预测Y给出X.

生成方法使用联合概率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的平均值和标准偏差变得更准确,但您仍然只有两个参数.

相反,非参数模型中的参数数量可以随着数据量而增长.考虑在人们的高度上的诱导分布,其在每个观察到的样本上放置正态分布,其中平均值由测量值和固定的标准偏差给出.然后,新高度上的边际分布是正态分布的混合,并且混合分量的数量随着每个新数据点而增加.这是一个人的身高的非参数模型.该具体示例称为核密度估计器.流行(但更复杂)的非参数模型包括用于回归的高斯过程和Dirichlet过程.

可以在这里找到关于非参数的非常好的教程,它将中餐厅过程构建为有限混合模型的极限.