多数机器学习应用的目标是在给定一个输入特征的向量 x⃗ 下,预测一个向量c⃗ 。在分类问题上,c⃗ 代表一个离散的类别标签;然而在回归问题上,c⃗ 表示一个或者多个连续变量。从概率的角度,我们的目标是找到条件分p(c⃗ |x⃗ )。这个问题的大多数常用的解决方法是通过一个参数模型描述这个条件分布,然后使用一个包含输入向量和目标输出向量的键值对{xn,cn}的训练集来确定参数。当给定一个新值x时,条件分布的结果就可以作为c的预测值。这就称为一个判别方法,因为条件分布可以直接判别两个不同c的值中的一个。
另一种可以替代的方法是,为了对一个新值x作出预测,可以通过找到联合分布来p(x,c)表示一个参数模型的实例,然后使用联合分布来估计条件分布p(c|x)。这就被称为生成方法,因为通过从联合分布采样,生成特征向量x的人工合成的例子是可能的。在实践中,发现生成模型的的泛化能力比判别模型差,这是由于数据的模型和真实分布之间的差异。
因为它们提供优秀的泛化能力,判别技术广泛地应用在标记的训练数据很丰富的情况下。然而不管怎么样,尽管数据集很简单,但是标记数据集的代价可能是很昂贵的。又因为生成模型,除了标记的数据外,还能够应用到无标记的数据中。这就为什么大大增加了人们在生成方法上的兴趣。
总之,判别模型是不能够充分利用无标记的数据。也是进行无监督学习。所以说大部分的判别模型应用在分类、回归等有监督学习上。但很难扩展到无监督学习的复杂模型中。
生成or判别?
最新推荐文章于 2025-08-18 20:35:45 发布