在有些文章里面常常会提到生成模型(Generative model)和判别模型(Discriminative model)。那么这两种模型到底有什么区别呢?
举个简单的例子,对于下面的一组数据。
对于图中给定的四个位置的数据可以清楚的看出两者的概率存在一定的差异。对于上面的p(x,y)其实是求得对于一个新输入的x,计算分别属于四个位置的概率,运用这种想法的模型是生成模型。对于下面的p(x|y)其实是求对于一个新的输入x,计算他属于两类y中的哪一种的概率,运用这种思想的模型是判别模型。
说的直接了当一点就是,对于判别模型而言:假设y有n类,我们去找测试数据y属于某一个的概率,再找测试数据属于其他类别的概率。最后哪个大就把测试数据分给那个类 。
对于生成模型而言:我们要找y属于x的概率,再乘以x出现在这个位置的几率。
所以说白了,生成模型就是比判别模型多乘了一个x出现在某个位置上的几率。