维特比算法在机器学习中非常重要,在求解隐马尔科夫和条件随机场的预测问题中均用到了维特比算法。实际上,维特比算法不仅是很多自然语言处理的解码算法,也是现代数字通信中使用最频繁的算法。
以一个简单的隐马尔科夫模型为例,
x=(x1,x2,...,xN) 为观测符号, y=(y1,y2,...,yN) 为隐状态序列,要求的预测问题为:
(y1,y2,...,yN)=argmaxP(y1,y2,...,yN|x1,x2,...,xN)
依据马尔科夫假设,上式等价于:
argmax∏i=1NP(xi|yi)⋅P(yi|yi−1)
在隐马尔科夫链中,任意时刻t下状态的值是有多个的,以拼音转汉字为例,输入拼音“yike”,可能有的值为一颗、一刻、一棵等等,用符号 yij 表示状态