能解释一下HMM算法吗?
1 372
2
该提问暂无详细描述
收藏
2021-01-19 17:49 更新 gitvrar •  459
共 1 个回答
高赞 时间
0

HMM不是算法,而是模型。 理解任何概率模型的一种好方法是在脑海中不断前进,以了解如何从假定的参数获取数据。

首先,假设您有一个硬币,一个飞镖盘和一套飞镖。 这个想法是,每次掷硬币的结果都将成为您进行飞镖活动的开关。 您反复投掷硬币:每当您正面朝上时,就朝靶心向靶子投掷飞镖;每当您背面朝上时,就朝着双20投掷。

不难想象,飞镖将在抛掷很多硬币(和掷飞镖)后看起来如何。 但以防万一,您可能会发现以下图表很有用。

通过以这种方式投掷飞镖(假设您的飞镖投掷始终存在高斯误差),您就已经从混合模型生成数据。

HMM是混合模型的动态同级。 它们是动态的,因为在飞镖上要瞄准的点的选择不仅取决于抛硬币的当前结果,还取决于先前抛硬币的结果。

让我们扩展飞镖计划以表示HMM生成的数据。 您用两个具有不同偏差的硬币替换了先前拥有的硬币(例如,一个硬币仅在1/5的时间内显示正面,而另一个硬币可能在2/3的时间内显示正面),分别标记为1和2。

第一步,拿起一个硬币(不要紧),然后扔掉。 按照与以前相同的规则投掷飞镖(对靶心或对双20)。 现在,新规则是,根据前一次掷硬币的结果选择下一个掷硬币。 如果先前的结果是正面,则接下来使用硬币1。 如果是尾巴,请使用硬币2。

在某些情况下,您会看到顺序模式出现在下面所示的飞镖板上。 (此模式的条件是两个硬币都高度偏向:硬币1朝向正面,硬币2朝向尾部)。 在此扩展示例中,我们执行的操作是将过渡矩阵引入混合模型(由硬币的数量和偏差捕获)并绘制一阶顺序随机变量。

HMM概念非常灵活且易于扩展。 想象一下,由于投掷硬币,您选择了标记偏斜的骰子而不是投掷飞镖。 这就像用多项分布的观测值代替高斯分布的观测值。 想象一下,您用十个十面骰子代替了两个硬币,作为开关。 这就像增加HMM中的组件数量。 或想像一下,不是仅根据前一次掷骰的结果来选择下一个硬币,而是将它基于前两个结果(N.B.,现在将需要四个硬币。欢迎来到三维的诅咒)。

最后,想象一下,您不是自己执行这种奇怪的方案,而是走进一个其他人正在跟踪它的房间(并隐藏了抛硬币的结果)。 您仅凭飞镖在飞镖板上的顺序就可以说硬币吗? 这就是参数推断的问题。 有多种方法可以执行参数推断,在此我将不对其进行描述(但首先请查看“期望最大化”和“正向后退算法”)。

维特比算法对参数推断回答了一个不同的问题。 它问道:“考虑到飞镖的顺序排列和硬币参数(已知或推断),硬币结果最可能出现的顺序是什么?”。 这是与“这种特殊的飞镖最有可能产生硬币的结果是什么?”不同的问题。

收藏
2021-01-19 17:52 更新 同步 •  1418