%隐马尔可夫前向算法:求观测序列概率P
%A状态转移概率矩阵
%B观测概率矩阵
%pai初始状态概率矩阵
%a前向概率矩阵
%T总时刻
%Q状态集合,V观测集合
%课本p200 例10.2
A=[0.5 0.2 0.3;0.3 0.5 0.2;0.2 0.3 0.5];
B=[0.5 0.5;0.4 0.6;0.7 0.3];
pai=[0.2;0.4;0.4];
T=3;
O=[1;2;1];%1代表红球,2代表白球
a=zeros(T,size(pai,1));%1代表行数,2代表列数
%计算初值
for t=1:T
a(1,t)=pai(t)*B(t,O(1));
end
%递推计算
for t=2:T
for i=1:size(pai,1)
a(t,i)=a(t-1,:)*A(:,i)*B(i,O(t));
end
end
a
%终止
P=sum(a(3,:));
P
记录学习李航《统计学习方法》算法