生成模型与判别模型

来源:互联网 发布:张予曦开的淘宝店 编辑:程序博客网 时间:2024/06/08 14:04

生成模型与判别模型

假设有观察值序列Y=Y1,Y2,…,Yn,其对应的状态序列X=X1,X2,…,Xn,则实际上就是求出状态序列X∗,使得条件概率p(X1,X2,…,Xn|Y1,Y2,…,Yn) 最大化,即
X∗=argmaxp(X1,X2,…,Xn|Y1,Y2,…,Yn)
生成模型

生成模型(Generative Models)不直接对p(X1,X2,…,Xn|Y1,Y2,…,Yn)进行建模,而是先对其进行变换,构造联合概率分布p(X1,X2,…,Xn,Y1,Y2,…,Yn),即
p(X1,X2,…,Xn|Y1,Y2,…,Yn)=p(X1,X2,…,Xn,Y1,Y2,…,Yn)/p(Y1,Y2,…,Yn)=p(X1,X2,…,Xn|Y1,Y2,…,Yn)∗p(X1,X2,…,Xn)/p(Y1,Y2,…,Yn)

在给定观察值序列的前提下,其出现的概率是一定的。所以,

X∗=argmaxp(X1,X2,…,Xn|Y1,Y2,…,Yn)就可通过
X∗=argmaxp(X1,X2,…,Xn|Y1,Y2,…,Yn)=argmaxp(Y1,Y2,…,Yn|X1,X2,…,Xn)∗p(X1,X2,…,Xn)
生成模型认为观察值是由状态生成的。由生成模型的定义可知,隐马尔科夫模型是一种典型的生成模型。

判别模型

判别模型(Discriminative Models)客服了生成模型的对立性假设、其直接对条件概率p(X1,X2,…,Xn|Y1,Y2,…,Yn)进行建模,也就是说,在给定的观察序列条件下,寻找最可能的状态序列的时候,条件分布可以直接使用。
常用的判别模型有最大熵模型MEM,条件随机场模型CRF等。

生成模型与判别模型对比

1.统计建模方式不同。生成模型构建联合分布,而判别模型构建条件分布。
2.训练时二者的优化准则不同。生成模型优化训练数据的联合分布概率,而判别模型优化训练数据的条件分布概率,判别模型与序列标记问题有较好的对应性。
3.对于观察序列的处理不同。生成模型中,观察序列作为模型的一部分;判别模型中,观察序列只作为条件,因此可以针对观察序列设计灵活的特征。
4.训练复杂度不同,判别模型训练复杂度较高。
5.是否支持无监督训练,生成模型支持无监督训练。
6.生成模型假设观察值之间有严格的独立性,认为观察值是由状态生成的。不能融合各种特征和表达长距离的依赖关系;而判别模型认为观察值(特征)决定,克服了生成模型的严格独立性假设,可以融合各种特征到模型中去。

0 0
原创粉丝点击