⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hmmtest2vb.m

📁 Mathematical Methods by Moor n Stiling.
💻 M
字号:
% Test the HMM using both Viterbi and EM-algorithm based training methods

% Copyright 1999 by Todd K. Moon

HMM.A = [0 1/4 .2;   1 1/4 .4;   0 1/2 .4];
HMM.pi = [1;0;0];        HMM.final = [0 0 1];
HMM.f{1} = 2;   % Gaussian distribution
HMM.f{2,1} = [1;1;1];    HMM.f{2,2} = [-1;-1;-1];    HMM.f{2,3} = [5;5;5];
HMM.f{3,1} = .5*eye(3);  HMM.f{3,2} = .6*eye(3);     HMM.f{3,3} = .7*eye(3);

hmminitvit(HMM,10);             % initialize the Viterbi stuff
[y,ss] = hmmgendat(8,HMM);      % generate some test data

lpy1 = hmmlpyseqn(y,HMM);       % find the "any path" likelihood
lpyv1 = hmmlpyseqv(y,HMM);      % find the "best path" likelihood

% 11 = EM trained, any path   12 = EM trained, best path
% 21 = VA trained, any path   22 = VA trained, best path
lp11 = lpy1;
lp21 = lpy1;
lp12 = lpyv1;
lp22 = lpyv1;
hmmnew = HMM;                    % prepare to train using EM and VA methods
hmmnewv = HMM;
for i=1:4
  hmmnew = hmmupdaten(y,hmmnew); % update using EM algorithm
  hmmnewv = hmmupdatev(y,hmmnewv);% update using VA methods
  hmminitvit(hmmnewv,10);        % reset the VA to use this new model
  lpy11 = hmmlpyseqn(y,hmmnew);  % compute the sequence likelihood in each case
  lpy12 = hmmlpyseqv(y,hmmnew);
  lpy21 = hmmlpyseqn(y,hmmnewv);
  lpy22 = hmmlpyseqv(y,hmmnewv);
  lp11 = [lp11 lpy11];
  lp12 = [lp12 lpy12];
  lp21 = [lp21 lpy21];
  lp22 = [lp22 lpy22];
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -