NLP Homework 03 ——冯煜博
题目描述
(盒子和球模型)假设有3个盒子,每个盒子里装有红白两种颜色的球,盒子里的红白球有下表列出,初始状态分布。
解答
1. 给出HMM模型 μ=(A,B,π)
A 如下矩阵:
Abox1box2box3box10.50.30.2box20.20.50.3box30.30.20.5
B 如下矩阵
Bbox1box2box3red1225710white1235310
π 为如下矩阵
πbox10.2box20.4box30.4
2. 试用前向算法计算观测序列概率:{红,白,红}
O = {红, 白, 红}
step 1 初始化
a红(box1)=πbox1bbox1(红)=0.2×12=0.1
a红(box2)=πbox2bbox2(红)=0.4×25=0.16
a红(box3)=πbox3bbox3(红)=0.4×710=0.28
step 2 归纳计算
a红白(box1)=[∑i=13a红(boxi)aboxibox1]bbox1(白)=[a红(box1)×0.5+a红(box2)×0.3+a红(box3)×0.2]×12=0.077
a红白(box2)=[∑i=13a红(boxi)aboxibox2]bbox2(白)=[a红(box1)×0.2+a红(box2)×0.5+a红(box3)×0.3]×35=0.1104
a红白(box3)=[∑i=13a红(boxi)aboxibox3]bbox3(白)=[a红(box1)×0.3+a红(box2)×0.2+a红(box3)×0.5]×310=0.0606
a红白红(box1)=[∑i=13a红白(boxi)aboxibox1]bbox1(红)=[a红白(box1)×0.5+a红白(box2)×0.3+a红白(box3)×0.2]×12=0.04187
a红白红(box2)=[∑i=13a红白(boxi)aboxibox2]bbox2(红)=[a红白(box1)×0.2+a红白(box2)×0.5+a红白(box3)×0.3]×25=0.035512
a红白红(box3)=[∑i=13a红白(boxi)aboxibox3]bbox3(红)=[a红白(box1)×0.3+a红白(box2)×0.2+a红白(box3)×0.5]×710=0.052836
step 3 求和终结
P(O|μ)=∑i=13a红白红(boxi)=a红白红(box1)+a红白红(box2)+a红白红(box3)=0.04187+0.035512+0.052836=0.130218
3. 试用维特比算法,求解观测序列{红,白,红}的最优状态序列。 (要求给详细计算过程)
假设从盒子中取球是放回抽样概率模型。
step 1 初始化
δ红(box1)=πbox1bbox1(红)=0.2×12=0.1
δ红(box2)=πbox2bbox2(红)=0.4×25=0.16
δ红(box3)=πbox3bbox3(红)=0.4×710=0.28
φ红(box1)=0
φ红(box2)=0
φ红(box3)=0
step 2 归纳计算 1
δ红白(box1)=max[δ红(box1)abox1box1,δ红(box2)abox2box1,δ红(box3)abox3box1]bbox1(白)=0.28×0.2×12=0.028
δ红白(box2)=max[δ红(box1)abox1box2,δ红(box2)abox2box2,δ红(box3)abox3box2]bbox1(白)=0.28×0.3×35=0.0504
δ红白(box3)=max[δ红(box1)abox1box3,δ红(box2)abox2box3,δ红(box3)abox3box3]bbox3(白)=0.28×0.5×310=0.042
记忆回退路径 1
φ红白(box1)=argmax[δ红(box1)abox1box1,δ红(box2)abox2box1,δ红(box3)abox3box1]bbox1(白)=12δ红(box3)abox3box1
φ红白(box2)=argmax[δ红(box1)abox1box2,δ红(box2)abox2box2,δ红(box3)abox3box2]bbox2(白)=35δ红(box3)abox3box2
δ红白(box3)=argmax[δ红(box1)abox1box3,δ红(box2)abox2box3,δ红(box3)abox3box3]bbox3(白)=310δ红(box3)abox3box3
归纳计算 2
δ红白红(box1)=max[δ红白(box1)abox1box1,δ红白(box2)abox2box1,δ红白(box3)abox3box1]bbox1(红)=0.0504×0.3×12=0.0756
δ红白红(box2)=max[δ红白(box1)abox1box2,δ红白(box2)abox2box2,δ红白(box3)abox3box2]bbox1(红)=0.0504×0.5×25=0.01008
δ红白红(box3)=max[δ红白(box1)abox1box3,δ红白(box2)abox2box3,δ红白(box3)abox3box3]bbox3(红)=0.042×0.5×710=0.0147
记忆回退路径 2
φ红白红(box1)=argmax[δ红白(box1)abox1box1,δ红白(box2)abox2box1,δ红白(box3)abox3box1]bbox1(红)=12δ红(box2)abox2box1
φ红白红(box2)=argmax[δ红白(box1)abox1box2,δ红白(box2)abox2box2,δ红白(box3)abox3box2]bbox2(红)=25δ红白(box2)abox2box2
δ红白红(box3)=argmax[δ红白(box1)abox1box3,δ红白(box2)abox2box3,δ红白(box3)abox3box3]bbox3(白)=710δ红白(box3)abox3box3
step 3 终结
Q^红白红=argmax[δ红白红(box1),δ红白红(box2),δ红白红(box3)]=δ红白红(box3)
P^(Q^红白红)=max[δ红白红(box1),δ红白红(box2),δ红白红(box3)]=0.0147
step 4 路径(状态序列)回溯
q^红白=φ红白红(q^红白红)=φ红白红[δ红白红(box3)]
q^红=φ红白(q^红白)=φ红白[δ红白(box2)]
q^=φ红(q^红)=φ红[δ红(box3)]