生成模型与判别模型

生成模型与判别模型

假设有观察值序列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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值