HMM属于生成模型（Generative Model），而MEMM和CRF属于判别模型（Discriminative Model）。简单来讲，生成模型是y决定x：对$p(x,y)=p(x|y)p(y)$联合概率分布进行建模；判别模型是x决定y：对$p(y|x)$条件概率分布进行建模。所以，从能力上来说，生成模型更“强大”，由全概率公式$p(x)=\sum_{y}{p(x,y)}$，生成模型有能力完全“生成”一个x。如果仅仅是为了对x进行分类，生成模型效果往往不如判别模型，原因我们可以粗略的理解为生成模型花了很多无用功在建模联合概率上。

## HMM

HMM是生成模型，对于输入序列X和状态序列Y，HMM建模p(X,Y)。设序列长度为N，状态个数为K。按照链式法则对$p(X,Y)$进行展开得到
$p(X,Y)=p(X|Y)P(Y)=p(x_1|Y)p(x_2|x_1,Y)...p(x_N|x_1,...,x_{N-1},Y) \\ p(y_1)p(y_2|y_1)...p(y_N|y_1,...,y_{N-1})$

1. 对于p(Y)，假设后一个状态之只和前一个状态有关，即$p(Y)=p(y_1)p(y_2|y_1)...p(y_N|y_{N-1})$，这样，可以将参数缩小到一个状态转移矩阵和一个初始状态分布，其参数个数为$K^{2} + K$，构成一阶马尔科夫链
2. 对于p(X|Y)，假设每个输入序列的项只与当前位置的状态有关，即$p(X|Y)=p(x_1|y_1)p(x_2|y_2)…p(x_N|y_N)$，这样，可以得到一个项目生成矩阵（符号生成矩阵），其参数个数为$KV$，其中$V$是所有项目（符号）的个数

HMM的概率图模型如下

1. 给定输入序列X和模型$\mu$，求概率$p(X|\mu)$
2. 给定输入序列X和模型$\mu$，求其最有可能的状态序列，即$argmax_{Y}p(Y|X,\mu)$
3. 给定输入序列X(可能包含对应的ground truth状态序列Y)，估计模型参数$\mu$使得$p(X|\mu)$最大

## MEMM

MEMM是判别模型，对于输入序列X和状态序列Y，MEMM建模p(Y|X)。按照链式法则对$p(Y|X)$展开得到
$p(Y|X)=p(y_1|X)p(y_2|y_1,X)...p(y_N|y_1,...y_{N-1},X)$

$p(Y|X)=p(y_1|X)p(y_2|y_1,X)...p(y_N|y_{N-1},X)$
MEMM模型使用softmax的形式对上述概率进行刻画

$p(y_i|y_{i-1},X)=\frac{exp(w \cdot f(y_i,y_{i-1},X))}{\sum_{y}{exp(w \cdot f(y,y_{i-1},X))}}$

MEMM的概率图模型如下（准确地说，模型中的每个词都应伸出N个边指向所有的状态节点）

## CRF

CRF同样是判别模型，建模p(Y|X)。和MEMM不同的是，CRF使用了全局的特征函数，针对全局做概率归一化，从而克服了MEMM的标记偏置问题。

$p(Y|X)=\frac{exp(w \cdot f(Y,X))}{\sum_{Y^{'}}{exp(w \cdot f(Y^{'},X))}}$

$f(Y,X)=\sum_{i=1}^{N}{f(y_i,y_{i-1},X)}$

CRF的概率图模型如下（准确地说，模型中的每个词都应伸出N个边指向所有的状态节点）

MEMMs and other non-generative finite-state models based on next-state classifiers, such as discriminative Markov models (Bottou, 1991), share a weakness we call here the label bias problem: the transitions leaving a given state compete only against each other, rather than against all other transitions in the model. In probabilistic terms, transition scores are the conditional probabilities of possible next states given the current state and the observation sequence. This per-state normalization of transition scores implies a “conservation of score mass” (Bottou, 1991) whereby all the mass that arrives at a state must be distributed among the possible successor states. An observation can affect which destination states get the mass, but not how much total mass to pass on. This causes a bias toward states with fewer outgoing transitions. In the extreme case, a state with a single outgoing transition effectively ignores the observation. In those cases, unlike in HMMs, Viterbi decoding cannot downgrade a branch based on observations after the branch point, and models with statetransition structures that have sparsely connected chains of states are not properly handled. The Markovian assumptions in MEMMs and similar state-conditional models insulate decisions at one state from future decisions in a way that does not match the actual dependencies between consecutive states.