亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bp_mrf2.m

?? 貝葉斯網(wǎng)絡(luò)的matlab實現(xiàn)??梢詣?chuàng)建貝葉斯網(wǎng)絡(luò)、訓(xùn)練模型
?? M
字號:
function [new_bel, niter, new_msg, edge_id, nstates] = bp_mrf2_general(adj_mat, pot, local_evidence, varargin)
% BP_MRF2_GENERAL Belief propagation on an MRF with pairwise potentials
% function [bel, niter] = bp_mrf2_general(adj_mat, pot, local_evidence, varargin)
%
% Input:
% adj_mat(i,j) = 1 iff there is an edge between nodes i and j
% pot(ki,kj,i,j) or pot{i,j}(ki,kj) = potential on edge between nodes i,j
%   If the potentials on all edges are the same,
%   you can just pass in 1 array, pot(ki,kj)
% local_evidence(state, node) or local_evidence{i}(k) = Pr(observation at node i | Xi=k)
%
% Use cell arrays if the hidden nodes do not all have the same number of values.
%
% Output:
% bel(k,i) or bel{i}(k) = P(Xi=k|evidence)
% niter contains the number of iterations used 
%
% [ ... ] = bp_mrf2(..., 'param1',val1, 'param2',val2, ...)
% allows you to specify optional parameters as name/value pairs.
% Parameters names are below [default value in brackets]
%
% max_iter - max. num. iterations [ 5*nnodes]
% momentum - weight assigned to old message in convex combination
%            (useful for damping oscillations) - currently ignored i[0]
% tol      - tolerance used to assess convergence [1e-3]
% maximize - 1 means use max-product, 0 means use sum-product [0]
% verbose - 1 means print error at every iteration [0]
%
% fn - name of function to call at end of every iteration [ [] ]
% fnargs - we call feval(fn, bel, iter, fnargs{:}) [ [] ]

nnodes = length(adj_mat);

[max_iter, momentum, tol, maximize, verbose, fn, fnargs] = ...
    process_options(varargin, 'max_iter', 5*nnodes, 'momentum', 0, ...
		    'tol', 1e-3, 'maximize', 0, 'verbose', 0, ...
		    'fn', [], 'fnargs', []);

if iscell(local_evidence)
  use_cell = 1;
else
  use_cell = 0;
  [nstates nnodes] = size(local_evidence);
end

if iscell(pot)
  tied_pot = 0;
else
  tied_pot = (ndims(pot)==2);
end


% give each edge a unique number
ndx = find(adj_mat);
nedges = length(ndx);
edge_id = zeros(1, nnodes*nnodes);
edge_id(ndx) = 1:nedges; 
edge_id = reshape(edge_id, nnodes, nnodes);

% initialise messages
if use_cell
  prod_of_msgs = cell(1, nnodes);
  old_bel = cell(1, nnodes);
  nstates = zeros(1, nnodes);
  old_msg = cell(1, nedges);
  for i=1:nnodes
    nstates(i) = length(local_evidence{i});
    prod_of_msgs{i} = local_evidence{i};
    old_bel{i} = local_evidence{i};
  end
  for i=1:nnodes
    nbrs = find(adj_mat(:,i));
    for j=nbrs(:)'
      old_msg{edge_id(i,j)} = normalise(ones(nstates(j),1));
    end
  end
else
  prod_of_msgs = local_evidence;
  old_bel = local_evidence;
  %old_msg = zeros(nstates, nnodes, nnodes); 
  old_msg = zeros(nstates, nedges); 
  m = normalise(ones(nstates,1));
  for i=1:nnodes
    nbrs = find(adj_mat(:,i));
    for j=nbrs(:)'
      old_msg(:, edge_id(i,j)) = m;
      %old_msg(:,i,j) = m;
    end
  end
end


converged = 0;
iter = 1;

while ~converged & (iter <= max_iter)
  
  % each node sends a msg to each of its neighbors
  for i=1:nnodes
    nbrs = find(adj_mat(i,:));
    for j=nbrs(:)'
      if tied_pot
	pot_ij = pot;
      else
	if iscell(pot)
	  pot_ij = pot{i,j};
	else
	  pot_ij = pot(:,:,i,j);
	end
      end
      pot_ij = pot_ij'; % now pot_ij(xj, xi) 
      % so pot_ij * msg(xi) = sum_xi pot(xj,xi) msg(xi) = f(xj)

      if 1
	% Compute temp = product of all incoming msgs except from j
	% by dividing out old msg from j from the product of all msgs sent to i
	if use_cell
	  temp = prod_of_msgs{i};
	  m = old_msg{edge_id(j,i)};
	else
	  temp = prod_of_msgs(:,i);
	  m = old_msg(:, edge_id(j,i));
	end
	if any(m==0)
	  fprintf('iter=%d, send from i=%d to j=%d\n', iter, i, j);
	  keyboard
	end
	m = m + (m==0); % valid since m(k)=0 => temp(k)=0, so can replace 0's with anything
	temp = temp ./ m;
	temp_div = temp;
      end
      
      if 1
	% Compute temp = product of all incoming msgs except from j in obvious way
	if use_cell
	  %temp = ones(nstates(i),1);
	  temp = local_evidence{i};
	  for k=nbrs(:)'
	    if k==j, continue, end;
	    temp = temp .* old_msg{edge_id(k,i)};
	  end
	else
	  %temp = ones(nstates,1);
	  temp = local_evidence(:,i);
	  for k=nbrs(:)'
	    if k==j, continue, end;
	    temp = temp .* old_msg(:, edge_id(k,i));
	  end
	end
      end
      %assert(approxeq(temp, temp_div))
      assert(approxeq(normalise(pot_ij * temp), normalise(pot_ij * temp_div)))
	
      if maximize
	newm = max_mult(pot_ij, temp); % bottleneck
      else
	newm = pot_ij * temp;
      end
      newm = normalise(newm);
      if use_cell
	new_msg{edge_id(i,j)} = newm;
      else
	new_msg(:, edge_id(i,j)) = newm;
      end
    end % for j 
  end % for i
  old_prod_of_msgs = prod_of_msgs;
  
  % each node multiplies all its incoming msgs and computes its local belief
  if use_cell
    for i=1:nnodes
      nbrs = find(adj_mat(:,i));
      prod_of_msgs{i} = local_evidence{i};
      for j=nbrs(:)'
	prod_of_msgs{i} = prod_of_msgs{i} .* new_msg{edge_id(j,i)};
      end
      new_bel{i} = normalise(prod_of_msgs{i});
    end
    err = abs(cat(1,new_bel{:}) - cat(1, old_bel{:}));
  else
    for i=1:nnodes
      nbrs = find(adj_mat(:,i));
      prod_of_msgs(:,i) = local_evidence(:,i);
      for j=nbrs(:)'
	prod_of_msgs(:,i) = prod_of_msgs(:,i) .* new_msg(:,edge_id(j,i));
      end
      new_bel(:,i) = normalise(prod_of_msgs(:,i));
    end
    err = abs(new_bel(:) - old_bel(:));
  end
  converged = all(err < tol);
  if verbose, fprintf('error at iter %d = %f\n', iter, sum(err)); end
  if ~isempty(fn)
    if isempty(fnargs)
      feval(fn, new_bel);
    else
      feval(fn, new_bel, iter, fnargs{:});
    end
  end
  
  iter = iter + 1;
  old_msg = new_msg;
  old_bel = new_bel;
end % while

niter = iter-1;

fprintf('converged in %d iterations\n', niter);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成亚洲人成在线观看图片| av不卡在线播放| 国产精品亚洲午夜一区二区三区| 岛国精品在线播放| 色哦色哦哦色天天综合| 69堂国产成人免费视频| 91美女片黄在线| 欧美一区二区三区在线看| 久久久久久久久久久久久久久99| 一色屋精品亚洲香蕉网站| 亚洲成a人片在线不卡一二三区| 狠狠色丁香婷婷综合| 91免费版在线看| 日韩欧美一级二级| 日韩美女视频一区二区 | 91视频在线观看| 欧美一区二区三区播放老司机| 精品国产污污免费网站入口| 久久久91精品国产一区二区精品 | 欧美在线免费播放| 精品日本一线二线三线不卡| 综合久久久久综合| 九九九久久久精品| 91黄色激情网站| 久久久电影一区二区三区| 亚洲一卡二卡三卡四卡| 国产高清成人在线| 欧美一区三区四区| 亚洲欧美日韩国产一区二区三区| 国产制服丝袜一区| 欧美日韩1区2区| 国产精品久久久久久久久动漫| 蜜桃久久精品一区二区| 色国产精品一区在线观看| 久久色在线观看| 天使萌一区二区三区免费观看| 国产91丝袜在线观看| 欧美一区二区三区免费观看视频| 亚洲欧美乱综合| 成人高清av在线| 精品成人a区在线观看| 视频在线观看一区二区三区| 色噜噜狠狠色综合中国| 国产欧美精品一区aⅴ影院| 国产女人aaa级久久久级| 91麻豆精品国产自产在线观看一区| 精品少妇一区二区| 亚洲香蕉伊在人在线观| 99精品黄色片免费大全| 国产人久久人人人人爽| 日韩精品高清不卡| 色激情天天射综合网| 国产精品视频免费| 国产馆精品极品| 精品国产91九色蝌蚪| 日韩av一区二区在线影视| 在线观看日韩精品| 亚洲日本成人在线观看| 成人h版在线观看| 国产精品嫩草久久久久| 国产xxx精品视频大全| 蜜臀国产一区二区三区在线播放| 国产91清纯白嫩初高中在线观看| 精品国产电影一区二区 | 欧美中文字幕一区二区三区亚洲 | 日韩欧美色综合| 天天操天天干天天综合网| 欧美亚洲动漫精品| 亚洲精品综合在线| 日本乱人伦aⅴ精品| 亚洲欧洲日产国产综合网| 成人免费黄色在线| 国产精品你懂的在线欣赏| 成人黄色av电影| 中文字幕一区免费在线观看| 99久久精品国产导航| 亚洲免费观看高清完整版在线观看 | 精品视频全国免费看| 一区二区高清免费观看影视大全| 色拍拍在线精品视频8848| 亚洲免费大片在线观看| 欧美怡红院视频| 日韩中文字幕一区二区三区| 日韩欧美一级特黄在线播放| 美脚の诱脚舐め脚责91| 久久久www成人免费毛片麻豆| 国产福利精品导航| 一区视频在线播放| 欧美日韩国产精品自在自线| 免费在线观看一区| 久久久久久麻豆| 99精品国产99久久久久久白柏| 亚洲九九爱视频| 欧美亚洲尤物久久| 日本三级亚洲精品| 久久精品这里都是精品| 成人动漫一区二区三区| 有码一区二区三区| 欧美一二区视频| 国产高清不卡二三区| 一区二区三区在线影院| 在线电影一区二区三区| 狠狠色丁香久久婷婷综| 国产精品美女视频| 欧美日韩亚洲另类| 国内精品久久久久影院一蜜桃| 亚洲国产岛国毛片在线| 欧美在线色视频| 经典三级在线一区| 1024亚洲合集| 日韩写真欧美这视频| 成人综合婷婷国产精品久久免费| 亚洲精选一二三| 精品久久久久99| 91免费版pro下载短视频| 奇米精品一区二区三区在线观看一 | 日本成人中文字幕在线视频| 国产日韩三级在线| 欧美午夜精品一区二区蜜桃| 国产一二精品视频| 亚洲最大成人网4388xx| 26uuu精品一区二区三区四区在线| jlzzjlzz亚洲日本少妇| 亚洲电影第三页| 久久蜜臀精品av| 精品视频色一区| 丁香一区二区三区| 午夜电影一区二区| 中文成人av在线| 欧美一卡二卡三卡| 不卡一卡二卡三乱码免费网站| 视频一区国产视频| 成人免费在线播放视频| 精品日韩欧美一区二区| 在线观看精品一区| 国产精品自拍毛片| 婷婷久久综合九色综合绿巨人| 欧美国产精品劲爆| 日韩欧美三级在线| 欧美日韩在线免费视频| av中文字幕亚洲| 国产精品88av| 久久福利资源站| 一色桃子久久精品亚洲| 日本不卡1234视频| 1024成人网| 久久综合丝袜日本网| 欧美日韩国产综合久久| 91网页版在线| 欧美撒尿777hd撒尿| 99久久精品免费观看| 国产麻豆精品在线| 麻豆一区二区在线| 亚洲成人精品一区二区| 亚洲色图丝袜美腿| 久久精品人人爽人人爽| 精品国产凹凸成av人网站| 91麻豆精品国产综合久久久久久| 色网站国产精品| fc2成人免费人成在线观看播放| 久久精品国产99| 免费的成人av| 日本免费新一区视频| 一级精品视频在线观看宜春院| 国产欧美一区二区精品性色超碰| 日韩一区二区三区四区| 在线观看91av| 欧美日韩一区高清| 在线视频你懂得一区| 99精品视频在线播放观看| 成人深夜视频在线观看| 国产激情偷乱视频一区二区三区| 久久99深爱久久99精品| 日本色综合中文字幕| 日本最新不卡在线| 日本不卡不码高清免费观看| 日韩高清一级片| 蜜臀a∨国产成人精品| 精品免费视频一区二区| 91精品国产91热久久久做人人 | 国产精品丝袜91| 国产调教视频一区| 国产视频一区不卡| 久久久一区二区三区| 欧美激情在线一区二区| 国产喂奶挤奶一区二区三区| 久久精品夜色噜噜亚洲a∨| 久久午夜免费电影| 国产精品欧美一区二区三区| 中文字幕中文字幕在线一区| 亚洲免费视频成人| 亚洲一区二区三区四区在线免费观看| 亚洲永久精品国产| 视频一区在线播放| 久久精品国产一区二区三| 国内精品免费在线观看| 丁香六月综合激情| 99精品欧美一区二区三区小说 | 日韩电影免费在线看| 丝袜亚洲另类欧美|