生成式方法是一类机器学习方法,其目标是对数据的生成过程建模,学习数据的概率分布,并能够生成与原始数据相似的新样本。生成式方法与判别式方法不同,它不仅关心样本的类别,还学习样本的特征分布。
核心思想
生成式模型的基本目标是估计数据分布 p(x),或条件分布 p(x|y)。通过这个分布,我们可以:
- 生成新样本:从学习到的分布中采样,生成类似的样本。
- 分类:通过 p(y|x) 使用贝叶斯法则进行推断。
生成式方法通常采用显式或隐式方式建模数据分布。
生成式方法的分类
1. 显式模型(Explicit Models)
显式地定义概率分布 p(x),并通过参数估计或最大化对数似然训练模型。
-
参数化显式模型:假设数据分布属于某种形式(如高斯分布)。
- 高斯混合模型(GMM)
- 隐马尔可夫模型(HMM)
-
非参数化显式模型:通过复杂函数近似分布。
- 自回归模型(Autoregressive Models)
- 正交投影模型(Flow-based Models)
2. 隐式模型(Implicit Models)
直接学习数据生成过程,而不显式定义p(x)。
- 生成对抗网络(GANs)
- 变分自编码器(VAEs)
- 扩散模型(Diffusion Models)
典型生成式方法
1. 生成对抗网络(GANs)
GANs 由生成器(Generator)和判别器(Discriminator)组成,二者互相博弈。
- 生成器:从随机噪声中生成假样本。
- 判别器:判断样本是真实的还是生成的。
- 目标:生成器尽可能欺骗判别器,判别器尽可能区分真假样本。
GAN的目标函数为:
<