上下文相关音素-决策树聚类
来源:互联网 发布:怎么写软件程序 编辑:程序博客网 时间:2024/05/03 00:37
上一篇主要讲了triphone 状态绑定的过程,本文主要讲triphone的决策树聚类过程。
基于data-driven的聚类算法,如KNN,有个缺点,就是无法处理训练数据中没有出现过的triphone,基于决策树的聚类可以解决这个问题。
基于决策树的聚类过程中,把任意一个phone分裂成2类,其log 似然必然会增加,因为分裂后同样的个数的数据,其参数增加一倍,因此,选择不同的question对phone集合进行分裂,使得分裂后的log 似然增加最大。具体描述如下:
1)初始所有的状态都在一个类别中,作为tree的root节点;
2)找到一个question,使得分裂后的2个类别的log 似然增加最大,把当前的question作为当前tree节点的问题;
3)从上到家重复这个过程,直到分裂后,增加的log 似然小于某个给定的阈值;
4)最后,对不同父亲节点的两个叶子节点的类别成一个类,计算其减少的log 似然是否小于给定的阈值,如果小于这个阈值,则合并,否则不合并。
其中log似然计算公式如下:s表示HMM中的状态,F代表训练数据中的帧,γ代表占用数(state occupation counts)
实际中通过monophone训练triphone的过程综合了状态绑定和决策树聚类的过程,核心步骤如下所示:
1)用flat-start方式创建 monophone集合,每个状态的输出概率密度函数为单高斯概率密度,均值,方差为训练数据的全局均值和方差;
2)用EM算法迭代3-4次,对高斯参数重新进行估计;
3)对train data中出现的所有x-q+y音素,拷贝monophone q的状态的参数给triphone x-q+y,这样创建了上下文相关音素x-q+y,这步也是对triphone进行初始化的过程
4) 对这些triphone,用EM算法再次迭代,来高斯参数重新进行,同时状态j的占用数(state occupation counts)γ被计算出来
5) 把这些trephine用上述介绍的决策树聚类算法进行聚类。
6)最后对每个类增加高斯混合模型的component,并用EM重新估算高斯参数,直到节点个数到达给定的阈值。
以上就完成了monophone生成triphone的过程。
谢谢。
- 上下文相关音素-决策树聚类
- 上下文相关音素-状态绑定
- 决策树的相关概念
- 决策树相关知识小结
- 决策树相关问题
- 决策树相关算法理解
- 决策树相关知识点
- 音素、音节
- android context 上下文相关
- HTK之决策树聚类
- 上下文相关的组件模型
- Hibernate 上下文相关的会话
- 语音识别common1(音素,三音素)
- 英语音标 什么是音素
- 决策树与随机森林相关概念
- 决策树算法(一)-相关概念
- 6.8.3:上下文相关的Session
- hibernate 上下文相关的(Contextual)Session
- HDU:1031 Design T-Shirt
- MySQL修改表结构的方法
- JS递归调用定位ListView应该定位的项
- nodejs function定义
- Struts2爆高危漏洞 多行业成漏洞重灾区
- 上下文相关音素-决策树聚类
- ETL(二)
- $@与${1+$@}的区别
- Apache Struts2 远程代码执行漏洞(S2-045)技术分析与防护方案
- 小明的烦恼
- SPOJ-ESYRCRTN Why Always Recursion
- 多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法)
- spark 自定义partitioner
- Struts 2 S2-045 Jakarta插件远程代码执行漏洞加固方法