概率图模型小记

这一生的挚爱 提交于 2019-11-26 17:21:10

概率图模型:图中节点分为隐含节点、观测节点、边分为有向边和无向边。节点对应于随机变量,边对应两个节点间的依赖关系。最后基于这幅关系图获得一个概率分布。这就是概率图模型

分为两大块:贝叶斯网络(有向图)和马尔科夫网络(无向图)

朴素贝叶斯:由表达式可知后验概率决定了分类结果,故模型为y影响X

最大熵模型:熵是不确定性的度量。最大熵模型就是选择满足约束条件下熵最大的模型。通俗来说就是对于未知的事情,我们假设各个可能的观察结果出现的是一致的,即均匀分布。例如丢硬币,对于一枚未知的硬币,我们不知道它的密度是否均衡,我们就假设他的密度是均衡的,出现正反两面的概率均等

生成模式:利用训练集对联合概率分布P(x,y)建模,然后计算边缘概率分布作为结果推断——(常见的模型:朴素贝叶斯、贝叶斯网络、LDA、pLSA、隐马尔可夫模型)
判别模型:直接对条件概率分布P(y|x)建模,并以此作为推断依据。(常见模型:最大熵模型、条件随机场)

通常判别模型结果较好、生成模型较简单

隐马尔科夫模型:隐藏的马尔科夫链产生不可观测的随机状态序列,再由状态随机生成观测值
两大假设
其次马尔科夫性(任何时刻的状态只与前一时刻的状态有关,与其他时刻的观测和状态均无关,且与时刻t本身也无关)
观测独立性:观测值只与当前时刻的状态有关,与其他时刻的状态和观测无关

模型包含的三个基本问题:
计算问题:计算P(O|λ)。方法有直接计算法(时间复杂度TNTTN^T)、前向算法(时间复杂度TN2TN^2)、后向算法(时间复杂度TN2TN^2)
学习问题:极大化P(O|λ)求解。分为两种:监督学习(状态序列可观察、以频率估计参数,但是人工标注太昂贵)、非监督学习(使用baum-welch算法求解——EM算法的一种实现)
预测问题:即解码。给出P(O|λ)最大的状态序列。也分为两种算法:近似算法、维特比算法
近似算法:分别求出每个时刻概率最高的状态,并把这些状态按顺序组合成解。就是贪心算法,速度快、不保证是最优解
维特比算法:动态规划中的一种,能保证获得最优解。基本思想是:如果某个点在最优路径上,则之后的路径必然是最优,否则把包含该节点的前面路径和最优路径连接就能获得一个更优路径,矛盾。实现:从t=2开始,计算当前时刻每个状态的最大概率来源,并记录下上一个状态。例如:状态集为{1,2,3},计算时刻t=2时,状态为1观测值为y_j的概率来源:P(3>1),P(2>1),P(1>1)。如果P(3>1)最大,则记录下上一个节点为3,当前对状态1的最优路径是3>1。对每个状态都有一个最优路径。一直迭代T,我们可以获得概率最大的节点,把它当作最优路径的最后节点,然后回溯路径,对每一时刻选择和上一时刻连接的最优节点。最终获得了最优路径。整体上来看这里的维特比算法就是在一堆次最优解中选择最优,能保证最优解,和贪心算法不同。

隐马尔科夫模型的缺陷:现实生活中的事物不是完全无关联的,某个时刻的状态通常与其他时刻的观察和状态有关。例如词被标注为动词或者名词不仅与前一个词有关,甚至还与上下文有关。可以用最大熵隐马尔可夫模型(MEMM)解决
最大熵隐马尔可夫模型缺陷:如果某个状态i转移到下一时刻的状态个数少于状态集的势N,即存在Aij=0A_ij=0的情况。这时i转移到j被分流的少,下一节点中概率就大

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!