学习视频:机器学习-白板推导系列(十七)-条件随机场CRF(Conditional Random Field)_哔哩哔哩_bilibili
HMM
生成模型
参数模型为,其中Π为初始概率矩阵,A为状态转移矩阵,B为发射矩阵。
初始概率矩阵为随机生成的值。
状态转移矩阵既是y_t-1到y_t的参数状态变化趋势,隐状态的变化趋势。
发射矩阵既是y_t到x_t的概率,状态变量到观测变量的概率。
建模对象, 由公式可以看出来,X,Y都是生成得来的。
且在HMM中有两个假设。
1.齐次一阶Markov假设:
例如y1到y2的变化只与y1有关,标准解释是,不存在y_t-1,使得y_t与y_t-2有关。
2.观测独立假设:
每一个x_t只与y_t有关。
HMM要解决的三个问题:
1.evaluation 求值问题:Given Landa,求P(O|Landa)
分有forward和backward两种方式。
forward:由x_1,x_2....x_t来求出y_t。
backward:由x_t,x_t-1...x_n来求出x_n-1
2.learning 参数学习问题:Landa = argmaxP(O|Landa)
3.Decoding:I = argmaxP(I|O,lANDA)
找到一个合适的隐状态序列使得argmax P(I|O) (I是隐状态,O是观测)
顺便一提,argmax函数的作用是对于y=f(x),若有x0 = argmaxf(x), 则是当x=x0值的时候f(x)有最大值,参数最优问题常用这个表达式。
MEMM
判别模型
建模对象:
打破了HMM的观测独立假设,使得模型更加合理。
(既是y_t不应该只由x_t决定,而应该同时受着上下文的影响。)
存在的问题:
lable bias problem(便签偏差问题)
原因:局部归一化
example:我们将3个rob和1个rib丢入模型中训练,则模型中 r -> o 的概率为0.75,r -> i 的概率为0.25,后面的字母连接概率全部为1,在当我们将rib丢入模型中判断的时候,我们得到的结果会是rob,因为r -> o 的概率较高,所以直接得到错误的结果。
如图:
训练出来的模型中,2->3, 3->4, 5->6, 6->4的概率都为 1,他们的熵值为0。
而这里我们得到一个结论:在有向图中,熵值越小,input对output的影响越小。
而MEMM图无向后,则变成CRF