HMM学习小结

主要参考:博主为“我爱自然语言处理”:www.52nlp.cn

英文版:http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html

HMM:隐马尔科夫模型

       一个HMM模型可以用5个元素来描述,包过2个状态集合和3个概率矩阵。其分别为:

       隐含状态S:一个系统的真实状态,可以由一个马尔科夫过程进行描述

       可观测状态O:这个过程中的“可视”状态;

       初始状态概率矩阵π:包含了模型在t=1时一个特殊的隐藏状态的概率;

       混淆矩阵B:包含了给定隐马尔科夫模型的某一个特殊的隐藏状态,观察到的某个观察状态的概率;

       状态转移概率矩阵A:包含了一个隐藏状态到另一个隐藏状态的概率。

       通俗的理解,通过例子比较好的理解,以上学习资料中的一个例子,有人试图通过一片海藻推断天气——民间传说告诉我们‘湿透的’海藻意味着潮湿阴雨,而‘干燥的’海藻则意味着阳光灿烂。如果它处于一个中间状态(‘有湿气’),我们就无法确定天气如何。然而,天气的状态并没有受限于海藻的状态,所以我们可以在观察的基础上预测天气是雨天或晴天的可 能性。另一个有用的线索是前一天的天气状态(或者,至少是它的可能状态)——通过综合昨天的天气及相应观察到的海藻状态,我们有可能更好的预测今天的天气。

      本例海藻的状态就是可观测的状态,天气就是隐含状态,可观测状态与天气之间的一种关系就是HMM模型。而平时HMM问题也就是求这些状态集和概率矩阵。

       wiki上也有个简单的例子:Alice 和Bob是好朋友,但是他们离得比较远,每天都是通过电话了解对方那天作了什么.Bob仅仅对三种活动感兴趣:公园散步,购物以及清理房间.他选择做什么事情只凭当天天气.Alice对于Bob所住的地方的天气情况并不了解,但是知道总的趋势.在Bob告诉Alice每天所做的事情基础上,Alice想要猜测Bob所在地的天气情况.
  Alice认为天气的运行就像一个马尔可夫链. 其有两个状态 “雨”和”晴”,但是无法直接观察它们,也就是说,它们对于Alice是隐藏的.每天,Bob有一定的概率进行下列活动:”散步”, “购物”, 或 “清理”. 因为Bob会告诉Alice他的活动,所以这些活动就是Alice的观察数据.这整个系统就是一个隐马尔可夫模型HMM.

      

      通常用的应用有三个,对应三个应用也有三个算法,向前算法,维特比算法和向后-向前算法;具体算法就不说了,我参考的资料中有对这几个算法详细的讲解。不过也可以通过实例能更好的理解,在http://www.cnblogs.com/tornadomeet/archive/2012/03/24/2415583.html该博主中有比较通俗易懂的例子。

     本次学习中唯一的遗憾是没暂止没看懂EM算法。。。

    以上内容有错请点出,一起学习,下一步将进一步实验HMM,并学习EM算法

   

    

     

 

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值