hmm matlab代码实现分析,基于HMM的姿势识别 matlab代码

【实例简介】

基于HMM的姿势识别,data代码一应俱全。

【实例截图】

【核心代码】

hg

└── hg

├── comments.txt

├── LICENSE.txt

├── Matlab

│   ├── callback_classification.m

│   ├── classificationGUI.m

│   ├── classify.m

│   ├── converter.m

│   ├── create_units.m

│   ├── data

│   │   ├── archive

│   │   │   ├── ballHausLR.mat

│   │   │   ├── ballHausSchneckeBlumeLR.mat

│   │   │   ├── ballHausSchneckeLR.mat

│   │   │   ├── city.mat

│   │   │   ├── daniel.mat

│   │   │   ├── gestenLR.mat

│   │   │   ├── gesten.mat

│   │   │   ├── gestenSchwimmenLR.mat

│   │   │   ├── matlab.mat

│   │   │   ├── psycho2.mat

│   │   │   ├── psycho.mat

│   │   │   ├── thomasLR.mat

│   │   │   └── ws.mat

│   │   ├── default.mat

│   │   └── matlab.mat

│   ├── data.mat

│   ├── default.mat

│   ├── discretize.m

│   ├── discretizePositive(1).m

│   ├── discretizePositive.m

│   ├── em_converged.m

│   ├── extract_from_buffer.m

│   ├── forwards_backwards.m

│   ├── forwards.m

│   ├── Gesture.m

│   ├── init.m

│   ├── learn_dhmm.m

│   ├── log_lik_dhmm.m

│   ├── mk_dhmm_obs_lik.m

│   ├── mk_stochastic.m

│   ├── mygui2.m

│   ├── mygui.m

│   ├── new_buffer_index.m

│   ├── newStream.m

│   ├── normalise.m

│   ├── printBuffer.m

│   ├── recordGUI.m

│   ├── remove_gesture.m

│   ├── restPosGUI.m

│   ├── retrainGUI.m

│   ├── select_gesture.m

│   ├── settingsGUI.m

│   ├── settingsGUI.m~

│   ├── shiftLeft.m

│   ├── shiftRight.m

│   ├── show_confusion.m

│   ├── show_gestures.m

│   ├── show_HMMs.m

│   ├── startSensor.sh

│   ├── support

│   │   ├── compress.m

│   │   ├── convert.m

│   │   ├── readBlue.m

│   │   ├── reader.m

│   │   ├── recordGUI.saved.m

│   │   └── select_test.m

│   ├── testSensor.json

│   ├── train_HMM.m

│   └── trainingGUI.m

└── README.txt

5 directories, 66 files

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
hmm算法matlab实现和实例 hmm_em.m function [LL, prior, transmat, obsmat, nrIterations] = ... dhmm_em(data, prior, transmat, obsmat, varargin) % LEARN_DHMM Find the ML/MAP parameters of an HMM with discrete outputs using EM. % [ll_trace, prior, transmat, obsmat, iterNr] = learn_dhmm(data, prior0, transmat0, obsmat0, ...) % % Notation: Q(t) = hidden state, Y(t) = observation % % INPUTS: % data{ex} or data(ex,:) if all sequences have the same length % prior(i) % transmat(i,j) % obsmat(i,o) % % Optional parameters may be passed as 'param_name', param_value pairs. % Parameter names are shown below; default values in [] - if none, argument is mandatory. % % 'max_iter' - max number of EM iterations [10] % 'thresh' - convergence threshold [1e-4] % 'verbose' - if 1, print out loglik at every iteration [1] % 'obs_prior_weight' - weight to apply to uniform dirichlet prior on observation matrix [0] % % To clamp some of the parameters, so learning does not change them: % 'adj_prior' - if 0, do not change prior [1] % 'adj_trans' - if 0, do not change transmat [1] % 'adj_obs' - if 0, do not change obsmat [1] % % Modified by Herbert Jaeger so xi are not computed individually % but only their sum (over time) as xi_summed; this is the only way how they are used % and it saves a lot of memory. [max_iter, thresh, verbose, obs_prior_weight, adj_prior, adj_trans, adj_obs] = ... process_options(varargin, 'max_iter', 10, 'thresh', 1e-4, 'verbose', 1, ... 'obs_prior_weight', 0, 'adj_prior', 1, 'adj_trans', 1, 'adj_obs', 1); previous_loglik = -inf; loglik = 0; converged = 0; num_iter = 1; LL = []; if ~iscell(data) data = num2cell(data, 2); % each row gets its own cell end while (num_iter <= max_iter) & ~converged % E step [loglik, exp_num_trans, exp_num_visits1, exp_num_emit] = ... compute_ess_dhmm(prior, transmat, obsmat, data, obs_prior_weight); % M step if adj_prior prior = normalise(exp_num_visits1); end if adj_trans & ~isempty(exp_num_trans) transmat = mk_stochastic(exp_num_trans); end if adj_obs obsmat = mk_stochastic(exp_num_emit); end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值