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

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

?? gennoiseds.m

?? 遞歸貝葉斯估計的工具包
?? M
?? 第 1 頁 / 共 2 頁
字號:
    if Gaussian_flag        Arg.type = 'combo-gaussian';        Arg.tag  = Noise.tag;        Arg.dim  = Noise.dim;        Arg.noiseSources = Noise.noiseSources;        NoiseDS = gennoiseds(Arg);    else        % Restructure NoiseDS data structure        NoiseDS.type = 'NoiseDS';        NoiseDS.ns_type = Noise.type;        NoiseDS.cov_type = Noise.cov_type;        NoiseDS.tag = Noise.tag;        NoiseDS.N = Noise.N;        NoiseDS.idxArr = Noise.idxArr;        NoiseDS.dim = Noise.dim;        NoiseDS.mu = Noise.mu;        NoiseDS.cov = Noise.cov;        NoiseDS.noiseSources = Noise.noiseSources;        NoiseDS.sample = @sample_combo;        NoiseDS.update = @update_combo;        NoiseDS.likelihood = @likelihood_combo;    end%===============================================================================================%--- Gaussian Mixture Modelcase 'gmm'    if isfield(ArgDS,'M')        Noise.M = ArgDS.M;    else        error(' [ gennoiseds::gmm ] Number of mixture components not specified.');    end    %-- assign noise source mean vector    if ~isfield(ArgDS,'mu')        Noise.mu = zeros(Noise.dim,Noise.M);    % default value    else        if (size(ArgDS.mu)==[Noise.dim Noise.M])            Noise.mu = ArgDS.mu;        else            error(' [ gennoiseds::gmm ] Centroid mean dimension error.');        end    end    %-- check for and assign cov_type    if isfield(ArgDS,'cov_type')        Noise.cov_type = ArgDS.cov_type;    else        warning(' [ gennoiseds::gmm ] Covariance type field .cov_type not assigned!. Assuming default value, ''full''');        Noise.cov_type = 'full';             % default cov_type    end    %-- assign mixing weights    if ~isfield(ArgDS,'weights')        Noise.weights = (1/Noise.M)*ones(1,Noise.M);    else        if (length(ArgDS.weights)==Noise.M)            Noise.weights = ArgDS.weights/(sum(ArgDS.weights));   % assign normalized weights        else            error(' [ gennoiseds::gmm ] Incorrect number of mixing weights (priors).');        end    end    %-- assign rest of noise source structure    switch (Noise.cov_type)    %.............................................................................................    case {'full','diag'}        %-- assign noise source covariance structure        if ~isfield(ArgDS,'cov')            Noise.cov = repmat(eye(Noise.dim),[1 1 Noise.M]);    % default value            warning(' [ gennoiseds::gmm ] Covariance field .cov not assigned!. Assuming default unity value.');        elseif ((Noise.M == 1) & (size(ArgDS.cov) == [Noise.dim Noise.dim])) | ...               ((Noise.M  > 1) & (size(ArgDS.cov) == [Noise.dim Noise.dim Noise.M]))            Noise.cov = ArgDS.cov;        else            error([' [ gennoiseds::gmm::full ] Noise source covariance matrix has incorrect dimensions.']);        end    %.............................................................................................    case {'sqrt','sqrt-diag'}        %-- assign noise source covariance structure        if ~isfield(ArgDS,'cov')            Noise.cov = repmat(eye(Noise.dim),[1 1 Noise.M]);    % default value            warning(' [ gennoiseds::gmm ] Covariance field .cov not assigned!. Assuming default unity value.');        elseif ((Noise.M == 1) & (size(ArgDS.cov) == [Noise.dim Noise.dim])) | ...               ((Noise.M  > 1) & (size(ArgDS.cov) == [Noise.dim Noise.dim Noise.M]))            Noise.cov = ArgDS.cov;        else            error([' [ gennoiseds::gmm::sqrt ] Noise source covariance matrix has incorrect dimensions.']);        end    %.............................................................................................    otherwise        error(' [ gennoiseds::gmm ] Unkown noise source cov_type.');    end    % Restructure NoiseDS data structure    NoiseDS.type = 'NoiseDS';    NoiseDS.ns_type = Noise.type;    NoiseDS.cov_type = Noise.cov_type;    NoiseDS.tag = Noise.tag;    NoiseDS.dim = Noise.dim;    NoiseDS.M = Noise.M;    NoiseDS.weights = Noise.weights;    NoiseDS.mu = Noise.mu;    NoiseDS.cov = Noise.cov;    NoiseDS.sample = @gmmsample;    NoiseDS.likelihood = @likelihood_gmm;%===============================================================================================otherwise  error([' [ gennoiseds ] Noise type ' type ' not supported.']);endNoiseDS.adaptMethod = [];%***********************************************************************************************%***                                                                                         ***%***                               SUB FUNCTION BLOCK                                        ***%***                                                                                         ***%***********************************************************************************************%===============================================================================================function NoiseDS = update_gaussian(NoiseDS)% Updates a Gaussian noise source%% This function is only a placeholder here since Gaussian noise sources are completely updated, i.e.% mean and covariance are set externally, i.e. there are no INTERNAL structure to update.%===============================================================================================function noise = sample_gaussian(NoiseDS, N)% Generate N samples of a noise source specified by the NoiseDS data structure    switch NoiseDS.cov_type    case 'full'        A = chol(NoiseDS.cov)';    case 'diag'        A = diag(sqrt(diag(NoiseDS.cov)));    case 'sqrt'        A = NoiseDS.cov;    case 'sqrt-diag'        A = NoiseDS.cov;    otherwise        error(' [ sample_gaussian ] Unknown cov_type.');    end    noise = A*randn(NoiseDS.dim,N) + cvecrep(NoiseDS.mu,N);%===============================================================================================function llh = likelihood_combo_gaussian(NoiseDS, noise, idxVec)% Calculates the likelihood of sample 'noise', given the noise model NoiseDS. If the optional index% vector 'idxVec' is specified, only those sub-noise sources are used. The 'noise' vector's dimension should% concur with the implied total dimensionality of 'idxVec'    if (nargin == 2)      idxVec = 1:NoiseDS.N;    end    numNS = length(idxVec);    [dim,nov] = size(noise);    idxArr = NoiseDS.idxArr;        % copy beginning/ending index array    llh = ones(1,nov);    % ... for each noise source    for j=1:numNS,        idx1 = idxArr(idxVec(j),1);        idx2 = idxArr(idxVec(j),2);        idxRange = idx1:idx2;        dim = idx2-idx1+1;        switch NoiseDS.cov_type        case 'full'            D  = det(NoiseDS.cov(idxRange,idxRange));            iP = inv(NoiseDS.cov(idxRange,idxRange));        case 'diag'            D = prod(diag(NoiseDS.cov(idxRange,idxRange)));            iP = diag(1./diag(NoiseDS.cov(idxRange,idxRange)));        case 'sqrt'            D = det(NoiseDS.cov(idxRange,idxRange))^2;            iS = inv(NoiseDS.cov(idxRange,idxRange));            iP = iS'*iS;        case 'sqrt-diag'            D = prod(diag(NoiseDS.cov(idxRange,idxRange)))^2;            iP = diag(1./(diag(NoiseDS.cov(idxRange,idxRange)).^2));        otherwise            error(' [ likelihood_gaussian ] Unkown cov_type.');        end        X = noise - cvecrep(NoiseDS.mu(idxRange),nov);        q = 1/sqrt((2*pi)^dim * D);        llh = llh .* (q * exp(-0.5*diag(X'*iP*X)'));    end    llh = llh + 1e-99; % needed to avoid 0 likelihood (cause ill conditioning)%===============================================================================================function llh = likelihood_combo(NoiseDS, noise, idxVec)% Calculates the likelihood of sample 'noise', given the noise model NoiseDS.% 'idxVec' is an optional index vector that can be used to indicate which of the N sub-noise sources should be used.% to calculate the likelihood... this also requires 'noise' to have the same dimension of the relevant sub-noise source.    if (nargin == 2)      idxVec = 1:NoiseDS.N;    end    numNS = length(idxVec);    [dim,nov] = size(noise);    idxArr = NoiseDS.idxArr;        % copy beginning/ending index array    llh = ones(1,nov);    % ... for each noise source    for j=1:numNS,        idx1 = idxArr(idxVec(j),1);        idx2 = idxArr(idxVec(j),2);        subNoiseDS = NoiseDS.noiseSources{idxVec(j)};        llh = llh .* feval(subNoiseDS.likelihood, subNoiseDS, noise(idx1:idx2,:));    end    llh = llh + 1e-99; % needed to avoid 0 likelihood (cause ill conditioning)%===============================================================================================function noise = sample_combo(NoiseDS, N)%  Generate N samples of a noise source specified by the NoiseDS data structure    noise=zeros(NoiseDS.dim,N);     % setup noise sample output buffer    idxArr = NoiseDS.idxArr;        % copy beginning/ending index array    % ... for each noise source    for j=1:NoiseDS.N        subNoiseDS = NoiseDS.noiseSources{j};        noise(idxArr(j,1):idxArr(j,2),:) = feval(subNoiseDS.sample, subNoiseDS, N);    end%===============================================================================================function noise = sample_combo_gaussian(NoiseDS, N)%  Generate N samples of a noise source specified by the NoiseDS data structure    noise=cvecrep(NoiseDS.mu,N);    % setup noise sample output buffer    idxArr = NoiseDS.idxArr;        % copy beginning/ending index array    num = NoiseDS.N;    for j=1:num        ind1 = idxArr(j,1);        ind2 = idxArr(j,2);        switch NoiseDS.cov_type        case 'full'            A = chol(NoiseDS.cov(ind1:ind2,ind1:ind2))';        case 'diag'            A = diag(sqrt(diag(NoiseDS.cov(ind1:ind2,ind1:ind2))));        case 'sqrt'            A = NoiseDS.cov(ind1:ind2,ind1:ind2);        case 'sqrt-diag'            A = NoiseDS.cov(ind1:ind2,ind1:ind2);        otherwise            error(' [ sample_gaussian ] Unkown cov_type.');        end        noise(ind1:ind2,:) = noise(ind1:ind2,:) + A*randn(ind2-ind1+1,N);    end%===============================================================================================function NoiseDS = update_combo_gaussian(NoiseDS)% Updates a 'combination Gaussian' noise source which has N Gaussian sub noise sources. The global mean and covariance% is updated externally and then this function is called to update the internal sub-noise source structure.%idxArr = NoiseDS.idxArr;for j=1:NoiseDS.N,    ind1 = idxArr(j,1);    ind2 = idxArr(j,2);    idxRange = ind1:ind2;    NoiseDS.noiseSources{j}.mu = NoiseDS.mu(idxRange,1);    NoiseDS.noiseSources{j}.cov = NoiseDS.cov(idxRange,idxRange);end%===============================================================================================function noise = sample_gamma(NoiseDS, N)% Generate N samples of a noise source specified by the NoiseDS data structure    alpha = NoiseDS.alpha;    beta = NoiseDS.beta;    if (alpha==1)        noise = -log(1-rand(1,N))*beta;        return    end    flag=0;    if (alpha<1)        flag=1;        alpha=alpha+1;    end    gamma=alpha-1;    eta=sqrt(2.0*alpha-1.0);    c=.5-atan(gamma/eta)/pi;    y(N)=0;    for k=1:N,        aux=-.5;        while(aux<0)            y(k)=-.5;            while(y(k)<=0)                u=rand(1,1);                y(k) = gamma + eta * tan(pi*(u-c)+c-.5);            end            v=-log(rand(1,1));            aux=v+log(1.0+((y(k)-gamma)/eta)^2)+gamma*log(y(k)/gamma)-y(k)+gamma;        end    end    if (flag==1)        noise = y.*beta.*(rand(1,N)).^(1.0/(alpha-1));    else        noise = y.*beta;    end%===============================================================================================function llh = likelihood_gamma(NoiseDS, noise)% Calculates the likelihood of sample 'noise', given the noise model NoiseDS.    llh = noise.^(NoiseDS.alpha-1) .* exp((-1/NoiseDS.beta)*noise);%===============================================================================================function llh = likelihood_gmm(NoiseDS, noise)% Calculates the likelihood of sample 'noise', given the noise model NoiseDS.[prior,likelihood,evidence] = gmmprobability(NoiseDS, noise);llh = evidence;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女淫视频| 久久av老司机精品网站导航| 91麻豆精品国产91久久久更新时间 | 懂色av一区二区在线播放| 亚洲免费电影在线| 久久精品视频一区二区三区| 欧洲精品在线观看| 国产91精品一区二区麻豆网站| 亚洲 欧美综合在线网络| 中文字幕亚洲一区二区av在线| 日韩欧美电影一二三| 欧美在线观看一区二区| 91在线观看免费视频| 国产福利精品导航| 精品在线观看视频| 日韩中文字幕av电影| 亚洲精品大片www| 国产精品拍天天在线| 久久久一区二区| 精品乱人伦一区二区三区| 欧美美女视频在线观看| 色哟哟在线观看一区二区三区| 丁香桃色午夜亚洲一区二区三区| 麻豆一区二区三| 日韩国产精品大片| 五月天精品一区二区三区| 一区二区三区国产精华| 中文字幕在线视频一区| 国产精品无码永久免费888| 久久综合九色综合97婷婷 | 精品国产凹凸成av人网站| 欧美区一区二区三区| 在线观看视频一区| 欧美在线观看一二区| 日本精品一级二级| 色八戒一区二区三区| 在线免费观看日本欧美| 在线欧美小视频| 欧美色网站导航| 欧美视频精品在线观看| 欧美日韩一区二区不卡| 欧美日韩国产首页| 欧美精品自拍偷拍| 日韩亚洲欧美成人一区| 日韩欧美一区中文| 精品捆绑美女sm三区| 久久在线免费观看| 国产女同互慰高潮91漫画| 亚洲国产高清在线观看视频| 1区2区3区精品视频| 亚洲乱码日产精品bd| 亚洲国产乱码最新视频| 日韩电影在线一区二区三区| 奇米色777欧美一区二区| 激情图片小说一区| 成人性视频免费网站| 色综合天天狠狠| 欧美日韩国产在线播放网站| 欧美一区二区三区四区久久| 精品国产91亚洲一区二区三区婷婷 | 91在线porny国产在线看| 91视视频在线观看入口直接观看www| 色综合天天综合在线视频| 国产精品日韩精品欧美在线| 国产精品妹子av| 一区二区日韩av| 美女在线观看视频一区二区| 国产精品91一区二区| 97久久超碰国产精品| 欧美片在线播放| 精品国一区二区三区| 欧美国产精品v| 一级做a爱片久久| 蜜臀va亚洲va欧美va天堂| 粉嫩av一区二区三区| 欧美午夜精品一区| 亚洲精品一区二区三区影院| 国产精品国产三级国产a| 亚洲国产成人tv| 国产精品综合在线视频| 在线观看精品一区| 亚洲精品一区二区三区影院| 亚洲免费在线视频一区 二区| 日韩福利电影在线| 99久久99久久精品国产片果冻 | 国产露脸91国语对白| 色综合天天综合网国产成人综合天 | 成人av综合一区| 欧美精品vⅰdeose4hd| 国产欧美日韩久久| 午夜亚洲福利老司机| 国产不卡视频在线播放| 3751色影院一区二区三区| 国产精品免费网站在线观看| 日日噜噜夜夜狠狠视频欧美人| 成人午夜电影网站| 日韩女优电影在线观看| 亚洲理论在线观看| 国产成人精品一区二区三区网站观看 | 伊人性伊人情综合网| 国产九九视频一区二区三区| 欧美日韩一区二区三区四区| 国产欧美日韩中文久久| 美女视频一区二区| 在线观看欧美精品| 最新国产の精品合集bt伙计| 久久66热re国产| 欧美日韩国产一二三| 亚洲视频每日更新| 成人自拍视频在线| 久久久99久久| 久久精品av麻豆的观看方式| 在线免费观看日韩欧美| 亚洲天堂精品视频| 懂色av一区二区三区免费看| 久久综合网色—综合色88| 欧美aⅴ一区二区三区视频| 欧美视频一区二区三区| 亚洲视频电影在线| av电影天堂一区二区在线| 久久久久久99精品| 国内精品嫩模私拍在线| 日韩欧美第一区| 久久精品国产亚洲a| 欧美片网站yy| 日韩经典一区二区| 欧美日本韩国一区二区三区视频 | 6080午夜不卡| 亚洲综合一区二区三区| 日本韩国欧美一区| 亚洲视频小说图片| av中文一区二区三区| 欧美激情一区二区三区不卡| 国产久卡久卡久卡久卡视频精品| 精品国产精品一区二区夜夜嗨| 青青草国产精品亚洲专区无| 欧美美女bb生活片| 天堂蜜桃91精品| 91精品久久久久久蜜臀| 日韩综合小视频| 91精品国产综合久久久久久久| 午夜欧美一区二区三区在线播放| 在线观看免费成人| 亚洲成a人片综合在线| 欧美日韩视频在线观看一区二区三区 | ...xxx性欧美| 色综合天天综合色综合av| 亚洲精品写真福利| 欧美少妇xxx| 日本亚洲免费观看| 精品不卡在线视频| 丁香婷婷深情五月亚洲| 亚洲三级在线观看| 欧美日本韩国一区| 激情综合五月天| 日本一区二区成人| 99国产一区二区三精品乱码| 一区二区三区影院| 欧美精品免费视频| 麻豆成人久久精品二区三区红 | 一区二区三区日韩| 制服丝袜在线91| 国产夫妻精品视频| 亚洲色图清纯唯美| 51精品视频一区二区三区| 国产在线视频一区二区| 国产精品不卡在线| 欧美日韩一区 二区 三区 久久精品| 蜜臀久久99精品久久久画质超高清 | 一本大道av一区二区在线播放| 亚洲第一福利一区| 久久综合色天天久久综合图片| www.亚洲国产| 水野朝阳av一区二区三区| 久久影视一区二区| 色欧美片视频在线观看| 人禽交欧美网站| 综合久久综合久久| 欧美不卡视频一区| 99精品在线免费| 裸体一区二区三区| 亚洲欧美日韩久久| 欧美精品一区二区三区四区| 99久久久免费精品国产一区二区| 日韩福利电影在线| 日韩久久一区二区| 2020国产精品| 欧美精品久久天天躁| www.亚洲精品| 韩国精品主播一区二区在线观看| 亚洲男帅同性gay1069| 26uuuu精品一区二区| 91久久人澡人人添人人爽欧美| 国内成人免费视频| 天堂蜜桃一区二区三区| 中文字幕一区三区| 久久久亚洲高清| 欧美精品18+| 欧美这里有精品| 成人免费精品视频|