我只是想弄清楚统计数字,所以对不起这个问题,我感到抱歉。我已经使用马尔可夫模型来预测隐藏状态(不正当赌场,掷骰子等)和神经网络来研究用户在搜索引擎上的点击。两者都有隐藏状态,我们试图使用观察来弄清楚。
据我了解,它们都可以预测隐藏状态,所以我想知道何时在神经网络上使用马尔可夫模型?它们只是解决类似问题的不同方法吗?
(我对学习感兴趣,但是我也有另一个动机,我有一个问题,我正在尝试使用隐藏的马尔可夫模型来解决,但是这使我大吃一惊,所以我很想知道是否可以改用其他东西。)
我只是想弄清楚统计数字,所以对不起这个问题,我感到抱歉。我已经使用马尔可夫模型来预测隐藏状态(不正当赌场,掷骰子等)和神经网络来研究用户在搜索引擎上的点击。两者都有隐藏状态,我们试图使用观察来弄清楚。
据我了解,它们都可以预测隐藏状态,所以我想知道何时在神经网络上使用马尔可夫模型?它们只是解决类似问题的不同方法吗?
(我对学习感兴趣,但是我也有另一个动机,我有一个问题,我正在尝试使用隐藏的马尔可夫模型来解决,但是这使我大吃一惊,所以我很想知道是否可以改用其他东西。)
Answers:
隐藏了什么,观察到了什么
隐藏在隐马尔可夫模型中的事物与隐藏在离散混合模型中的事物相同,因此为清楚起见,请忽略隐藏状态的动力学,并以有限的混合模型为例。该模型中的“状态”是导致每次观察的组件的标识。在此类模型中,从来没有观察到这种原因,因此将“隐藏原因”从统计学上转换为这样一种说法,即观察到的数据具有边际依赖性,当源组件已知时,这些边际依赖性将被删除。估计源成分是使该统计关系成立的任何因素。
具有S形中间单元的前馈多层神经网络中隐藏的东西是这些单元的状态,而不是作为推理目标的输出。当网络的输出是分类(即,在可能的输出类别上的概率分布)时,这些隐藏的单位值定义了类别可分离的空间。学习这样一个模型的诀窍是(通过调整输入单元之外的映射)创建一个问题是线性的隐藏空间。因此,从整个系统来看,非线性决策边界是可能的。
生成与区分
混合模型(和HMM)是数据生成过程的模型,有时也称为似然或“前向模型”。结合关于每个状态的先验概率的一些假设,您可以使用贝叶斯定理(一种生成方法)推断隐藏状态的可能值的分布。注意,虽然称为“先验”,但通常从数据中学习似然性的先验和参数。
与混合模型(和HMM)相反,神经网络直接学习输出类别上的后验分布(判别方法)。这是可能的,因为在估算期间观察到了输出值。并且由于已经观察到它们,因此不必根据先验模型和特定模型来构造诸如混合之类的可能性的后验分布。后验是直接从数据中学习的,其效率更高,模型依赖性更小。
连连看
为了使事情更加混乱,可以将这些方法混合在一起,例如,有时实际上会观察到混合模型(或HMM)状态。如果这是正确的,并且在某些其他与此处不相关的情况下,则可以在其他生成模型中进行区分训练。类似地,可以用更灵活的正向模型(例如神经网络)替换HMM的混合模型映射。
问题
因此,这两个模型都无法预测隐藏状态并不是很正确。HMM 可以用来预测隐藏状态,尽管只是前向模型所期望的那种。神经网络可用于预测尚未观察到的状态,例如可使用预测器的未来状态。这种状态原则上并没有隐藏,只是尚未被观察到。
您什么时候使用而不是另一个?嗯,根据我的经验,神经网络制作的时间序列模型有些尴尬。他们还假设您已观察到输出。HMM没有,但是您实际上对隐藏状态实际上没有任何控制。然而,它们是适当的时间序列模型。
Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.
,您的意思是用前馈NN代替排放概率p(Observed | Hidden)吗?我在几个地方遇到过这个问题,但是没有一个给出解释。他们只是提到他们已经实施了。我认为他们取代了学习排放的MLE步骤,但不知道如何。您知道任何代码或说明性示例吗?任何指针欢迎,谢谢。
隐藏的马尔可夫模型可用于生成一种语言,即列出一系列字符串中的元素。例如,如果您拥有对一组序列进行建模的HMM,则可以通过列出属于我们正在建模的序列组的序列来生成该族的成员。
神经网络,从高维空间获取输入并将其简单地映射到低维空间(神经网络映射此输入的方式是基于训练,其拓扑结构和其他因素)。例如,您可以拍摄一个数字的64位图像,并将其映射到描述此数字是1还是0的true / false值。
尽管这两种方法都能够(或至少可以尝试)区分某项是否为类的成员,但神经网络无法生成如上所述的语言。
隐藏的马尔可夫模型有多种选择,例如,如果您认为问题出在HMM缺乏力量的原因之内,则可以使用更通用的贝叶斯网络,不同的拓扑或随机上下文无关文法(SCFG)。为您的问题建模-也就是说,如果您需要一种能够区分更复杂的假设和/或描述更复杂的数据行为的算法。
从我发现的结果来看,对这个问题的最佳答案是:正在变相深入学习马尔可夫链。这正是我的理解,但是由于Internet上已经有其他讨论,因此将链接放在此处。
我们可以使用字符序列作为输入,而不是单个字符。这样,我们可以更好地捕获状态(取决于上下文)。