HMM模型
HMM模型基础
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。但是作为一个经典的模型,学习HMM的模型和对应算法,对我们解决问题建模的能力提高以及算法思路的拓展还是很好的。
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。但是作为一个经典的模型,学习HMM的模型和对应算法,对我们解决问题建模的能力提高以及算法思路的拓展还是很好的。
这部分讲机器翻译,尤其是在统计机器翻译(SMT)系统上,此部分关注IBM翻译模型。这里以翻译法语(源语言)为英语(目标语言)为例,用\(f\)表示法语句子,即\(f_1,f_2...f_m\),其中m为句子的长度;用e表示英语句子,即\(e_1,e_2...e_l\),其中l表示英语句子的长度。用\((f^{(k)},e^{k})\)表示第k个法语句子和英语句子。
这一章是对上一章的优化,PCFGs主要有两个关键的弱点,第一个是缺乏对词汇信息的敏感度,第二个是缺乏对结构的偏好,第一个问题是我们使用lexicalized PCFGs的根本原因。
Noam Chomsky 曾经把语言定义为按照一定规律构成的句子和符号串的有限或无限集合,形式语言是用来精确描述语言及其结构的手段,形式语言学也称为代数语言学。
对于一个句子,我们要做的是给每一个单词打上词性标记,比如句子the dog saw a cat
对应的tag sequence是D N V D N,这个句子的长度是5,对应的输入\(x_1=the,x_2=dog,x_3=saw,x_4=the,x_5=cat\),用\(y_1y_2...y_n\)来表示tagging model的output,对应上面的有\(y_1=D,y_2=N,y_3=V,...\)。匹配句子\(x_1...x_n\)的tag sequence \(y_1...y_n\)的问题叫做 sequence labeling problem 或者是 tagging problem。
这里首先有个语料库,记录了很多条句子,然后预测给定句子出现的概率。给定一个句子,这里句子的长度为n,也就是\(|V|=n\),第i个单词用字母\(x_i\)表示,那么概率公式表示为:\(P(X_1=x_1,X_2=x_2,...X_n=x_n)\)