Tree-Based State Tying for High Accuracy Modelling 公式理解
该论文主要是语音识别用决策树对三音素的HMM状态进行聚类。 这里主要是对其公式进行详细的理解。
这篇博客主要是对其公式的理解
【和同学讨论后发现自己理解有问题,原因就是这里的那个occupation counts(γ<script type="math/tex" id="MathJax-Element-20">\gamma</script>)是个概率,而且这个概率还是之前HMM中估计参数的时候用的那个】
以下内容有误还未修改,不建议看继续看
前情提要
该论文主要是语音识别用决策树对三音素的HMM状态进行聚类。
其实就是决策树的一种分裂时选择问题的方式。我们一般用信息增益,信息增益比,基尼指数,方差,但这里用的是对观测特征的似然。
先给出论文中的公式
L(S)=∑f∈F∑s∈Slog(Pr(of;μ(S),∑(S)))γs(of)(1)<script type="math/tex" id="MathJax-Element-21">L(S)=\sum_{f\in F}\sum_{s\in S}log(Pr(o_f;\mu(S),\sum(S)))\gamma_s(o_f)\quad(1)</script>
[嗯,然后论文中竟然还少了一个括号,再加上写的这么复杂,刚开始我都不知道那个少的括号补在哪里]
L(S)=−12(log[(2π)n|∑(S)|]+n)∑s∈S∑f∈Fγs(oF)(2)<script type="math/tex" id="MathJax-Element-22">L(S)=-\frac{1}{2}(log[(2\pi)^n|\sum(S)|]+n)\sum_{s\in S}\sum_{f\in F}\gamma_s(o_F)\quad(2)</script>
自己理解下的推导
用似然作为标准其实就是希望对于训练数据的所有观测帧集合O似然增大,即
argmaxSy,snL(F|Sy)+L(F|Sn)−L(S)<script type="math/tex" id="MathJax-Element-23">argmax_{S_y,s_n} L(F|S_y)+L(F|S_n)-L(S)</script>
其中Sy,Sn<script type="math/tex" id="MathJax-Element-24">S_y,S_n</script>组成集合S,S和论文的含义一样是聚在树种某个node中的三音素状态集合
论文中所求的L(S)其实是L(F|S),其最直观的表示如下
其中FinS<script type="math/tex" id="MathJax-Element-7">F_{inS}</script>表示在F中出现在S中的of<script type="math/tex" id="MathJax-Element-8">o_f</script>组成的集合
论文中貌似为了想统一用F表示,于是写成了如下
这个式子就和论文中的公式(1)是一致的。
设A=∑Ssp(s|of)<script type="math/tex" id="MathJax-Element-10">A=\sum_s^Sp(s|o_f)</script>,其实若f在S中A=1否则A=0。也可以把of<script type="math/tex" id="MathJax-Element-11">o_f</script>理解为唯一的数据,因此p(s|o_f)就是个0,1二值数。
上式中p(s|of)<script type="math/tex" id="MathJax-Element-12">p(s|o_f)</script>就是论文所说的那个后验γs(of)<script type="math/tex" id="MathJax-Element-13">\gamma_s(o_f)</script>,而
|FinS|=∑f∈F∑s∈Sp(s|oF)<script type="math/tex" id="MathJax-Element-14">|F_{inS}|=\sum_{f\in F}\sum_{s\in S}p(s|o_F)</script>
至此完成了一个第一个阶段
将n元高斯公式
P(x|N(μ,∑))=1(2π)d2|∑|12exp(−12(x−μ)T∑−1(x−μ))<script type="math/tex" id="MathJax-Element-15">P(x|N(\mu,\sum))=\frac{1}{(2\pi)^{\frac{d}{2}}|\sum|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\sum^{-1}(x-\mu))</script>
带入就可得到论文中的公式(2),或者是我写的形式
最难理解的当属那个n了,其实要记住μ,∑<script type="math/tex" id="MathJax-Element-17">\mu,\sum</script>都是由集合FinS<script type="math/tex" id="MathJax-Element-18">F_{inS}</script>中的数据训练得到的,于是
n⋅|FinS|=∑FinSf(of−μ)T∑−1(of−μ)<script type="math/tex" id="MathJax-Element-19">n\cdot|F_{inS}|=\sum_f^{F_{inS}}(o_f-\mu)^T\sum^{-1}(o_f-\mu)</script>
不知为什么CSDN打出的公式带有竖线。
更多推荐



所有评论(0)