维特比算法(英语:Viterbi algorithm)
是一种动态规划算法。它用于寻找最有可能产生观测事件序列的维特比路径——隐含状态序列。
即,根据观察到的现象,推断出最可能的隐藏实质
例:医生每天问诊病人
states = ('Healthy', 'Fever') #病人要么健康要么发烧 observations = ('normal', 'cold', 'dizzy') #感觉良好/冷/头晕 start_probability = {'Healthy': 0.6, 'Fever': 0.4} #第一天可能的状态transition_probability = { 'Healthy' : {'Healthy': 0.7, 'Fever': 0.3}, #接下来一天可能的状态 'Fever' : {'Healthy': 0.4, 'Fever': 0.6}, } emission_probability = { 'Healthy' : {'normal': 0.5, 'cold': 0.4, 'dizzy': 0.1}, #不同状况对应可能的症状 'Fever' : {'normal': 0.1, 'cold': 0.3, 'dizzy': 0.6}, }
根据病人数天问诊得到的症状,如{ 良好, 冷, 头晕 },来推断其可能的状态