5-基于决策树的状态绑定
来源:互联网 发布:ipad软件商店不动 编辑:程序博客网 时间:2024/06/08 17:50
本文会讨论关于context-dependent model的优化——基于决策树的状态绑定(Tree-based state tying)。
Outline:
- Context-dependent model
- Tree-based state tying
1. Context-dependent model
在《GMM-HMMs语音识别系统》中,默认的建模单元是单音素(Monophone),属于context-independent model。然而音素的实际发音和它的上下文相关,例如:/n/, ten中属于齿音,tenth中属于齿槽音。再比如:
所以Monophone是一种不精确地模型,无法对上下文(context)进行建模。如何对上下文进行建模呢?通常采用三音素模型(Triphones)来对上下文精确建模,具体就是根据当前音素的左、右音素信息对此音素进行区别性对待,如一个音素被表示为l-x-r的形式,即为一个triphone。
考虑一个含有40个phone识别系统,也就有403=64,000个triphones,在cross-word系统可能有50,000个出现。50,000个HMM(三状态),1状态含有10个Gaussian,总共有1.5M个Gaussian。对于39维的特征矢量,假设采用对角高斯形式(diagonal Gaussian),也差不错每个状态有790个参数,总共有118百万个参数。在训练这些参数时,是会出现数据稀疏性问题的。
2. Tree-based state tying
因为数据sparsity问题:triphone的types(型)远多于triphone的tokens(例)。这时常用方法有参数共享,如高斯共享(tied mixtures),状态共享(state clustering),模型共享(generalized triphones),和一些平滑化方法(smoothing)。下面主要讨论一下Tree-based state tying。基于决策树的状态绑定,就是利用决策树,对triphone的HMM状态进行clustering,解决数据sparsity;同时决策树也能很好地解决unseen triphones。
2.1 state tying
这部分目的是为了利用“充分的数据”来robustly估算出状态输出密度参数,同时又能很好的区分phone的类别。处理过程如下:
初始化一个3 states left-right monophone HMM,同时single Gaussian作为输出概率分布函数。
将step 1中的monophone 克隆为triphone。A转移矩阵不复制。(之后进行Baum-Welch训练)
训练好后, triphone相对应的状态进行聚类,并选择tied-state作为表示聚类的状态
增加高斯混合成分(高斯数),重估模型。直到性能上满足测试集的要求,或者高斯数达到预设值。
(这里你可能会有两个疑问:怎么进行聚类?怎么增加高斯数?下面给出解决方案)
2.2 tree-based clustering
上一部分中,step 3是通过决策树来进行状态聚类。所有的状态共享一个根节点,通过question来分离状态池,最终树叶上留下的是结果状态的聚类。首先question从预先定义的questions set中的挑选,question选择的原则是最大化信息熵(entropy)。迭代直至entropy增量小于预先设定的阈值threshold,或者node下的数据小于阈值。
信息熵:
其中
当PDFs是Gaussian时,
如果
2.3 Mixing up
对于如何将单高斯转化为混合高斯?可以通过克隆,和稍微地以标准差微调均值;然后重复分解最主要混合高斯成分(highest state occupation count)。
- 5-基于决策树的状态绑定
- 高准确率声学模型基于决策树的状态聚类
- Kaldi决策树状态绑定学习笔记
- 基于决策树的模型
- 基于决策树的分类
- Kaldi决策树状态绑定学习笔记(三)
- Kaldi决策树状态绑定学习笔记(四)
- Kaldi决策树状态绑定学习笔记(二)
- Kaldi决策树状态绑定学习笔记(一)
- 基于sklearn的决策树python3
- 基于R的C4.5决策树的建立
- 【JAVA实现】基于决策树的ID3算法
- 基于香农熵的决策树算法
- 【数据挖掘】基于决策树的分类
- 基于信息增益的决策树归纳的Python实现【CD4.5算法】
- 基于数据源的数据绑定
- 基于数据源的数据绑定
- 《机器学习实战》基于信息论的三种决策树算法(ID3,C4.5,CART)
- webview 去掉电话,网址的跳转效果
- 453. Minimum Moves to Equal Array Elements的C++解法
- 自定义View 之 EditText
- Http协议---Hyper Text Transfer Protocol
- 从省市级联到linq的JavaScript
- 5-基于决策树的状态绑定
- eclipse debug详解
- 安卓5.1源码解析 : ListView解析 从绘制,刷新机制到Item的回收机制全面讲解
- java中的bcd转换
- linux c编程之Makefile使用
- 4.20+Linux+多线程
- allegro strock命令
- CtenOS换源
- 做直播项目中导入IJKPlayer时报错的一些解决方案: Showing Recent Messages "operator delete(void*)", referenced from: