📄 mk_mhmm_obs_lik.m
字号:
function [B, B2] = mk_mhmm_obs_mat(data, mu, Sigma, mixmat)% MK_MHMM_OBS_MAT Make the sequence-specific observation matrix for a mixture-of-Gaussian HMM.% [B, B2] = mk_chmm_obs_mat(data, mu, Sigma, mixmat)%% Inputs:% data(:,t) = y(t) = observation vector at time t% mu(:,j,k) = E[Y(t) | Q(t)=j, M(t)=k]% Sigma(:,:,j,k) = Cov[Y(t) | Q(t)=j, M(t)=k]% mixmat(j,k) = Pr(M(t)=k | Q(t)=j) where M(t) is the mixture component at time t%% Output:% B(i,t) = Pr(y(t) | Q(t)=i)% B2(i,k,t) = Pr(y(t) | Q(t)=i, M(t)=k)Q = size(mixmat, 1);M = size(mixmat, 2);O = size(data, 1);T = size(data, 2);B2 = zeros(Q,M,T);B = zeros(Q,T);for j=1:Q for k=1:M B2(j,k,:) = gaussian_prob(data, mu(:,j,k), Sigma(:,:,j,k)); endend% B(j,t) = sum_k B2(j,k,t) * Pr(M(t)=k | Q(t)=j) B = squeeze(sum(B2 .* repmat(mixmat, [1 1 T]), 2));B = reshape(B, [Q T]); % in case Q = 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -