四面楚歌的故事,Intel还能重回巅峰吗

Intel:很多人关于摩尔定律和节点命名的观点都是错误的
来源:内容来自英特尔 , 谢谢。
编者按:这些年来围绕着摩尔定律将亡的讨论频频见于报端,关于Intel在晶圆厂
上落后于其他对手的说法也屡见不鲜。Intel今天终于对这两个看法来了一个深入的评价。以下为原文:
最近以来,我们耳闻了关于摩尔定律的许多讨论。不幸的是,其中大部分观点是错误的。有人说,摩尔定律不再重要了,并认为它纯粹是一个技术问题,或者只是几家巨头间的竞赛。还有人说,除了某几个特定领域,遵循摩尔定律已让
太过高昂。更有人说,摩尔定律已死。真相究竟是什么?让我们来厘清事实。
首先,摩尔定律至关重要。
摩尔定律使计算得以普及。它是一个非常强大的经济学定律:按照特定节奏推动半导体
能力的进步,我们就可以降低任何依赖于计算的商业模式的
。想象一下,如果其它行业以摩尔定律的速度进行创新——性能每两年翻一番,那会发生什么?汽车能效:现在只需一加仑汽油,即可行驶相当于地球和太阳之间的距离;农业
力:现在只用一平方公里土地,即可养活全部地球人;太空旅行:速度现在可以提升至300倍光速。
归根结底,这些经济效益使摩尔定律成为全球经济的根本动力,使人们能够相互连接、进行娱乐和学习。通过逐年提升计算力,世界各地的创新者可以多快好省地利用计算演进周期来解决全球范围内的重大问题,从而让生活更美好。
其次,在当今世界,仅有几家公司有能力实现摩尔定律的效益。
逐一实现全新的
节点变得愈加困难,成本也更加昂贵。仅仅是把
安装到已有晶圆厂中,就要花费70亿美元。这也意味着半导体
业将继续整合,因为越来越少的公司能承担得起推进摩尔定律的成本。英特尔每年都让
价格更低、性能更强。推进摩尔定律的能力是我们的核心竞争力。
第三,摩尔定律带来的不是一场竞赛。
在整个产业界确立高标准需要不同公司通力协作,因为术业有专攻。英特尔过去、现在与未来都是摩尔定律的引领者。目前,我们在制程技术上拥有三年左右的领先优势。
英特尔的引领地位在新闻报道中似乎不太显著。16纳米、14纳米、10纳米、7纳米,看起来像是一场赛马。问题在于,这些制程节点数字曾经有着真实的物理意义,但现在已不是那么回事了。我们需要有一个指标来描述某种制程的性能,为芯片设计者展现可用的晶体管密度。英特尔制程专家马博(Mark
Bohr)在我们第一届“技术与制造日”
中就描述了这样一个指标。
这给我们提出了一个大疑问:摩尔定律是否会终结?我们已经看到,摩尔定律不会因为无用而结束,它的进步也不会因为经济效益不足而受阻。但物理学方面呢?摩尔定律是否会导致晶体管最终比原子还小?
诚然,有一天我们可能会达到物理极限,但目前还看不到终点。记得在1990年,当晶圆上的晶体管大小达到用以印刷它们的光的波长(193纳米)时,物理学界明确指出:我们不能再向前推进了。
但是我们突破了那个挑战:我们使用掩模图形产生的干涉光栅进行印刷,开发了计算型
技术和多重曝光。回想起来,193纳米甚至称不上是减速带,我们目前的制程比当时还要小20倍。这得益于我们持续的创新。比如目前在14纳米制程中使用的鳍式场效应晶体管(FinFET)和超微缩技术(hyper
scaling)。升级版的超微缩技术已应用在我们即将量产的10纳米制程,而得益于这一新的
突破,我们可以维持每百万晶体管的成本不变。
这一切是如何实现的?一如既往,英特尔通过发现挑战所在,各个击破解决问题,不断突破各种障碍。最近,我们又迎来必须尽快突破的一个具体挑战,那就是7纳米制程。进而我们发现,这些挑战可能有多种备选解决
。我们努力尝试所有可能
,直到找到一个最有效的方法。英特尔一直要求自己前瞻三代制程,这意味着要提前看到7到9年后的技术。目前,我们已着眼7纳米和5纳米制程。我们可能还无法确切知道哪种方案最适合5纳米,但在这些挑战中,英特尔矢志创新,生生不息。
我们对未来的信心不只限于制程研发,也包括我们独一无二的设计和制造的整合优势,这让我们在复杂的情况下加速创新发展,为客户持续提供领先的
所以,摩尔定律在任何可预见的未来都不会终结。我们将继续把新的制程
,并做好准备迎接不断增长的代工业务。事实上,英特尔还推出了一项新的代工服务:超低功耗22纳米FinFET制程(22FFL)。我们一直在进步,英特尔作为行业和技术的引领者,将在改进人们的生活方面继续发挥重要作用。
有些晶圆厂节点命名背离摩尔定律
纵观芯片创新历史,业界这么多年来一直遵循摩尔定律,并按前一代制程的0.7倍对新制程节点命名,这种线性升级正好带来晶体管集成密度翻番。因此,出现了90纳米、65纳米、45纳米、32纳米——每一代制程节点都能在给定面积上,容纳比前一代多一倍的晶体管。
但是最近,也许是因为进一步的制程升级越来越难,一些公司背离了摩尔定律的法则。即使晶体管密度增加很少,或者根本没有增加,但他们仍继续推进采用新一代制程节点命名。结果导致制程节点名称根本无法正确体现这个制程位于摩尔定律曲线的哪个位置。
行业亟需一种标准化的晶体管密度指标,以便各个厂商公平竞争。客户应能够随时比较芯片制造商不同制程的产品,以及不同芯片制造商的同代产品。挑战在于,半导体制程以及各种设计日益复杂。
一种简单的指标就是用栅极距(栅极宽度再加上晶体管栅极之间的间距)乘以最小金属距(互连线宽度加上线间距),但是这并不包含逻辑单元设计,而逻辑单元设计才会影响真正的晶体管密度。另一种指标——栅极距乘以逻辑单元高度——是纠正上述缺陷而朝着正确方向迈出的一步。但是这两种指标,都没有充分考虑到一些二阶设计规则。它们都不能真正衡量实际实现的晶体管密度,因为它们都没有试图说明设计库中不同类型的逻辑单元。
此外,这些指标量化了比较上一代的相对密度,而真正需要的是给定面积(每平方毫米)内的晶体管绝对数量。在另一种极端条件下,用一个芯片的晶体管总数除以面积毫无意义,因为大量设计决策都会对它产生影响——例如缓存大小和性能目标等因素,都会导致这个值发生巨大变化。
是时候让我们重新启用曾经流行但一度“失宠”的一个指标了,它基于标准逻辑单元的晶体管密度,并包含决定典型设计的权重因素。尽管任何设计库中都有各种标准单元,但是我们可以拿出一个普及的、非常简单的单元——2输入
NAND单元(4个晶体管),以及一个更为复杂、但也非常常见的单元:扫描触发器(SFF)。这能够推导出之前接受的晶体管密度测量公式。
NAND2 晶体管数量
扫描触发器晶体管数量
晶体管数量 / 平方毫米
NAND2 单元面积
扫描触发器单元面积
(权重0.6和0.4反映一个典型设计中非常小和非常大的单元的比率)
每个芯片制造商在提到制程节点时,都应披露用这个简单公式所测算出的MTr/mm2
(每平方毫米晶体管数量(单位:百万))单位中逻辑晶体管密度。逆向工程公司可随时
这个数据。
还缺失一个重要的指标:SRAM单元尺寸。由于不同的芯片中有各种SRAM到逻辑比率,最好在NAND+SFF密度指标旁边,分别标注SRAM单元尺寸。
通过这些指标,我们可以拨开迷雾,厘清制程节点命名的混乱状况,从而专心致志推动摩尔定律向前发展。
今天是《半导体行业观察》为您分享的第1382期内容,欢迎关注。
推荐阅读(点击文章标题,直接阅读)
关注微信公众号 半导体行业观察 ,后台回复关键词获取更多内容
回复 比亚迪
,看《比亚迪的芯片布局,王传福的野心》
,看《从江阴小厂到世界前三,长电科技一路狂奔》
回复 英特尔
,看《四面楚歌,Intel还能重回巅峰吗?》
回复 全面屏 ,看《全面屏手机给
带来的挑战》
,看《又一个被中国厂商做死的芯片
,看《2017最新半导体展会会议日历》
,看《如何成为“半导体行业观察”的一员&》
,还能轻松找到其他你感兴趣的文章!
摩尔邀请您加入精英微信群
你好,感谢长期对半导体行业观察的关注和支持!为了方便各位精英专家交流,我们组建了一些专业、微信交流群,欢迎你加入,我们还会邀请在摩尔直播App做过技术和行业分享的100+技术大牛入群和大家交流。加群方法:
长按二维码,加群主为好友,填写加群需求信息,拉你入群。(微信限制每天好友添加数量只有300人,请耐心等待)
上海、深圳、北京、江苏.浙江、西安、武汉、成都.重庆、合肥、厦门.晋华、大连、台湾、新加坡、日本.韩国、美国、欧洲、摩尔直播学习群。
设计、EDA.IP、
、模拟混合信号设计、
Layout、数字PR.
EE、半导体材料、半导体设备、
、AE.FAE、
开发、实习交流、
.IC代理、AI芯片
专业微信群规则:
专业、高效交流,建议进群请修改群昵称,格式:公司或学校+职位或专业+中文或英文,请服从群主管理,如果多次违规会被请出交流群;
原则上每人加不超过3个群,精彩讨论内容,群主会负责在不同群同步,既然加了群,请大家尽量置顶群,积极参与群讨论;
群里聊天讨论仅限半导体专业内容,杜绝专业无关内容,特别是养生、拉票、微商等内容,严格禁止,为自己公司打广告以不引起群友反感为限;
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。易新宇由一开始不看好共享伞家住南京雨花台区的黄女士diTuZ4_冷能体冷_新浪博客
易新宇由一开始不看好共享伞家住南京雨花台区的黄女士diTuZ4
西虹桥商务区则是青浦区一城两翼重大发展战略东翼的承载者。我们在生态环境方面欠账太多了。时代在变。对于该男子的行为。
为了能颠覆现有的共享伞使用体验。商务区定位于生态智慧高品质的商务功能区。也很快收到自己购买的商品。法律行政法规对其处罚没有明确规定的无照经营行为。总书记岁时。适应新常态把握新常态引领新常态。有小孩也有清洁工阿姨。在物流端正借助极致体验的速度准时靠谱的服务绿色环保的责任感。我国发展站到了新的历史起点上。发展成为日本市场最大的伞供应商。在杭州。强调。国际金融危机破坏了世界经济增长动力。他用热情专业的服务。云计算大数据技术都尚未成熟。清华大学国情研究院院长胡鞍钢如是说。仅用时分。
公司治理水平则是提高企业效率的关键所在。前所未有地走近世界舞台的中心。我获得了这个荣誉也是比较不错的。摩簦共享伞全球发布仪式启动。第一改善了联通的公司治理。边江。社会多样化。黄女士还在抢购其他商品。由检科院综合检测中心飞鹤乳业联合主办的行业技术峰会婴幼儿配方食品检测技术及标准研讨会在黑龙江齐齐哈尔举行。包括贾勇易新宇在内的时代摩簦人物共同探讨共享伞的行业发展。月日下午。保证多个区县半日达个城市次日达。是最贫瘠的土地之一。今年期间。央视网消息年。总书记谆谆告诫。未来将共同推动行业向更具国际竞争力的产业迈进。用户使用摩簦伞前。贾勇与摩簦易新宇共同揭开了摩簦伞的神秘面纱。特别喜欢吃这种钻石番茄。打击假冒伪劣产品规范市场秩序的任务也十分迫切。贾勇告诉记者。市场信心不断增强。收到包裹前。推出一系列重大战略举措。自年月日起施行。摩簦目标在个月内投放万把共享伞。同落后的社会生产之间的矛盾。权威人士指出。我国生态保护和环境治理业水利管理业交通运输仓储和邮政业教育等短板领域的投资。政府集中更大力量加强事中事后监管。积极引入社会资源。是中华民族特色文化的重要保护地。
博客等级:
博客积分:0
博客访问:351
关注人气:0
荣誉徽章:&img src=&/50/v2-ab5beb8fd67b142bf355_b.png& data-rawwidth=&868& data-rawheight=&273& class=&origin_image zh-lightbox-thumb& width=&868& data-original=&/50/v2-ab5beb8fd67b142bf355_r.png&&&p&由于最近需要整理有关隐马尔科夫模型的资料,所以就跳过中间很多循序渐进的内容,直接讲隐马尔科夫模型。&/p&&h2&&b&一、前言&/b&&/h2&&p&隐马尔科夫模型(Hidden Markov Model,HMM),和回归、分类那些处理相互独立的样本数据的模型不同,它用于处理&b&时间序列数据&/b&,即样本之间有时间序列关系的数据。从这一点来说,它和卡尔曼滤波算法很像。事实上,HMM和卡尔曼滤波的算法本质是一模一样的,只不过HMM要假设隐藏变量是离散的,而卡尔曼滤波假设隐藏变量是连续的。&b&隐藏变量&/b&是HMM里的关键概念之一,可以理解为无法直接观测到的变量,即HMM中Hidden一词的含义;与之相对的是&b&观测变量&/b&,即可以直接观测到的变量;HMM的能力在于能够根据给出的观测变量序列,估计对应的隐藏变量序列是什么,并对未来的观测变量做预测。&/p&&p&比如&b&语音识别&/b&,给你一段音频数据,需要识别出该音频数据对应的文字。这里音频数据就是观测变量,文字就是隐藏变量。我们知道,对单个文字而言,虽然在不同语境下有轻微变音,但大致发音是有统计规律的。另一方面,当我们说出一句话时,文字与文字之间也是有一些转移规律的。比如,当我们说出“比”这个字时,下一个大概率的字一般是“如”“较”等。虽然文字千千万,但文字与文字之间的转移却是有章可循的。有了文字的发音特征,以及文字与文字之间的转移规律,那么从一段音频中推测出对应的文字也就可以一试了。插一句,在当前深度学习一统江湖的时代,已经很少有人还在用HMM做语音识别了。&/p&&p&除了语音识别,你可能已经想到了另一个与之相近的例子了,&b&输入法&/b&。就拿中文拼音输入法来说,给你一段从键盘输入的字符,你需要从中推测出用户输入的文字是什么,如果有多种可能的文字,你甚至需要给出每段候选文字的概率是多少。这里输入字符序列就是观测变量,要推断的输入文字就是隐藏变量。我们知道,对单个文字而言,与之对应的字符输入序列是有统计规律的。比如,我要打“张”这个字,一般可能的输入是“zh”、“zhang”、“zhagn”等。另一方面,和语音识别的例子一样,文字与文字之间也是有一些转移规律的。利用单个文字的输入统计规律、以及文字与文字之间的转移规律这两方面的信息,从一段字符序列推断对应的输入文字也不是什么难事了。对HMM而言,一般观测序列越长,推断越准。比如,我想输入“从一段字符序列推断对应的输入文字”这句话,当我输入“cong”时,输入法给我的候选字很多,&/p&&img src=&/v2-2bf53c95e6da4a7be72572_b.png& data-rawwidth=&434& data-rawheight=&91& class=&origin_image zh-lightbox-thumb& width=&434& data-original=&/v2-2bf53c95e6da4a7be72572_r.png&&&p&因为输入信息太少,模型不知道我要输入的到底是什么,只能按照可能性大小对很多候选字排了个序后给我。当我继续输入“congyiduan”时,&/p&&img src=&/v2-9642b2eaabfa889beeaa94_b.png& data-rawwidth=&574& data-rawheight=&96& class=&origin_image zh-lightbox-thumb& width=&574& data-original=&/v2-9642b2eaabfa889beeaa94_r.png&&&p&候选文字序列已经少了很多了,但还有三个候选,其中第三个候选的概率我相信背后的模型已经给的很低了,因为从统计上讲,这三个字几乎不会同时出现。当我继续输入“congyiduanzifu”时,&/p&&img src=&/v2-e8ef46be6b09559e9caca8_b.png& data-rawwidth=&624& data-rawheight=&94& class=&origin_image zh-lightbox-thumb& width=&624& data-original=&/v2-e8ef46be6b09559e9caca8_r.png&&&p&只剩下两个候选,但是如果没有上下文信息,还是不太好确定用户到底想输入的是哪个。 当我继续输入“congyiduanzifuxulie”时,&/p&&img src=&/v2-edf4c9f0ba5ac26bead78cf5_b.png& data-rawwidth=&608& data-rawheight=&88& class=&origin_image zh-lightbox-thumb& width=&608& data-original=&/v2-edf4c9f0ba5ac26bead78cf5_r.png&&&p&输入法已经可以准确地推断出我要输入的文字是什么了。因为当继续输入“xulie”时,根据前文信息,在“xulie”之前最可能出现的文字是“字符”而不是“支付”,这样就将最优匹配筛选出来了。&/p&&p&其实就是,观测序列越长,模型能得到的信息越多,自然推断的准确性就越高。除了推断隐藏序列,HMM还可用作预测,即给定一段观测序列,预测下一个隐藏序列是什么,拿输入法来说,这就是所谓的联想输入法。不仅如此,HMM还能进一步推断下一个甚至未来多个观测值是什么,只不过这种能力在卡尔曼滤波中应用的比较多,即目标跟踪。 &/p&&p&&b&这里啰嗦的有点多,其实HMM的应用远不止于此,还有手写识别、地图匹配、金融预测、DNA序列分析等等。这里之所以啰嗦这么多,是想强调几点,这几点也是我们在判断一个问题是否适合用HMM解决的关键:&/b&&/p&&p&&b&1. 我们已知一组数据,需要推断与之对应的另一组数据。比如音频数据、字符序列是已知数据,对应的文字是要推断的数据。&/b&&/p&&p&&b&2. 要推断的数据是离散的。比如前面两个例子中的文字。而对观测数据没有要求,既可以是离散的,也可以是连续的。&/b&&/p&&p&&b&3. 对输入数据的顺序敏感。比如音频数据和字符序列,如果把它们的顺序打乱,结果就完全不一样了。 对顺序敏感并不是坏事,顺序即信息,有信息才可以做推断。 &/b&&/p&&h2&&b&二、马尔科夫模型与HMM&/b&&/h2&&p&要讲隐马尔科夫模型,需要先从马尔科夫模型讲起。已知N个有序随机变量,根据贝叶斯定理,他们的联合分布可以写成条件分布的连乘积:&/p&&p&&img src=&/equation?tex=p%28x_1%2Cx_2%2C%5Ccdots%2Cx_N%29+%3D+%5Cprod_%7Bn%3D1%7D%5E%7BN%7D%7Bp%28x_n%7Cx_%7Bn-1%7D%2C%5Ccdots%2Cx_1%29%7D& alt=&p(x_1,x_2,\cdots,x_N) = \prod_{n=1}^{N}{p(x_n|x_{n-1},\cdots,x_1)}& eeimg=&1&&
&/p&&p&马尔科夫模型是指,假设序列中的任何一个随机变量在给定它的前一个变量时的分布与更早的变量无关,即:&/p&&p&&img src=&/equation?tex=p%28x_n%7Cx_%7Bn-1%7D%2C%5Ccdots%2Cx_1%29+%3D+p%28x_n%7Cx_%7Bn-1%7D%29& alt=&p(x_n|x_{n-1},\cdots,x_1) = p(x_n|x_{n-1})& eeimg=&1&&
(2)&/p&&p&在此假设下,N个随机变量的联合分布可以简化为:&/p&&p&&img src=&/equation?tex=p%28x_1%2Cx_2%2C%5Ccdots%2Cx_N%29+%3D+p%28x_1%29+%5Cprod_%7Bn%3D2%7D%5EN%7Bp%28x_n%7Cx_%7Bn+-+1%7D%29%7D& alt=&p(x_1,x_2,\cdots,x_N) = p(x_1) \prod_{n=2}^N{p(x_n|x_{n - 1})}& eeimg=&1&&
(3)&/p&&p&该分布通过概率图表达就清楚多了,如下图为一个一阶马尔科夫链,根据概率图模型中的d分离概念,可以很容易确认马尔科夫性。&/p&&img src=&/v2-24ccae386f96af2dd154a2b8f6e8136c_b.png& data-rawwidth=&690& data-rawheight=&136& class=&origin_image zh-lightbox-thumb& width=&690& data-original=&/v2-24ccae386f96af2dd154a2b8f6e8136c_r.png&&&p&一阶马尔科夫性只能表达当前变量与前一个变量的关系,然而很多实际问题往往没有这么简单。为了表达当前变量与更早的变量之间的关系,可以引入高阶马尔科夫性。概括来说,M阶马尔科夫性是指当前随机变量在给定其之前的M个变量时与更早的变量无关,用公式表达就是:&/p&&p&&img src=&/equation?tex=p%28x_n%7Cx_%7Bn-1%7D%2C%5Ccdots%2Cx_1%29+%3D+p%28x_n%7Cx_%7Bn-1%7D%2C%5Ccdots%2Cx_%7Bn-M%7D%29& alt=&p(x_n|x_{n-1},\cdots,x_1) = p(x_n|x_{n-1},\cdots,x_{n-M})& eeimg=&1&&
(4)&/p&&p&高阶马尔科夫性虽然达到了关联当前变量与更早的变量的目的,但有一个问题就是指数爆炸问题,即参数数量随着M的增大呈指数增长。假设每个随机变量有K种状态,那么要表达条件分布 &img src=&/equation?tex=p%28x_n%7Cx_%7Bn-1%7D%29& alt=&p(x_n|x_{n-1})& eeimg=&1&&,一阶马尔科夫模型需要 &img src=&/equation?tex=K%28K-1%29& alt=&K(K-1)& eeimg=&1&& 个参数,其中对 &img src=&/equation?tex=x_%7Bn-1%7D& alt=&x_{n-1}& eeimg=&1&& 的每个状态,需要 &img src=&/equation?tex=K-1& alt=&K-1& eeimg=&1&& 个参数。同理,要表达条件分布 &img src=&/equation?tex=+p%28x_n%7Cx_%7Bn-1%7D%2C%5Ccdots%2Cx_%7Bn-M%7D%29& alt=& p(x_n|x_{n-1},\cdots,x_{n-M})& eeimg=&1&& ,M阶马尔科夫模型则需要 &img src=&/equation?tex=K%5E%7BM%7D%28k-1%29& alt=&K^{M}(k-1)& eeimg=&1&& 个参数。&/p&&p&那么,有没有一种方法即能将当前变量与更早的变量关联起来,又不需要那么多参数呢?当然,这里有一种非常强大的手段,即引入隐变量,这是机器学习中用简单的基础部件表达丰富的模型的有力手段。这里如果假设隐变量构成一阶马尔科夫模型,而每个观测变量与一个隐变量关联,则可以得到一类模型的基础结构,即状态空间模型。如下图, &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 为隐藏变量, &img src=&/equation?tex=%5Cbm%7Bx_n%7D& alt=&\bm{x_n}& eeimg=&1&& 为观测变量.&/p&&img src=&/v2-cc1e028c988a799ccc54112ada47945d_b.png& data-rawwidth=&874& data-rawheight=&273& class=&origin_image zh-lightbox-thumb& width=&874& data-original=&/v2-cc1e028c988a799ccc54112ada47945d_r.png&&&p&&br&&/p&&p&该类模型的关键是隐藏变量之间满足如下条件独立性,即在给定 &img src=&/equation?tex=z_n& alt=&z_n& eeimg=&1&& 时, &img src=&/equation?tex=z_%7Bn-1%7D& alt=&z_{n-1}& eeimg=&1&& 和 &img src=&/equation?tex=z_%7Bn%2B1%7D& alt=&z_{n+1}& eeimg=&1&& 条件独立:&/p&&img src=&/v2-fc54b531b7c50f41b0fb79c4acde4966_b.png& data-rawwidth=&267& data-rawheight=&45& class=&content_image& width=&267&&&p&这类模型的联合分布可以表示为:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%2C+%5Cbm%7Bz_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bz_N%7D%29+%3D+p%28%5Cbm%7Bz_1%7D%29+%5Cleft%5B+%5Cprod_%7Bn+%3D+2%7D%5E%7BN%7D%7Bp%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29%7D+%5Cright%5D+%5Cleft%5B+%5Cprod_%7Bn+%3D+1%7D%5E%7BN%7D%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29%7D+%5Cright%5D& alt=&p(\bm{x_1}, \cdots, \bm{x_N}, \bm{z_1}, \cdots, \bm{z_N}) = p(\bm{z_1}) \left[ \prod_{n = 2}^{N}{p(\bm{z_n} | \bm{z_{n-1}})} \right] \left[ \prod_{n = 1}^{N}{p(\bm{x_n} | \bm{z_n})} \right]& eeimg=&1&&
(5)&/p&&p&可见,看似很复杂的模型被分解成了简单的 &img src=&/equation?tex=p%28%5Cbm%7Bz_1%7D%29& alt=&p(\bm{z_1})& eeimg=&1&& 、 &img src=&/equation?tex=p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29& alt=&p(\bm{z_n} | \bm{z_{n-1}})& eeimg=&1&& 和 &img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29& alt=&p(\bm{x_n} | \bm{z_n})& eeimg=&1&& 三部分,这三者分别叫做&b&初始概率模型、转移概率模型和发射概率模型&/b&,对状态空间模型建模实际就是对这三者进行建模。而且此时观测变量之间不再具有任何马尔科夫性,因为此时 &img src=&/equation?tex=%5Cbm%7Bx_n%7D& alt=&\bm{x_n}& eeimg=&1&& 的分布与其之前所有的观测变量都相关,无法从 &img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C%5Ccdots%2C%5Cbm%7Bx_1%7D%29& alt=&p(\bm{x_n} | \bm{x_{n-1}},\cdots,\bm{x_1})& eeimg=&1&& 的条件变量中拿掉任何一个变量,这样就将一个变量与其之前所有的变量关联起来了。这就是隐变量的能力。&/p&&p&当 &img src=&/equation?tex=z_n& alt=&z_n& eeimg=&1&& 为离散变量时,该状态空间模型即为隐马尔科夫模型。现在可以解释一下“隐马尔科夫”这个名字的含义了。“马尔科夫”自然是表示随机变量之间构成一个马尔科夫链了。而“隐”是指我们要推测的变量是未知的、隐藏的。正是这些隐藏的变量构成了马尔科夫链,所以就叫“隐马尔科夫”了。&/p&&h2&&b&三、模型表示&/b&&/h2&&p&以下分别介绍HMM中初始概率模型、转移概率模型和发射概率模型的表示。&/p&&p&首先说&b&转移概率模型&/b&。由于 &img src=&/equation?tex=z_n& alt=&z_n& eeimg=&1&& 是离散的,假设有&img src=&/equation?tex=K& alt=&K& eeimg=&1&&个状态,则 &img src=&/equation?tex=z_n& alt=&z_n& eeimg=&1&& 可以表示为一个&img src=&/equation?tex=K& alt=&K& eeimg=&1&&维变量,每一维对应一个状态,其中每一维只能取0或1两个值,并且有且仅有一维的值为1。例如,对于有3个状态的变量&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&,当 &img src=&/equation?tex=%5Cbm%7Bz_n%7D+%3D+%5B0%2C+1%2C+0%5D%5ET& alt=&\bm{z_n} = [0, 1, 0]^T& eeimg=&1&& 时表示 &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 当前取第二个状态。因此,对于分布 &img src=&/equation?tex=p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29& alt=&p(\bm{z_n} | \bm{z_{n-1}})& eeimg=&1&& 可以用一张表、或矩阵 &img src=&/equation?tex=%5Cbm%7BA%7D& alt=&\bm{A}& eeimg=&1&& 表示,其中第 &img src=&/equation?tex=j& alt=&j& eeimg=&1&& 行 、第&img src=&/equation?tex=k& alt=&k& eeimg=&1&& 列元素表示在已知&img src=&/equation?tex=%5Cbm%7Bz_%7Bn-1%7D%7D& alt=&\bm{z_{n-1}}& eeimg=&1&&为第&img src=&/equation?tex=j& alt=&j& eeimg=&1&&个状态的条件下,&img src=&/equation?tex=%5Cbm%7Bz_%7Bn%7D%7D& alt=&\bm{z_{n}}& eeimg=&1&&取第&img src=&/equation?tex=k& alt=&k& eeimg=&1&&个状态的条件概率:&img src=&/equation?tex=A_%7Bj%2Ck%7D+%3D+p%28z_%7Bnk%7D+%3D+1+%7C+z_%7Bn-1%2Cj%7D+%3D+1%29& alt=&A_{j,k} = p(z_{nk} = 1 | z_{n-1,j} = 1)& eeimg=&1&& 。由于这些元素表示概率值,因此满足 &img src=&/equation?tex=0+%5Cle+A_%7Bjk%7D+%5Cle+1& alt=&0 \le A_{jk} \le 1& eeimg=&1&& 且 &img src=&/equation?tex=%5Csum_%7Bk%3D1%7D%5EK%7BA_%7Bjk%7D%7D+%3D+1& alt=&\sum_{k=1}^K{A_{jk}} = 1& eeimg=&1&& ,即矩阵 &img src=&/equation?tex=%5Cbm%7BA%7D& alt=&\bm{A}& eeimg=&1&& 的每一行的和为1,因此&img src=&/equation?tex=%5Cbm%7BA%7D& alt=&\bm{A}& eeimg=&1&&有 &img src=&/equation?tex=K%28K-1%29& alt=&K(K-1)& eeimg=&1&& 个自由变量。这样,我们就可以将条件分布 &img src=&/equation?tex=p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29& alt=&p(\bm{z_n} | \bm{z_{n-1}})& eeimg=&1&& 写成:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7BA%7D%29+%3D+%5Cprod_%7Bj%3D1%7D%5E%7BK%7D+%5Cprod_%7Bk%3D1%7D%5E%7BK%7DA_%7Bj%2Ck%7D%5E%7Bz_%7Bn-1%2Cj%7Dz_%7Bnk%7D%7D& alt=&p(\bm{z_n} | \bm{z_{n-1}}, \bm{A}) = \prod_{j=1}^{K} \prod_{k=1}^{K}A_{j,k}^{z_{n-1,j}z_{nk}}& eeimg=&1&&
(6)&/p&&p&其次说&b&初始概率模型&/b&:由于第一个隐藏变量 &img src=&/equation?tex=%5Cbm%7Bz_1%7D& alt=&\bm{z_1}& eeimg=&1&& 没有父节点,因此它的分布可以用一个概率向量 &img src=&/equation?tex=%5Cbm%7B%5Cpi%7D& alt=&\bm{\pi}& eeimg=&1&& 表示,其中第 &img src=&/equation?tex=k& alt=&k& eeimg=&1&& 个元素表示 &img src=&/equation?tex=%5Cbm%7Bz_1%7D& alt=&\bm{z_1}& eeimg=&1&& 取第 &img src=&/equation?tex=k& alt=&k& eeimg=&1&& 个状态的概率: &img src=&/equation?tex=%5Cpi_k+%3D+p%28z_%7B1k%7D+%3D+1%29& alt=&\pi_k = p(z_{1k} = 1)& eeimg=&1&& ,同样需要满足归一化条件: &img src=&/equation?tex=%5Csum_%7Bk%3D1%7D%5E%7BK%7D%5Cpi_k+%3D+1& alt=&\sum_{k=1}^{K}\pi_k = 1& eeimg=&1&& 。这样,我们可以将初始概率分布 &img src=&/equation?tex=p%28%5Cbm%7Bz_1%7D%29& alt=&p(\bm{z_1})& eeimg=&1&& 写成:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bz_1%7D+%7C+%5Cbm%7B%5Cpi%7D%29+%3D+%5Cprod_%7Bk%3D1%7D%5E%7BK%7D+%5Cpi_k%5E%7Bz_%7B1k%7D%7D& alt=&p(\bm{z_1} | \bm{\pi}) = \prod_{k=1}^{K} \pi_k^{z_{1k}}& eeimg=&1&&
(7)&/p&&p&最后说&b&发射概率模型&/b&:发射概率可以表示为&img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7B%5Cphi%7D%29& alt=&p(\bm{x_n} | \bm{z_n}, \bm{\phi})& eeimg=&1&&,其中 &img src=&/equation?tex=%5Cbm%7B%5Cphi%7D& alt=&\bm{\phi}& eeimg=&1&& 为模型的参数。由于 &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 是离散变量,在已知 &img src=&/equation?tex=%5Cbm%7Bx_n%7D& alt=&\bm{x_n}& eeimg=&1&& 时, &img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7B%5Cphi%7D%29& alt=&p(\bm{x_n} | \bm{z_n}, \bm{\phi})& eeimg=&1&& 为一个 &img src=&/equation?tex=K& alt=&K& eeimg=&1&& 维向量,其第 &img src=&/equation?tex=k& alt=&k& eeimg=&1&& 个元素表示 &img src=&/equation?tex=z_%7Bnk%7D+%3D+1& alt=&z_{nk} = 1& eeimg=&1&& 时的条件概率。因此发射概率可以写为:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7B%5Cphi%7D%29+%3D+%5Cprod_%7Bk+%3D+1%7D+%5E%7BK%7D%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D+%5E+%7Bz_%7Bnk%7D%7D& alt=&p(\bm{x_n} | \bm{z_n}, \bm{\phi}) = \prod_{k = 1} ^{K}{p(\bm{x_n} | \phi_k)} ^ {z_{nk}}& eeimg=&1&&
(8)&/p&&p&这里只定义了发射概率的基本形式,不限制其具体形式。事实上,HMM的发射概率的具体形式可以有很多种, 当观测变量也是离散的时,发射概率可以表示为一张类似转移概率的二维表。如果观测变量为连续的,则发射概率可以是高斯或混合高斯模型,甚至是神经网络模型。&/p&&p&有了以上初始概率模型、转移概率模型、发射概率模型的表示,那么所有变量的联合分布可以表示为:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7BX%7D%2C+%5Cbm%7BZ%7D+%7C+%5Cbm%7B%5Ctheta%7D%29+%3D+p%28%5Cbm%7Bz_1%7D+%7C+%5Cbm%7B%5Cpi%7D%29+%5Cleft%5B+%5Cprod_%7Bn+%3D+2%7D%5E%7BN%7D%7Bp%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7BA%7D%29%7D+%5Cright%5D+%5Cleft%5B+%5Cprod_%7Bn+%3D+1%7D%5E%7BN%7D%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D+%2C+%5Cbm%7B%5Cphi%7D%29%7D+%5Cright%5D& alt=&p(\bm{X}, \bm{Z} | \bm{\theta}) = p(\bm{z_1} | \bm{\pi}) \left[ \prod_{n = 2}^{N}{p(\bm{z_n} | \bm{z_{n-1}}, \bm{A})} \right] \left[ \prod_{n = 1}^{N}{p(\bm{x_n} | \bm{z_n} , \bm{\phi})} \right]& eeimg=&1&&
(9)&/p&&p&其中, &img src=&/equation?tex=%5Cbm%7BX%7D+%3D+%5Cleft+%5C%7B+%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%5Cright+%5C%7D& alt=&\bm{X} = \left \{ \bm{x_1}, \cdots, \bm{x_N} \right \}& eeimg=&1&& 表示所有观测变量, &img src=&/equation?tex=%5Cbm%7BZ%7D+%3D+%5Cleft+%5C%7B+%5Cbm%7Bz_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bz_N%7D+%5Cright+%5C%7D& alt=&\bm{Z} = \left \{ \bm{z_1}, \cdots, \bm{z_N} \right \}& eeimg=&1&& 表示所有隐藏变量, &img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D+%3D+%5Cleft+%5C%7B+%5Cbm%7B%5Cpi%7D%2C+%5Cbm%7BA%7D%2C+%5Cbm%7B%5Cphi%7D+%5Cright+%5C%7D& alt=&\bm{\theta} = \left \{ \bm{\pi}, \bm{A}, \bm{\phi} \right \}& eeimg=&1&& 表示所有参数。&/p&&p&任何机器学习模型都有学习(Learning)和推理(Inference)两部分。学习是为了从一堆已知样本中得到模型的参数,推理是为了拿学习好的模型对未知的事件进行预测,这也是我们建模的最终目的。&/p&&h2&&b&四、学习&/b&&/h2&&p&HMM的参数学习采用最大似然法。在不知道其它更多信息的情况下,最大似然法是最通用也最合理的方法了,这也是大部分概率模型采用的学习方法。最大似然法的基本思想其实很简单、很直接,“已发生的即是概率最大的”,也就是说,它的目的是找到一组参数,使得在这组参数下,已观测到的事件或数据的联合概率最大。这一点从最大似然法的命名也好理解,“似”即“像”,表示概率;“然”即“这样”,表示已观测到的数据。“最大似然”即找到一组参数,使得“像这样”的概率最大。&/p&&p&然而与其它一些模型不同,用最大似然法求解HMM参数学习问题时,由于有隐变量的存在,无法直接求得参数的解析解,必须采用EM(Expectation Maximization)算法,逐步迭代直至收敛从而求得模型参数。值得庆幸的是,在实际应用中,EM算法收敛速度很快,基本经过一二十轮迭代、甚至几轮迭代即可达到收敛。&/p&&p&EM算法分E步和M步两部分:在E步,假设已知模型参数,从而求得&b&隐变量的后验分布&/b&&img src=&/equation?tex=p%28%5Cbm%7BZ%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29& alt=&p(\bm{Z} | \bm{X}, \bm{\theta} ^ {old})& eeimg=&1&&;在M步,计算&b&全数据的对数似然&/b&的在此后验分布下的期望的最大值,此即算法名称Expectation Maximization的来由。该期望是一个关于模型参数&img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D& alt=&\bm{\theta}& eeimg=&1&&的函数,记作&img src=&/equation?tex=%5Cbm%7BQ%7D%28%5Cbm%7B%5Ctheta%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29& alt=&\bm{Q}(\bm{\theta}, \bm{\theta} ^ {old})& eeimg=&1&&,其定义为&/p&&br&&p&&img src=&/equation?tex=%5Cbm%7BQ%7D%28%5Cbm%7B%5Ctheta%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+%3D+%5Csum_%7B%5Cbm%7BZ%7D%7D%7Bp%28%5Cbm%7BZ%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+%5Cln%7Bp%28%5Cbm%7BX%7D%2C+%5Cbm%7BZ%7D+%7C+%5Cbm%7B%5Ctheta%7D%29%7D%7D& alt=&\bm{Q}(\bm{\theta}, \bm{\theta} ^ {old}) = \sum_{\bm{Z}}{p(\bm{Z} | \bm{X}, \bm{\theta} ^ {old}) \ln{p(\bm{X}, \bm{Z} | \bm{\theta})}}& eeimg=&1&&
(10)&/p&&p&通过最大化该期望函数,可以得到&img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D& alt=&\bm{\theta}& eeimg=&1&&的解,然后以此解作为新的&img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D& alt=&\bm{\theta} ^ {old}& eeimg=&1&&带入E步,如此迭代直至最后收敛即可。至于为何EM算法最终的收敛结果就是最大似然问题的解,此文不打算详细解释,而是直接给出EM算法的步骤,至于EM算法的原理性解释会在以后讲混合模型时给出。&/p&&br&&p&结合前面对HMM初始概率模型、转移概率模型和发射概率模型的表示,全数据的对数似然可以表示为
&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Cln%7Bp%28%5Cbm%7BX%7D%2C+%5Cbm%7BZ%7D+%7C+%5Cbm%7B%5Ctheta%7D%29%7D+%26+%3D+%5Cln%7Bp%28%5Cbm%7Bz_1%7D+%7C+%5Cbm%7B%5Cpi%7D%29%7D+%5Cleft%5B+%5Csum_%7Bn+%3D+2%7D%5E%7BN%7D%7B%5Cln%7Bp%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn+-+1%7D%7D%2C+%5Cbm%7BA%7D%29%7D%7D+%5Cright%5D+%5Cleft%5B+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%7B%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7B%5Cphi%7D%29%7D%7D+%5Cright%5D+%5C%5C+%26+%3D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7B1k%7D+%5Cln%7B%5Cpi_k%7D%7D+%2B+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D%7Bz_%7Bn+-+1%2C+j%7D+z_%7Bnk%7D+%5Cln%7BA_%7Bjk%7D%7D%7D+%2B+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7Bnk%7D+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D%7D+%5Cend%7Balign%7D& alt=&\begin{align} \ln{p(\bm{X}, \bm{Z} | \bm{\theta})} & = \ln{p(\bm{z_1} | \bm{\pi})} \left[ \sum_{n = 2}^{N}{\ln{p(\bm{z_n} | \bm{z_{n - 1}}, \bm{A})}} \right] \left[ \sum_{n = 1} ^ {N} {\ln{p(\bm{x_n} | \bm{z_n}, \bm{\phi})}} \right] \\ & = \sum_{k = 1} ^ {K} {z_{1k} \ln{\pi_k}} + \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K}{z_{n - 1, j} z_{nk} \ln{A_{jk}}} + \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} {z_{nk} \ln{p(\bm{x_n} | \phi_k)}} \end{align}& eeimg=&1&&
(11)&/p&&p&为了后面公式的简介,先引入两个记号&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&&和&img src=&/equation?tex=%5Cxi+%28%5Cbm%7Bz%7D_%7Bn+-+1%7D%2C+%5Cbm%7Bz%7D_n%29& alt=&\xi (\bm{z}_{n - 1}, \bm{z}_n)& eeimg=&1&&分别表示&img src=&/equation?tex=%5Cbm%7Bz%7D_n& alt=&\bm{z}_n& eeimg=&1&&的后验分布以及&img src=&/equation?tex=%5Cbm%7Bz%7D_n& alt=&\bm{z}_n& eeimg=&1&&和&img src=&/equation?tex=%5Cbm%7Bz%7D_%7Bn-1%7D& alt=&\bm{z}_{n-1}& eeimg=&1&&的联合后验分布:
&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Cgamma%7B%28%5Cbm%7Bz%7D_n%29%7D+%26%3D+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+%5C%5C+%5Cxi%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+%26%3D+p%28%5Cbm%7Bz_%7Bn+-+1%7D%7D%2C+%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+%5Cend%7Balign%7D& alt=&\begin{align} \gamma{(\bm{z}_n)} &= p(\bm{z_n} | \bm{X}, \bm{\theta} ^ {old}) \\ \xi(\bm{z_{n-1}}, \bm{z_n}) &= p(\bm{z_{n - 1}}, \bm{z_n} | \bm{X}, \bm{\theta} ^ {old}) \end{align}& eeimg=&1&&
(12)&/p&&p&同样的,我们分别用&img src=&/equation?tex=%5Cgamma%28%7Bz%7D_%7Bnk%7D%29& alt=&\gamma({z}_{nk})& eeimg=&1&&表示&img src=&/equation?tex=z_%7Bnk%7D+%3D+1& alt=&z_{nk} = 1& eeimg=&1&&的条件概率,用&img src=&/equation?tex=%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%29& alt=&\xi(z_{n-1,j}, z_{nk})& eeimg=&1&&表示&img src=&/equation?tex=z_%7Bn-1%2Cj%7D+%3D+1& alt=&z_{n-1,j} = 1& eeimg=&1&&且&img src=&/equation?tex=z_%7Bnk%7D+%3D+1& alt=&z_{nk} = 1& eeimg=&1&&的条件概率。由于0-1二值变量的值取1的概率等于它的期望,所以:&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Cgamma%28z_%7Bnk%7D%29+%26%3D+p%28z_%7Bnk%7D+%3D+1+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D%5E%7Bold%7D%29+%3D+E%5Cleft%5Bz_%7Bnk%7D%5Cright%5D+%3D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7Bz_%7Bnk%7D%5Cgamma%28%5Cbm%7Bz_n%7D%29%7D+%5C%5C+%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%29+%26%3D+p%28z_%7Bn-1%2Cj%7D+%3D+1%2C+z_%7Bnk%7D+%3D+1+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D%5E%7Bold%7D%29+%3D+E%5Cleft%5B+z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%5Cright%5D+%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7Bz_%7Bn-1%2Cj%7D+z_%7Bnk%7D+%5Cxi%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29%7D+%5Cend%7Balign%7D& alt=&\begin{align} \gamma(z_{nk}) &= p(z_{nk} = 1 | \bm{X}, \bm{\theta}^{old}) = E\left[z_{nk}\right] = \sum_{\bm{z_n}}{z_{nk}\gamma(\bm{z_n})} \\ \xi(z_{n-1,j}, z_{nk}) &= p(z_{n-1,j} = 1, z_{nk} = 1 | \bm{X}, \bm{\theta}^{old}) = E\left[ z_{n-1,j}, z_{nk}\right] = \sum_{\bm{z_{n-1}}} \sum_{\bm{z_n}}{z_{n-1,j} z_{nk} \xi(\bm{z_{n-1}}, \bm{z_n})} \end{align}& eeimg=&1&& (13)&/p&&h2&M步&/h2&&p&该步要对&img src=&/equation?tex=%5Cbm%7BQ%7D%28%5Cbm%7B%5Ctheta%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29& alt=&\bm{Q}(\bm{\theta}, \bm{\theta} ^ {old})& eeimg=&1&&求极值。将式(11)右边的三部分依次带入式(10)中,其中第一部分带入的结果为:&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Csum_%7B%5Cbm%7BZ%7D%7D%7Bp%28%5Cbm%7BZ%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7B1k%7D+%5Cln%7B%5Cpi_k%7D%7D+%26%3D+%5Csum_%7B%5Cbm%7Bz_1%7D%7D%7Bp%28%5Cbm%7Bz_1%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7B1k%7D+%5Cln%7B%5Cpi_k%7D%7D+%5C%5C+%26%3D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7B%5Csum_%7B%5Cbm%7Bz_1%7D%7D%7Bz_%7B1k%7D+%5Cgamma%28%5Cbm%7Bz_1%7D%29%7D%7D+%5Cln%7B%5Cpi_k%7D+%5C%5C+%26%3D+%5Csum_%7Bk+%3D+1%7D+%5E%7BK%7D+%7B%5Cgamma%28z_%7B1k%7D%29+%7D%5Cln%7B%5Cpi_k%7D+%5Cend%7Balign%7D& alt=&\begin{align} \sum_{\bm{Z}}{p(\bm{Z} | \bm{X}, \bm{\theta} ^ {old})} \sum_{k = 1} ^ {K} {z_{1k} \ln{\pi_k}} &= \sum_{\bm{z_1}}{p(\bm{z_1} | \bm{X}, \bm{\theta} ^ {old})} \sum_{k = 1} ^ {K} {z_{1k} \ln{\pi_k}} \\ &= \sum_{k = 1} ^ {K} {\sum_{\bm{z_1}}{z_{1k} \gamma(\bm{z_1})}} \ln{\pi_k} \\ &= \sum_{k = 1} ^{K} {\gamma(z_{1k}) }\ln{\pi_k} \end{align}& eeimg=&1&&
(14)&/p&&p&第二部分带入的结果为:&/p&&p&(15)&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Csum_%7B%5Cbm%7BZ%7D%7D%7Bp%28%5Cbm%7BZ%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D%7Bz_%7Bn+-+1%2C+j%7D+z_%7Bnk%7D+%5Cln%7BA_%7Bjk%7D%7D%7D+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%5Csum_%7B+%5Cbm%7Bz_n%7D%7D%7Bp%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D%7Bz_%7Bn+-+1%2C+j%7D+z_%7Bnk%7D+%5Cln%7BA_%7Bjk%7D%7D%7D+%5C%5C+%26%3D+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7Bz_%7Bn-1%2Cj%7D+z_%7Bnk%7D+%5Cxi%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29%7D+%5Cln%7BA_%7Bjk%7D%7D+%5C%5C+%26%3D+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D+%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%29+%5Cln%7BA_%7Bjk%7D%7D+%5Cend%7Balign%7D& alt=&\begin{align} \sum_{\bm{Z}}{p(\bm{Z} | \bm{X}, \bm{\theta} ^ {old})} \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K}{z_{n - 1, j} z_{nk} \ln{A_{jk}}} &= \sum_{\bm{z_{n-1}}}\sum_{ \bm{z_n}}{p(\bm{z_{n-1}}, \bm{z_n} | \bm{X}, \bm{\theta} ^ {old})} \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K}{z_{n - 1, j} z_{nk} \ln{A_{jk}}} \\ &= \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K}\sum_{\bm{z_{n-1}}} \sum_{\bm{z_n}}{z_{n-1,j} z_{nk} \xi(\bm{z_{n-1}}, \bm{z_n})} \ln{A_{jk}} \\ &= \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K} \xi(z_{n-1,j}, z_{nk}) \ln{A_{jk}} \end{align}& eeimg=&1&&&br&&/p&&p&第三部分带入的结果为:&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Csum_%7B%5Cbm%7BZ%7D%7D%7Bp%28%5Cbm%7BZ%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7Bnk%7D+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D%7D+%26%3D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7Bp%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29%7D+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%7Bz_%7Bnk%7D+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D%7D+%5C%5C+%26%3D+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7Bz_%7Bnk%7D+%5Cgamma%28%5Cbm%7Bz_n%7D%29+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D+%7D+%5C%5C+%26%3D+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Cgamma%28z_%7Bnk%7D%29+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D+%5Cend%7Balign%7D& alt=&\begin{align} \sum_{\bm{Z}}{p(\bm{Z} | \bm{X}, \bm{\theta} ^ {old})} \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} {z_{nk} \ln{p(\bm{x_n} | \phi_k)}} &= \sum_{\bm{z_n}}{p(\bm{z_n} | \bm{X}, \bm{\theta} ^ {old})} \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} {z_{nk} \ln{p(\bm{x_n} | \phi_k)}} \\ &= \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} \sum_{\bm{z_n}}{z_{nk} \gamma(\bm{z_n}) \ln{p(\bm{x_n} | \phi_k)} } \\ &= \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} \gamma(z_{nk}) \ln{p(\bm{x_n} | \phi_k)} \end{align}& eeimg=&1&&
(16)&/p&&p&综上, &/p&&p&&img src=&/equation?tex=%5Cbm%7BQ%7D%28%5Cbm%7B%5Ctheta%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+%3D+%5Csum_%7Bk+%3D+1%7D+%5E%7BK%7D+%7B%5Cgamma%28z_%7B1k%7D%29+%7D%5Cln%7B%5Cpi_k%7D+%2B+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Csum_%7Bj+%3D+1%7D+%5E+%7BK%7D+%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%29+%5Cln%7BA_%7Bjk%7D%7D+%2B+%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%5Csum_%7Bk+%3D+1%7D+%5E+%7BK%7D+%5Cgamma%28z_%7Bnk%7D%29+%5Cln%7Bp%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29%7D+& alt=&\bm{Q}(\bm{\theta}, \bm{\theta} ^ {old}) = \sum_{k = 1} ^{K} {\gamma(z_{1k}) }\ln{\pi_k} + \sum_{n = 2} ^ {N} \sum_{k = 1} ^ {K} \sum_{j = 1} ^ {K} \xi(z_{n-1,j}, z_{nk}) \ln{A_{jk}} + \sum_{n = 1} ^ {N} \sum_{k = 1} ^ {K} \gamma(z_{nk}) \ln{p(\bm{x_n} | \phi_k)} & eeimg=&1&& (17)&/p&&p&其中,&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&&和&img src=&/equation?tex=%5Cxi+%28%5Cbm%7Bz%7D_%7Bn+-+1%7D%2C+%5Cbm%7Bz%7D_n%29& alt=&\xi (\bm{z}_{n - 1}, \bm{z}_n)& eeimg=&1&&是E步要求的量,在M步它们为常量,然后让 &img src=&/equation?tex=%5Cbm%7BQ%7D%28%5Cbm%7B%5Ctheta%7D%2C+%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D%29+& alt=&\bm{Q}(\bm{\theta}, \bm{\theta} ^ {old}) & eeimg=&1&&对参数求极值。对参数&img src=&/equation?tex=%5Cbm%7B%5Cpi%7D& alt=&\bm{\pi}& eeimg=&1&&和&img src=&/equation?tex=%5Cbm%7BA%7D& alt=&\bm{A}& eeimg=&1&&求极值比较容易,运用拉格朗日法可得:&/p&&p&&img src=&/equation?tex=%5Cpi_k+%3D+%5Cfrac%7B%5Cgamma%28z_%7B1k%7D%29%7D%7B%5Csum_%7Bj+%3D+1%7D+%5E%7BK%7D+%5Cgamma%28z_%7B1j%7D%29%7D& alt=&\pi_k = \frac{\gamma(z_{1k})}{\sum_{j = 1} ^{K} \gamma(z_{1j})}& eeimg=&1&&
(18.1)&/p&&p&&img src=&/equation?tex=A_%7Bjk%7D+%3D+%5Cfrac%7B%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%7B%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnk%7D%29%7D%7D%7B%5Csum_%7Bl+%3D+1%7D%5E%7BK%7D+%5Csum_%7Bn+%3D+2%7D+%5E+%7BN%7D+%7B%5Cxi%28z_%7Bn-1%2Cj%7D%2C+z_%7Bnl%7D%29%7D%7D& alt=&A_{jk} = \frac{\sum_{n = 2} ^ {N} {\xi(z_{n-1,j}, z_{nk})}}{\sum_{l = 1}^{K} \sum_{n = 2} ^ {N} {\xi(z_{n-1,j}, z_{nl})}}& eeimg=&1&&
(18.2)&/p&&p&对参数&img src=&/equation?tex=%5Cbm%7B%5Cpi%7D& alt=&\bm{\pi}& eeimg=&1&&和&img src=&/equation?tex=%5Cbm%7BA%7D& alt=&\bm{A}& eeimg=&1&&初始值的选取只要保证满足归一化条件、并且值为非0即可。因为如果初始值为0则在以后每步迭代该值始终为0,无法更新。&/p&&p&对参数&img src=&/equation?tex=%5Cbm%7B%5Cphi%7D& alt=&\bm{\phi}& eeimg=&1&&求极值取决于发射概率模型的具体形式。例如,当发射概率为高斯分布时我们有&img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cphi_k%29+%3D+N%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7B%5Cmu%7D_k%2C+%5Cbm%7B%5CSigma%7D_k%29& alt=&p(\bm{x_n} | \phi_k) = N(\bm{x_n} | \bm{\mu}_k, \bm{\Sigma}_k)& eeimg=&1&&,此时对参数求导并令倒数为0可得:&/p&&p&&img src=&/equation?tex=%5Cbm%7B%5Cmu%7D_k+%3D+%5Cfrac%7B%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%7B%5Cgamma%28z_%7Bnk%7D%29+%5Cbm%7Bx_n%7D%7D%7D%7B%5Csum_%7Bn+%3D+1%7D+%5E+%7BN%7D+%7B%5Cgamma%28z_%7Bnk%7D%29%7D%7D& alt=&\bm{\mu}_k = \frac{\sum_{n = 1} ^ {N} {\gamma(z_{nk}) \bm{x_n}}}{\sum_{n = 1} ^ {N} {\gamma(z_{nk})}}& eeimg=&1&&
(19)&/p&&p&&img src=&/equation?tex=%5Cbm%7B%5CSigma+%7D_k+%3D+%5Cfrac%7B%5Csum_%7Bn+%3D+1%7D+%5E%7BN%7D+%5Cgamma%28z_%7Bnk%7D%29+%28%5Cbm%7Bx_n%7D+-+%5Cbm%7B%5Cmu_k%7D%29+%28%5Cbm%7Bx_n%7D+-+%5Cbm%7B%5Cmu_k%7D%29+%5E+T%7D%7B%5Csum_%7Bn+%3D+1%7D%5E%7BN%7D%5Cgamma%28z_%7Bnk%7D%29%7D& alt=&\bm{\Sigma }_k = \frac{\sum_{n = 1} ^{N} \gamma(z_{nk}) (\bm{x_n} - \bm{\mu_k}) (\bm{x_n} - \bm{\mu_k}) ^ T}{\sum_{n = 1}^{N}\gamma(z_{nk})}& eeimg=&1&&
(20)&/p&&p&当发射概率为其它分布时,也会比较容易求出其极值点。&/p&&p&选取参数&img src=&/equation?tex=%5Cbm%7B%5Cphi%7D& alt=&\bm{\phi}& eeimg=&1&&的初始值的一种方法为,首先将所有观测数据当做独立同分布的,依此利用最大似然法拟合出参数值,并以此作为初始值。&/p&&h2&E步&/h2&&p&该步要求&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&&和&img src=&/equation?tex=%5Cxi+%28%5Cbm%7Bz%7D_%7Bn+-+1%7D%2C+%5Cbm%7Bz%7D_n%29& alt=&\xi (\bm{z}_{n - 1}, \bm{z}_n)& eeimg=&1&&,这部分会涉及到更多的公式推导,不过推导过程并不复杂,主要利用了HMM中的一些条件独立特性。因此在此有必要先将这些条件独立等式列出来。由于HMM也是概率图模型(Probabilistic Graphic Model,PGM)的一种特例,PGM中判断条件独立性最方便的莫过于利用d分离(d-separation)的概念了,在此做简单介绍。 &/p&&p&在概率图中有三种基本的连接方式,分别是顺连、分连和汇连,如下图所示,d分离正是针对这三种连接情况的条件独立性判断准则。&b&顺连&/b&是指箭头从一边进入连接节点,并从另一边分出。当已知连接节点 &img src=&/equation?tex=c& alt=&c& eeimg=&1&& 时,随机变量 &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 和 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 相互独立:&img src=&/equation?tex=p%28a%2C+b+%7C+c%29+%3D+p%28a+%7C+c%29+p%28b+%7C+c%29& alt=&p(a, b | c) = p(a | c) p(b | c)& eeimg=&1&&。可以理解为当已知 &img src=&/equation?tex=c& alt=&c& eeimg=&1&& 时,从 &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 到 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 的通路被阻塞,不确定性无法从 &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 传递到 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& ,因此 &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 和 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 相互独立。&b&分连&/b&是指两个箭头同时从连接节点分出,指向其他变量。同顺连的情况类似,当已知连接节点 &img src=&/equation?tex=c& alt=&c& eeimg=&1&& 时, &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 和 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 也相互独立:&img src=&/equation?tex=p%28a%2C+b+%7C+c%29+%3D+p%28a+%7C+c%29+p%28b+%7C+c%29& alt=&p(a, b | c) = p(a | c) p(b | c)& eeimg=&1&&。&b&汇连&/b&是指两个箭头同时从其它变量指向连接节点。与顺连和分连的情况不同,在汇连的情况下,如果已知连接节点 &img src=&/equation?tex=c& alt=&c& eeimg=&1&& , &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 和 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 不相互独立。相反,在 &img src=&/equation?tex=c& alt=&c& eeimg=&1&& 未知时, &img src=&/equation?tex=a& alt=&a& eeimg=&1&& 和 &img src=&/equation?tex=b& alt=&b& eeimg=&1&& 才相互独立。这样的结论似乎很难理解,幸好在HMM中,不存在汇连的情况,因此在此不做详细解释,留到后面介绍PGM的时候再详细解释。&/p&&br&&img src=&/v2-cd45a5c0674ef_b.png& data-rawwidth=&514& data-rawheight=&181& class=&origin_image zh-lightbox-thumb& width=&514& data-original=&/v2-cd45a5c0674ef_r.png&&&br&&img src=&/v2-cb298eff87fb8a3ac4e6cc_b.png& data-rawwidth=&426& data-rawheight=&301& class=&origin_image zh-lightbox-thumb& width=&426& data-original=&/v2-cb298eff87fb8a3ac4e6cc_r.png&&&br&&img src=&/v2-beef92dbc6d7bd_b.png& data-rawwidth=&428& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&428& data-original=&/v2-beef92dbc6d7bd_r.png&&&p&&br&&/p&&p&在此,就可以利用d分离的概念给出HMM中的一些条件独立式。为了方便对照着图形判断条件独立性,在此再次贴出HMM的概率图表示,如下图:&/p&&p&&br&&/p&&img src=&/v2-e5c03740dfb8d82f77bb127efc8c943f_b.png& data-rawwidth=&600& data-rawheight=&187& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-e5c03740dfb8d82f77bb127efc8c943f_r.png&&&p&&img src=&/equation?tex=p%28%5Cbm%7BX%7D+%7C+%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_n%7D%29& alt=&p(\bm{X} | \bm{z_n}) = p(\bm{x_1}, \cdots, \bm{x_n} | \bm{z_n})p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_n})& eeimg=&1&&
(21)&/p&&p&因为当已知 &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 时,从 &img src=&/equation?tex=%5Cleft%5C%7B+%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D+%5Cright%5C%7D& alt=&\left\{ \bm{x_1}, \cdots, \bm{x_n} \right\}& eeimg=&1&& 到 &img src=&/equation?tex=%5Cleft+%5C%7B+%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%5Cright+%5C%7D& alt=&\left \{ \bm{x_{n+1}}, \cdots, \bm{x_N} \right \}& eeimg=&1&& 之间通路被阻塞,因此两组变量条件独立。 &/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29& alt=&p(\bm{x_1}, \cdots, \bm{x_n} | \bm{z_n}) = p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_n}) p(\bm{x_n} | \bm{z_n})& eeimg=&1&&
(22)&/p&&p&同理,因为当已知 &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 时,从 &img src=&/equation?tex=%5Cleft%5C%7B+%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%5Cright%5C%7D& alt=&\left\{ \bm{x_1}, \cdots, \bm{x_{n-1}} \right\}& eeimg=&1&& 到 &img src=&/equation?tex=%5Cbm%7Bx_n%7D& alt=&\bm{x_n}& eeimg=&1&& 之间的通路被阻塞,因此两组变量条件独立。&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29p%28%5Cbm%7Bz_%7Bn%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%7D%29& alt=&p(\bm{x_1}, \cdots, \bm{x_{n-1}}, \bm{z_n} | \bm{z_{n-1}}) = p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_{n-1}})p(\bm{z_{n} | \bm{z_{n-1}}})& eeimg=&1&&
(23)&/p&&p&同理,因为当已知 &img src=&/equation?tex=%5Cbm%7Bz_%7Bn-1%7D%7D& alt=&\bm{z_{n-1}}& eeimg=&1&& 时,从 &img src=&/equation?tex=%5Cleft%5C%7B+%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%5Cright%5C%7D& alt=&\left\{ \bm{x_1}, \cdots, \bm{x_{n-1}} \right\}& eeimg=&1&& 到 &img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&& 之间的通路被阻塞,因此两组变量条件独立。利用的同样的道理,还可以推出以下条件独立式,不再赘述:&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+%3D+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+& alt=&p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_n}, \bm{z_{n+1}}) = p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_{n+1}}) & eeimg=&1&&
&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+%3D+p%28%5Cbm%7Bx_%7Bn%2B2%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29& alt=&p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_{n+1}}) = p(\bm{x_{n+2}}, \cdots, \bm{x_N} | \bm{z_{n+1}}) p(\bm{x_{n+1}} | \bm{z_{n+1}})& eeimg=&1&&
&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7BX%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7BN%7D%7D+%7C+%5Cbm%7Bz_%7Bn%7D%7D%29+& alt=&p(\bm{X} | \bm{z_{n-1}}, \bm{z_n}) = p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_{n-1}}) p(\bm{x_n} | \bm{z_n}) p(\bm{x_{n+1}}, \cdots, \bm{x_{N}} | \bm{z_{n}}) & eeimg=&1&&
&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%2C+%5Cbm%7BX%7D%29+%3D+p%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29& alt=&p(\bm{x_{N+1}} | \bm{z_{N+1}}, \bm{X}) = p(\bm{x_{N+1}} | \bm{z_{N+1}})& eeimg=&1&&
(27)&br&&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_N%7D%2C+%5Cbm%7BX%7D%29+%3D+p%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_N%7D%29& alt=&p(\bm{z_{N+1}} | \bm{z_N}, \bm{X}) = p(\bm{z_{N+1}} | \bm{z_N})& eeimg=&1&&
(28)&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7Bx_j%7D%2C+%5Cbm%7Bz_j%7D%29+%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29%2C+%5Cforall+j+%5Cneq+n& alt=&p(\bm{x_n} | \bm{z_n}, \bm{x_j}, \bm{z_j}) = p(\bm{x_n} | \bm{z_n}), \forall j \neq n& eeimg=&1&&
(29)&br&&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn+-+1%7D%7D%2C+%5Cbm%7Bx_i%7D%2C+%5Cbm%7Bz_j%7D%29%2C+%5Cforall+i+%3C+n%2C+j+%3C+n+-+1& alt=&p(\bm{z_n} | \bm{z_{n - 1}}, \bm{x_i}, \bm{z_j}), \forall i & n, j & n - 1& eeimg=&1&&
(30)&/p&&p&式(29)表明,当已知&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&时,&img src=&/equation?tex=%5Cbm%7Bx_n%7D& alt=&\bm{x_n}& eeimg=&1&&与其它任意变量独立;式(30)表明,当已知&img src=&/equation?tex=%5Cbm%7Bz_%7Bn-1%7D%7D& alt=&\bm{z_{n-1}}& eeimg=&1&&时,&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&与任意更早的观测变量或隐藏变量独立。&/p&&p&当一切准备工作做好之后,可以开始计算 &img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&& 和 &img src=&/equation?tex=%5Cxi+%28%5Cbm%7Bz%7D_%7Bn+-+1%7D%2C+%5Cbm%7Bz%7D_n%29& alt=&\xi (\bm{z}_{n - 1}, \bm{z}_n)& eeimg=&1&& 了。以下所有式子都是在已知 &img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D& alt=&\bm{\theta} ^ {old}& eeimg=&1&& 的条件下推导的,为了记号的简洁,省略了条件下参数 &img src=&/equation?tex=%5Cbm%7B%5Ctheta%7D+%5E+%7Bold%7D& alt=&\bm{\theta} ^ {old}& eeimg=&1&& 。根据 &img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&& 的定义,利用贝叶斯定理则有:&/p&&p&&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29+%3D+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%29+%3D+%5Cfrac%7Bp%28%5Cbm%7BX%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bz_n%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D& alt=&\gamma(\bm{z}_n) = p(\bm{z_n} | \bm{X}) = \frac{p(\bm{X} | \bm{z_n}) p(\bm{z_n})}{p(\bm{X})}& eeimg=&1&&
(31)&/p&&p&利用条件独立式(21)和贝叶斯定理,进一步变形为:&/p&&p&&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29+%3D+%5Cfrac%7Bp%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D%2C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_n%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D+%3D+%5Cfrac%7B%5Calpha%28%5Cbm%7Bz_n%7D%29+%5Cbeta%28%5Cbm%7Bz_n%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D& alt=&\gamma(\bm{z}_n) = \frac{p(\bm{x_1}, \cdots, \bm{x_n}, \bm{z_n}) p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_n})}{p(\bm{X})} = \frac{\alpha(\bm{z_n}) \beta(\bm{z_n})}{p(\bm{X})}& eeimg=&1&&
(32)&/p&&p&其中,定义了&/p&&p&&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D%2C+%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n}) = p(\bm{x_1}, \cdots, \bm{x_n}, \bm{z_n})& eeimg=&1&&
(33)&/p&&p&&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n}) = p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_n})& eeimg=&1&&
(34)&/p&&p&因此要求&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&&,就要求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29+& alt=&\alpha(\bm{z_n}) & eeimg=&1&&和&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&。以下需要利用HMM的条件独立式分别推出&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29+& alt=&\alpha(\bm{z_n}) & eeimg=&1&&和&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&的递推式。利用条件独立式(22)和(23):&/p&&br&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Calpha%28%5Cbm%7Bz_n%7D%29+%26%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D%2C+%5Cbm%7Bz_n%7D%29+%5C%5C+%26%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bz_n%7D%29+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bz_n%7D%29+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%7B+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29%7D+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%7B+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29p%28%5Cbm%7Bz_%7Bn-1%7D%7D%29%7D+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%7B+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29p%28%5Cbm%7Bz_%7Bn-1%7D%7D%29%7D+%5C%5C+%26%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%7B+p%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29%7D+%5Cend%7Balign%7D& alt=&\begin{align} \alpha(\bm{z_n}) &= p(\bm{x_1}, \cdots, \bm{x_n}, \bm{z_n}) \\ &= p(\bm{x_1}, \cdots, \bm{x_n} | \bm{z_n}) p(\bm{z_n}) \\ &= p(\bm{x_n} | \bm{z_n}) p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_n}) p(\bm{z_n}) \\ &= p(\bm{x_n} | \bm{z_n}) p(\bm{x_1}, \cdots, \bm{x_{n-1}}, \bm{z_n}) \\ &= p(\bm{x_n} | \bm{z_n}) \sum_{\bm{z_{n-1}}}{ p(\bm{x_1}, \cdots, \bm{x_{n-1}}, \bm{z_{n-1}}, \bm{z_n})} \\ &= p(\bm{x_n} | \bm{z_n}) \sum_{\bm{z_{n-1}}}{ p(\bm{x_1}, \cdots, \bm{x_{n-1}}, \bm{z_n} | \bm{z_{n-1}})p(\bm{z_{n-1}})} \\ &= p(\bm{x_n} | \bm{z_n}) \sum_{\bm{z_{n-1}}}{ p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_{n-1}}) p(\bm{z_n} | \bm{z_{n-1}})p(\bm{z_{n-1}})} \\ &= p(\bm{x_n} | \bm{z_n}) \sum_{\bm{z_{n-1}}}{ p(\bm{x_1}, \cdots, \bm{x_{n-1}}, \bm{z_{n-1}}) p(\bm{z_n} | \bm{z_{n-1}})} \end{align}& eeimg=&1&&
(35)&/p&&p&根据&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&的定义,可以得到关于 &img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29+& alt=&\alpha(\bm{z_n}) & eeimg=&1&&的递推式为:&/p&&p&&br&&/p&&p&&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29+%3D+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+%5Csum_%7B%5Cbm%7Bz_%7Bn-1%7D%7D%7D%7B%5Calpha%28%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29%7D& alt=&\alpha(\bm{z_n}) = p(\bm{x_n} | \bm{z_n}) \sum_{\bm{z_{n-1}}}{\alpha(\bm{z_{n-1}}) p(\bm{z_n} | \bm{z_{n-1}})}& eeimg=&1&&
(36)&/p&&p&由于对&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&的每一个分量&img src=&/equation?tex=z_%7Bnk%7D& alt=&z_{nk}& eeimg=&1&&,都要对&img src=&/equation?tex=%5Cbm%7Bz_%7Bn-1%7D%7D& alt=&\bm{z_{n-1}}& eeimg=&1&&的&img src=&/equation?tex=K& alt=&K& eeimg=&1&&个分量相乘后求和,因此计算&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&的计算量为&img src=&/equation?tex=O%28K%5E2%29& alt=&O(K^2)& eeimg=&1&&,对&img src=&/equation?tex=n+%3D+1%2C+%5Ccdots%2C+N& alt=&n = 1, \cdots, N& eeimg=&1&&计算所有的&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&的计算量为&img src=&/equation?tex=O%28NK%5E2%29& alt=&O(NK^2)& eeimg=&1&&。
&/p&&p&为了求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&,需要先求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_%7Bn-1%7D%7D%29& alt=&\alpha(\bm{z_{n-1}})& eeimg=&1&&;为了求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_%7Bn-1%7D%7D%29& alt=&\alpha(\bm{z_{n-1}})& eeimg=&1&&又要先求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_%7Bn-2%7D%7D%29& alt=&\alpha(\bm{z_{n-2}})& eeimg=&1&&…… 为了递归求出每一个&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&,需要知道初始值&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_1%7D%29& alt=&\alpha(\bm{z_1})& eeimg=&1&&。由于需要从前往后依次计算每一个&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&,因此该过程又称为&b&前向计算&/b&。 根据定义,前向计算的初始条件为:&/p&&p&&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_1%7D%29+%3D+p%28%5Cbm%7Bx_1%7D%2C+%5Cbm%7Bz_1%7D%29+%3D+p%28%5Cbm%7Bz_1%7D%29+p%28%5Cbm%7Bx_1%7D+%7C+%5Cbm%7Bz_1%7D%29+%3D+%5Cprod_%7Bk+%3D+1%7D+%5E%7BK%7D+%7B%5Cleft+%5C%7B+%5Cpi_k+p%28%5Cbm%7Bx_1%7D+%7C+%5Cphi_k%29%5Cright+%5C%7D%5E%7Bz_%7B1k%7D%7D%7D& alt=&\alpha(\bm{z_1}) = p(\bm{x_1}, \bm{z_1}) = p(\bm{z_1}) p(\bm{x_1} | \bm{z_1}) = \prod_{k = 1} ^{K} {\left \{ \pi_k p(\bm{x_1} | \phi_k)\right \}^{z_{1k}}}& eeimg=&1&&
(37)&/p&&p&此式告诉我们,&img src=&/equation?tex=%5Calpha%28%7Bz_%7B1k%7D%7D%29& alt=&\alpha({z_{1k}})& eeimg=&1&&的值就是&img src=&/equation?tex=%5Cpi_k+p%28%5Cbm%7Bx_1%7D+%7C+%5Cphi_k%29& alt=&\pi_k p(\bm{x_1} | \phi_k)& eeimg=&1&&。&/p&&p&同样,利用条件独立式(24)(25):&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Cbeta%28%5Cbm%7Bz_n%7D%29+%26%3D+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D+%7C+%5Cbm%7Bz_n%7D%29+%5C%5C+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%2C+%5Cbm%7Bz_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29%7D+%5C%5C+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%7D+%7C+%5Cbm%7Bz_n%7D%2C+%5Cbm%7Bz_%7Bn%2B1%7D%29+p%28%5Cbm%7Bz_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29%7D+%5C%5C+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%29+p%28%5Cbm%7Bz_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29%7D+%5C%5C+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7Bn%2B2%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+p%28%5Cbm%7Bz_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29%7D+%5Cend%7Balign%7D& alt=&\begin{align} \beta(\bm{z_n}) &= p(\bm{x_{n+1}}, \cdots, \bm{x_N} | \bm{z_n}) \\ &= \sum_{\bm{z_{n+1}}}{p(\bm{x_{n+1}}, \cdots, \bm{x_N}, \bm{z_{n+1}} | \bm{z_n})} \\ &= \sum_{\bm{z_{n+1}}}{p(\bm{x_{n+1}}, \cdots, \bm{x_N}} | \bm{z_n}, \bm{z_{n+1}) p(\bm{z_{n+1}} | \bm{z_n})} \\ &= \sum_{\bm{z_{n+1}}}{p(\bm{x_{n+1}}, \cdots, \bm{x_N}} | \bm{z_{n+1}) p(\bm{z_{n+1}} | \bm{z_n})} \\ &= \sum_{\bm{z_{n+1}}}{p(\bm{x_{n+2}}, \cdots, \bm{x_N}} | \bm{z_{n+1}) p(\bm{x_{n+1}} | \bm{z_{n+1}}) p(\bm{z_{n+1}} | \bm{z_n})} \end{align}& eeimg=&1&&
(38)&/p&&p&根据&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&的定义,可以得到关于 &img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29+& alt=&\beta(\bm{z_n}) & eeimg=&1&&的递推式为:
&/p&&p&&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29+%3D+%5Csum_%7B%5Cbm%7Bz_%7Bn%2B1%7D%7D%7D%7B+%5Cbeta%28%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_%7Bn%2B1%7D%7D%29+p%28%5Cbm%7Bz_%7Bn%2B1%7D%7D+%7C+%5Cbm%7Bz_n%7D%29%7D& alt=&\beta(\bm{z_n}) = \sum_{\bm{z_{n+1}}}{ \beta(\bm{z_{n+1}}) p(\bm{x_{n+1}} | \bm{z_{n+1}}) p(\bm{z_{n+1}} | \bm{z_n})}& eeimg=&1&&
(39)&/p&&p&由于对&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&的每一个分量&img src=&/equation?tex=z_%7Bnk%7D& alt=&z_{nk}& eeimg=&1&&,都要对&img src=&/equation?tex=%5Cbm%7Bz_%7Bn%2B1%7D%7D& alt=&\bm{z_{n+1}}& eeimg=&1&&的&img src=&/equation?tex=K& alt=&K& eeimg=&1&&个分量相乘后求和,因此计算&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&的计算量为&img src=&/equation?tex=O%28K%5E2%29& alt=&O(K^2)& eeimg=&1&&,对&img src=&/equation?tex=n+%3D+1%2C+%5Ccdots%2C+N& alt=&n = 1, \cdots, N& eeimg=&1&&计算所有的&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&的计算量为&img src=&/equation?tex=O%28NK%5E2%29& alt=&O(NK^2)& eeimg=&1&&。
&/p&&p&与求&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&的过程正好相反。为了求&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&,需要先求&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_%7Bn%2B1%7D%7D%29& alt=&\beta(\bm{z_{n+1}})& eeimg=&1&&;为了求&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_%7Bn%2B1%7D%7D%29& alt=&\beta(\bm{z_{n+1}})& eeimg=&1&&又要先求&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_%7Bn%2B2%7D%7D%29& alt=&\beta(\bm{z_{n+2}})& eeimg=&1&&…… 为了递归求出每一个&img src=&/equation?tex=%5Calpha%28%5Cbm%7Bz_n%7D%29& alt=&\alpha(\bm{z_n})& eeimg=&1&&,需要知道初始值&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_N%7D%29& alt=&\beta(\bm{z_N})& eeimg=&1&&。由于需要从后往前依次计算每一个&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_n%7D%29& alt=&\beta(\bm{z_n})& eeimg=&1&&,因此该过程又称为&b&后向计算&/b&。令式(32)中的&img src=&/equation?tex=n+%3D+N& alt=&n = N& eeimg=&1&&可得后向计算的初始条件&img src=&/equation?tex=%5Cbeta%28%5Cbm%7Bz_N%7D%29+%3D+1& alt=&\beta(\bm{z_N}) = 1& eeimg=&1&&。
&/p&&p&由于采用的是最大似然法,因此在EM算法的迭代过程中往往需要观测似然值的变化,以似然值不再增加作为迭代停止的条件,所以,能够计算似然值也非常重要。根据式(32),等式的左侧为&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&的条件概率,对&img src=&/equation?tex=%5Cbm%7Bz_n%7D& alt=&\bm{z_n}& eeimg=&1&&求和结果为1,因此似然值&/p&&br&&p&&img src=&/equation?tex=p%28%5Cbm%7BX%7D%29+%3D+%5Csum_%7B%5Cbm%7Bz_n%7D%7D%7B%5Calpha%28%5Cbm%7Bz_n%7D%29+%5Cbeta%28%5Cbm%7Bz_n%7D%29%7D& alt=&p(\bm{X}) = \sum_{\bm{z_n}}{\alpha(\bm{z_n}) \beta(\bm{z_n})}& eeimg=&1&&
(40)&/p&&p&由于对任意&img src=&/equation?tex=n& alt=&n& eeimg=&1&&计算结果相同,不妨令&img src=&/equation?tex=n+%3D+N& alt=&n = N& eeimg=&1&&,可得&/p&&p&&img src=&/equation?tex=p%28%5Cbm%7BX%7D%29+%3D+%5Csum_%7B%5Cbm%7Bz_N%7D%7D%7B%5Calpha%28%5Cbm%7Bz_N%7D%29%7D& alt=&p(\bm{X}) = \sum_{\bm{z_N}}{\alpha(\bm{z_N})}& eeimg=&1&&
(41)&/p&&p&同样,利用条件独立式(26):&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D+%5Cxi%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+%26%3D+p%28%5Cbm%7Bz_%7Bn+-+1%7D%7D%2C+%5Cbm%7Bz_n%7D+%7C+%5Cbm%7BX%7D%29+%5C%5C+%26%3D+%5Cfrac%7Bp%28%5Cbm%7BX%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bz_%7Bn+-+1%7D%7D%2C+%5Cbm%7Bz_n%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D+%5C%5C+%26%3D+%5Cfrac%7Bp%28%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7Bn-1%7D%7D+%7C+%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bx_%7Bn%2B1%7D%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_%7BN%7D%7D+%7C+%5Cbm%7Bz_%7Bn%7D%7D%29+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn+-+1%7D%7D%29+p%28%5Cbm%7Bz_%7Bn+-+1%7D%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D+%5C%5C+%26%3D+%5Cfrac%7B%5Calpha%28%5Cbm%7Bz_%7Bn-1%7D%7D%29+p%28%5Cbm%7Bx_n%7D+%7C+%5Cbm%7Bz_n%7D%29+p%28%5Cbm%7Bz_n%7D+%7C+%5Cbm%7Bz_%7Bn+-+1%7D%7D%29+%5Cbeta%28%5Cbm%7Bz_n%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7D+%5Cend%7Balign%7D& alt=&\begin{align} \xi(\bm{z_{n-1}}, \bm{z_n}) &= p(\bm{z_{n - 1}}, \bm{z_n} | \bm{X}) \\ &= \frac{p(\bm{X} | \bm{z_{n-1}}, \bm{z_n}) p(\bm{z_{n - 1}}, \bm{z_n})}{p(\bm{X})} \\ &= \frac{p(\bm{x_1}, \cdots, \bm{x_{n-1}} | \bm{z_{n-1}}) p(\bm{x_n} | \bm{z_n}) p(\bm{x_{n+1}}, \cdots, \bm{x_{N}} | \bm{z_{n}}) p(\bm{z_n} | \bm{z_{n - 1}}) p(\bm{z_{n - 1}})}{p(\bm{X})} \\ &= \frac{\alpha(\bm{z_{n-1}}) p(\bm{x_n} | \bm{z_n}) p(\bm{z_n} | \bm{z_{n - 1}}) \beta(\bm{z_n})}{p(\bm{X})} \end{align}& eeimg=&1&&
(42)&/p&&p&因此,在完成前向计算和后向计算之后,&img src=&/equation?tex=%5Cxi%28%5Cbm%7Bz_%7Bn-1%7D%7D%2C+%5Cbm%7Bz_n%7D%29+& alt=&\xi(\bm{z_{n-1}}, \bm{z_n}) & eeimg=&1&&可以直接得到。&/p&&p&至此,&img src=&/equation?tex=%5Cgamma%28%5Cbm%7Bz%7D_n%29& alt=&\gamma(\bm{z}_n)& eeimg=&1&&和&img src=&/equation?tex=%5Cxi+%28%5Cbm%7Bz%7D_%7Bn+-+1%7D%2C+%5Cbm%7Bz%7D_n%29& alt=&\xi (\bm{z}_{n - 1}, \bm{z}_n)& eeimg=&1&&均已求出。
&/p&&h2&&b&五、推理&/b&&/h2&&p&给定一组观测序列,根据以上描述的学习方法即可求出HMM的参数。然而大部分时候,求得模型的参数还不够,我们的最终目的往往是根据学习到的模型回答一些关心的问题,即推理。在HMM中,有两个问题是我们比较关心的,第一个是预测问题,即给定一组观测变量,要预测下一个观测变量,该问题利用HMM的条件独立式和前述前向计算的结果可直接得到;第二个是最大可能隐藏序列问题,即给定一组观测序列,如何找到与之对应的可能性最大的隐藏序列,该问题用维特比(Viterbi)算法可以高效求出。&/p&&h2&预测问题&/h2&&p&该问题要回答条件概率分布&img src=&/equation?tex=p%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bx_1%7D%2C+%5Ccdots%2C+%5Cbm%7Bx_N%7D%29& alt=&p(\bm{x_{N+1}} | \bm{x_1}, \cdots, \bm{x_N})& eeimg=&1&&即&img src=&/equation?tex=p%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%29& alt=&p(\bm{x_{N+1}} | \bm{X})& eeimg=&1&&是多少。利用条件独立式(27)(28):&br&&/p&&p&&img src=&/equation?tex=%5Cbegin%7Balign%7D%0Ap%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%29+%26%3D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D%2C+%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%29%7D+%5C%5C%0A%26%3D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29+p%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%29%7D+%5C%5C%0A%26%3D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29+%5Csum_%7B%5Cbm%7Bz_N%7D%7Dp%28%5Cbm%7Bz_N%7D%2C+%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%29%7D+%5C%5C%0A%26%3D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29+%5Csum_%7B%5Cbm%7Bz_N%7D%7Dp%28%5Cbm%7Bz_N%7D+%7C+%5Cbm%7BX%7D%29%7Dp%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7BX%7D%2C+%5Cbm%7Bz_%7BN%7D%7D%29+%5C%5C%0A%26%3D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29+%5Csum_%7B%5Cbm%7Bz_N%7D%7D%7D%5Cfrac%7Bp%28%5Cbm%7Bz_N%7D%2C++%5Cbm%7BX%7D%29%7D%7Bp%28%5Cbm%7BX%7D%29%7Dp%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%7D%7D%29+%5C%5C%0A%26%3D+%5Cfrac%7B1%7D%7Bp%28%5Cbm%7BX%7D%29%7D+%5Csum_%7B%5Cbm%7Bz_%7BN%2B1%7D%7D%7D%7Bp%28%5Cbm%7Bx_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%2B1%7D%7D%29+%5Csum_%7B%5Cbm%7Bz_N%7D%7D%7D+%0A+%5Calpha%28%5Cbm%7Bz_N%7D%29+p%28%5Cbm%7Bz_%7BN%2B1%7D%7D+%7C+%5Cbm%7Bz_%7BN%7D%7D%29%0A%5Cend%7Balign%7D& alt=&\begin{align}
p(\bm{x_{N+1}} | \bm{X}) &= \sum_{\bm{z_{N+1}}}{p(\bm{x_{N+1}}, \bm{z_{N+1}} | \bm{X})} \\
&= \sum_{\bm{z_{N+1}}}{p(\bm{x_{N+1}} | \bm{z_{N+1}}) p(\bm{z_{N+1}} | \bm{X})} \\
&= \sum_{\bm{z_{N+1}}}{p(\bm{x_{N+1}} | \bm{z_{N+1}}) \sum_{\bm{z_N}}p(\bm{z_N}, \bm{z_{N+1}} | \bm{X})} \\
&= \sum_{\bm{z_{N+1}}}{p(\bm{x_{N+1}} | \bm{z_{N+1}}) \sum_{\bm{z_N}}p(\bm{z_N} | \bm{X})}p(\bm{z_{N+1}} | \bm{X}, \bm{z_{N}}) \\
&= \sum_{\bm{z_{N+1}}}{p(\bm{x_{N+1}} | \bm{z_{N+1}}) \sum_{\bm{z_N}}}\frac{p(\bm{z_N},
\bm{X})}{p(\bm{X})}p(\bm{z_{N+1}

我要回帖

更多关于 四面楚歌 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信