📄 demgausshmm_back.m
字号:
% A demonstration of the HMM software using a Gaussian observation% model on AR features and backward compatibility features (hmminit)load demgaussT=size(arp,1);% X original time series% arp AR(4) featuresplot(X);title('Original data');disp('The middle section of data is mainly 10Hz activity');disp('wheras the beginning and end sections are just noise');disp(' ');disp('Press a key to continue');pausedisp(' ');disp('We will train a Gaussian Mixture Model on AR-4 features derived from');disp('overlapping blocks of the time series.');disp('The resulting GMM will be used to initialise an HMM.');disp(' ');disp('Press a key to continue');pause% Train up GMM on this datahmm=struct('K',2);disp(' ');hmm=hmminit(arp,hmm,'full');disp('Means of HMM initialisation');hmm.state(1).Muhmm.state(2).Mu% Train up HMM on observation sequence data using Baum-Welch% This uses the forward-backward method as a sub-routinedisp('We will now train the HMM using Baum/Welch');disp(' ');disp('Press a key to continue');pausedisp('Estimated HMM');hmm.train.cyc=30;hmm.obsmodel='Gauss';hmm.train.obsupdate=ones(1,hmm.K); % update observation models ?hmm.train.init=1; % Yes, we've already done initialisationhmm=hmmtrain(arp,T,hmm);disp('Means');hmm.state(1).Muhmm.state(2).Mudisp('Initial State Probabilities, Pi');hmm.Pidisp('State Transition Matrix, P');hmm.P[block]=hmmdecode(arp,T,hmm);% Find most likely hidden state sequence using Viterbi methodfigureplot(block(1).q_star);axis([0 T 0 3]);title('Viterbi decoding');disp('The Viterbi decoding plot shows that the time series');disp('has been correctly partitioned.');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -