今天我们来谈谈主题模型(Latent Dirichlet Allocation),由于主题模型是生成模型,而我们常用的决策树,支持向量机,CNN等常用的机器学习模型的都是判别模型。所以笔者首先简单介绍一下判别模型和生成模型。下面笔者列出了生成模型和判别模型的核心区别:
- 判别模型:估计的是条件概率分布(conditional distribution)—— 作为预测模型。
- 生成模型:估计的是联合概率分布(joint probability distribution)—— ,然后根据贝叶斯公式 求出条件概率分布 作为预测模型
简单的说:
-
判别模型只需要学习特征x,从而就可以去预测类别y。做预测时是判断新数据属于哪个类别的概率最大,进而确定新数据的类别,判别模型寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。
-
而生成模型学得是各个类别y,和各自的特征x(即可看成学得多个模型),做预测时是判断新数据和已知类别中的哪个最为接近,进而确定新数据的类别,生成模型能够反映同类数据本身的相似度。
由于生产模型学习的是特征x和类别y的联合分布,所以相较于判别模