循环神经网络
循环神经网络与我们 前面接触过的前馈神经网络和卷积神经网络最大的不同是有一些“记忆暂存”功能,可以把过去输入的内容所产生的远期影响量化后与当前时间输入的内容一起反应到网络中去参 与训练。 这也就解决了很多原来的前馈神经网络和卷积神经网络对于上下文有关的场景处理具有局限性的问题。
隐马尔可夫模型 (Hidden Markov Model,HMM)
隐马尔可夫模型(Hidden Markov Model,HMM)是统计分析模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。现已成功地用于语音识别,行为识别,文字识别以及故障诊断等领域。
隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程—-具有一定状态数的隐马尔可夫链和显示随机函数集。
马尔可夫链的核心是说,在给定当前知识或信息的情况下,观察对象过去的历史状态对于将来的预测来说预测是无关的。 也可以说,在观察一个系统变化的时候,它下一个状态(第 n+l 个状态)如何的概率只需要观察和统计当前状态(第 n 个状态)即可以正确得出。 另外 我们在一些资料上会看到贝叶斯信念网络的分类模型概念。 隐马尔可夫链和贝叶斯信念网络的模型思维方式有些接近,区别在于,隐马尔可夫链的模型更简化,或者我们可以认为隐马尔可夫链就是贝叶斯信念网络的一种特例。 而且隐马尔科夫链是一个双重的随机过程, 不仅状态转移之间是个随机事件,状态和输出之间也是一个随机过程。
任何一个HMM都可以通过下列五元组来描述:
:param obs:观测序列
:param states:隐状态
:param start_p:初始概率(隐状态)
:param trans_p:转移概率(隐状态)
:param emit_p: 发射概率 (隐状态表现为显状态的概率)
理解:在一个完整的观察过程中,有一些状态的转换就是图中用X圈表示的X1到Xn。 在观察中,这X1到 Xn 的状态存在一个客观的转化规律,但是我们没办法直接观测到,我们观测到的是每个X状态下的能让我们看到的输出 y,就是 y1 到 yn这些输出值。 我们需要通过 。y1 到 yn这些输出值来进行模型建立和状态转移的概率计算
下面用一个简单的例子阐述:
假设我手里有三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8。
假设我们开始掷骰子,我们先从三个骰子里挑一个,挑到每一个骰子的概率都是1/3。然后我们掷骰子,得到一个数字,1,2,3,4,5,6,7,8中的一个。不停的重复上述过程,我们会得到一串数字,每个数字都是1,2,3,4,5,6,7,8中的一个。例如我们可能得到这么一串数字(掷骰子10次