使用matalab实现HMM训练,已经验证正确性
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6225 2013-06-14 08:55 HMM(matlab)未改Hidden Markov Model (HMM) Toolbox for Matlab.mht
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0500.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0501.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0502.mat
文件 409 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0503.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0504.mat
文件 410 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0505.mat
文件 410 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0506.mat
文件 409 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0507.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0508.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0509.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0510.mat
文件 411 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0511.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0512.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0513.mat
文件 405 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0514.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0515.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0516.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0517.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0518.mat
文件 405 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0519.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0520.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0521.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0522.mat
文件 401 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0523.mat
文件 401 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0524.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0525.mat
文件 400 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0526.mat
文件 397 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0527.mat
文件 400 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0528.mat
............此处省略991个文件信息
function [alpha beta gamma loglik xi_summed gamma2] = fwdback(init_state_distrib ...
transmat obslik varargin)
% FWDBACK Compute the posterior probs. in an HMM using the forwards backwards algo.
%
% [alpha beta gamma loglik xi gamma2] = fwdback(init_state_distrib transmat obslik ...)
%
% Notation:
% Y(t) = observation Q(t) = hidden state M(t) = mixture variable (for MOG outputs)
% A(t) = discrete input (action) (for POMDP models)
%
% INPUT:
% init_state_distrib(i) = Pr(Q(1) = i)
% transmat(ij) = Pr(Q(t) = j | Q(t-1)=i)
% or transmat{a}(ij) = Pr(Q(t) = j | Q(t-1)=i A(t-1)=a) if there are discrete inputs
% obslik(it) = Pr(Y(t)| Q(t)=i)
% (Compute obslik using eval_pdf_xxx on your data sequence first.)
%
% Optional parameters may be passed as ‘param_name‘ param_value pairs.
% Parameter names are shown below; default values in [] - if none argument is mandatory.
%
% For HMMs with MOG outputs: if you want to compute gamma2 you must specify
% ‘obslik2‘ - obslik(ijt) = Pr(Y(t)| Q(t)=iM(t)=j) []
% ‘mixmat‘ - mixmat(ij) = Pr(M(t) = j | Q(t)=i) []
% or mixmat{t}(mq) if not stationary
%
% For HMMs with discrete inputs:
% ‘act‘ - act(t) = action performed at step t
%
% Optional arguments:
% ‘fwd_only‘ - if 1 only do a forwards pass and set beta=[] gamma2=[] [0]
% ‘scaled‘ - if 1 normalize alphas and betas to prevent underflow [1]
% ‘maximize‘ - if 1 use max-product instead of sum-product [0]
%
% OUTPUTS:
% alpha(it) = p(Q(t)=i | y(1:t)) (or p(Q(t)=i y(1:t)) if scaled=0)
% beta(it) = p(y(t+1:T) | Q(t)=i)*p(y(t+1:T)|y(1:t)) (or p(y(t+1:T) | Q(t)=i) if scaled=0)
% gamma(it) = p(Q(t)=i | y(1:T))
% loglik = log p(y(1:T))
% xi(ijt-1) = p(Q(t-1)=i Q(t)=j | y(1:T)) - NO LONGER COMPUTED
% xi_summed(ij) = sum_{t=}^{T-1} xi(ijt) - changed made by Herbert Jaeger
% gamma2(jkt) = p(Q(t)=j M(t)=k | y(1:T)) (only for MOG outputs)
%
% If fwd_only = 1 these become
% alpha(it) = p(Q(t)=i | y(1:t))
% beta = []
% gamma(it) = p(Q(t)=i | y(1:t))
% xi(ijt-1) = p(Q(t-1)=i Q(t)=j | y(1:t))
% gamma2 = []
%
% Note: we only compute xi if it is requested as a return argument since it can be very large.
% Similarly we only compute gamma2 on request (and if using MOG outputs).
%
% Examples:
%
% [alpha beta gamma loglik] = fwdback(pi A multinomial_prob(sequence B));
%
% [B B2] = mixgauss_prob(data mu Sigma mixmat);
% [alpha beta gamma loglik xi gamma2] = fwdback(pi A B ‘obslik2‘ B2 ‘mixmat‘ mixmat);
if 0 % nargout >= 5
warning(‘this now returns sum_t xi(ijt) not xi(ijt)‘)
end
if nargout >= 5 compute_xi = 1; else compute_xi = 0; end
if nargout >= 6 compute_gamma2 = 1; else compute_gamma2 = 0; end
[obslik2 mixmat fwd_only scaled act maximize compute_xi compute_gamma2] = ...
process_options(varargin ...
‘obslik2‘ [] ‘mixmat‘ [] ...
‘fwd_only‘ 0 ‘scaled‘ 1 ‘act‘ [] ‘maximize‘ 0 ...
‘compute_xi‘ compute_xi ‘compute_gamma2‘ compute_gamma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6225 2013-06-14 08:55 HMM(matlab)未改Hidden Markov Model (HMM) Toolbox for Matlab.mht
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0500.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0501.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0502.mat
文件 409 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0503.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0504.mat
文件 410 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0505.mat
文件 410 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0506.mat
文件 409 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0507.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0508.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0509.mat
文件 408 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0510.mat
文件 411 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0511.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0512.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0513.mat
文件 405 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0514.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0515.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0516.mat
文件 407 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0517.mat
文件 406 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0518.mat
文件 405 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0519.mat
文件 404 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0520.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0521.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0522.mat
文件 401 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0523.mat
文件 401 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0524.mat
文件 402 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0525.mat
文件 400 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0526.mat
文件 397 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0527.mat
文件 400 2013-06-14 08:55 HMM(matlab)未改HMMalleval_0528.mat
............此处省略991个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)