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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gaussmix.m

?? voice box tool box for matlab
?? M
?? 第 1 頁 / 共 2 頁
字號:
    wpk=repmat((1:p)',k,1);
    for j=1:l
        g1=g;                    % save previous log likelihood (2*pi factor omitted)
        m1=m;                       % save previous means, variances and weights
        v1=v;
        w1=w;

        for ik=1:k
            
            % these lines added for debugging only
%             vk=reshape(v(k,lixi),p,p);
%             condk(ik)=cond(vk);
            %%%%%%%%%%%%%%%%%%%%
            vik=-0.5*pinv(reshape(v(k,lixi),p,p));   % use pseudo inverse just in case
            vi((ik-1)*p+(1:p),:)=vik;
            vim((ik-1)*p+(1:p))=vik*m(ik,:)';
            mtk((ik-1)*p+(1:p))=m(ik,:)';
            vm(ik)=sqrt(det(vik))*w(ik);        % could do this jointly with the pinv function
            % ************ should use log(vm) to avoid overflow problems
        end
        %
        %         % first do partial chunk
        %
        jx=jx0;
        ii=1:jx;
        xii=x(ii,:).';
        py=reshape(sum(reshape((vi*xii-vim(:,wnj)).*(xii(wpk,:)-mtk(:,wnj)),p,jx*k),1),k,jx);
        mx=max(py,[],1);                % find normalizing factor for each data point to prevent underflow when using exp()
        px=exp(py-mx(wk,:)).*vm(:,wnj);  % find normalized probability of each mixture for each datapoint
        ps=sum(px,1);                   % total normalized likelihood of each data point
        px=px./ps(wk,:);                % relative mixture probabilities for each data point (columns sum to 1)
        lpx(ii)=log(ps)+mx;
        pk=sum(px,2);                   % effective number of data points for each mixture (could be zero due to underflow)
        sx=px*x(ii,:);
        sx2=px*(x(ii,rix).*x(ii,cix));            % accumulator for variance calculation (lower tri cov matrix as a row)

        for il=2:nl
            ix=jx+1;
            jx=jx+nb;        % increment upper limit
            ii=ix:jx;
            xii=x(ii,:).';
            py=reshape(sum(reshape((vi*xii-vim(:,wnb)).*(xii(wpk,:)-mtk(:,wnb)),p,nb*k),1),k,nb);
            mx=max(py,[],1);                % find normalizing factor for each data point to prevent underflow when using exp()
            px=exp(py-mx(wk,:)).*vm(:,wnb);  % find normalized probability of each mixture for each datapoint
            ps=sum(px,1);                   % total normalized likelihood of each data point
            px=px./ps(wk,:);                % relative mixture probabilities for each data point (columns sum to 1)
            lpx(ii)=log(ps)+mx;
            pk=pk+sum(px,2);                % effective number of data points for each mixture (could be zero due to underflow)
            sx=sx+px*x(ii,:);               % accumulator for mean calculation
            sx2=sx2+px*(x(ii,rix).*x(ii,cix));            % accumulator for variance calculation
        end
        g=sum(lpx);                    % total log probability summed over all data points
        gg(j)=g;                        % save convergence history
        w=pk/n;                         % normalize to get the column of weights
        if pk                       % if all elements of pk are non-zero
            m=sx./pk(:,wp);         % find mean and mean square
            v=sx2./pk(:,wpl);
        else
            wm=pk==0;                       % mask indicating mixtures with zero weights
            [vv,mk]=sort(lpx);             % find the lowest probability data points
            m=zeros(k,p);                   % initialize means and variances to zero (variances are floored later)
            v=zeros(k,pl);
            m(wm,:)=x(mk(1:sum(wm)),:);                % set zero-weight mixture means to worst-fitted data points
            wm=~wm;                         % mask for non-zero weights
            m(wm,:)=sx(wm,:)./pk(wm,wp);  % recalculate means and variances for mixtures with a non-zero weight
            v(wm,:)=sx2(wm,:)./pk(wm,wpl);
        end
        v=v-m(:,cix).*m(:,rix);                 % subtract off mean squared
        v(:,dix)=max(v(:,dix),c);                                   % force diagonal elements to be >= c
        if g-g1<=th && j>1
            if ~ss, break; end  %  stop
            ss=ss-1;       % stop next time
        end
    end
    if sd  % we need to calculate the final probabilities
        pp=lpx'-0.5*p*log(2*pi);   % log of total probability of each data point
        gg=gg(1:j)/n-0.5*p*log(2*pi);    % average log prob at each iteration
        g=gg(end);
        %     gg' % *** DEBUG ONLY ***
        m=m1;       % back up to previous iteration
        v=v1;
        w=w1;
        mm=sum(m,1)/k;
        sm=sum(m(:,rix).*m(:,cix),1)/k;
        vm=sum(v,1)/k;
        f=det(sm(lixi)-mm'*mm)/det(vm(lixi));
    end
    v=reshape(v(:,lixi)',[p,p,k]);
    if l==0         % suppress the first three output arguments if l==0
        m=g;
        v=f;
        w=pp;
    end
else
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Diagonal Covariance matrices  %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    v=max(v,c);         % apply the lower bound


    % If data size is large then do calculations in chunks

    nb=min(n,max(1,floor(memsize/(8*p*k))));    % chunk size for testing data points
    nl=ceil(n/nb);                  % number of chunks
    jx0=n-(nl-1)*nb;                % size of first chunk

    im=repmat(1:k,1,nb); im=im(:);
    th=(l-floor(l))*n;
    sd=(nargout > 3*(l~=0)); % = 1 if we are outputting log likelihood values
    l=floor(l)+sd;   % extra loop needed to calculate final G value

    lpx=zeros(1,n);             % log probability of each data point
    wk=ones(k,1);
    wp=ones(1,p);
    wnb=ones(1,nb);
    wnj=ones(1,jx0);

    % EM loop

    g=0;                           % dummy initial value for comparison
    gg=zeros(l+1,1);
    ss=sd;                       % initialize stopping count (0 or 1)
    for j=1:l
        g1=g;                    % save previous log likelihood (2*pi factor omitted)
        m1=m;                       % save previous means, variances and weights
        v1=v;
        w1=w;
        lvm=log(w)-0.5*sum(log(v),2);   % calculate log of mixture scale factor to avoid overflow problems
        vi=-0.5*v.^(-1);                % exponent scale factors

        % first do partial chunk

        jx=jx0;
        ii=1:jx;
        kk=repmat(ii,k,1);
        km=repmat(1:k,1,jx);
        py=reshape(sum((x(kk(:),:)-m(km(:),:)).^2.*vi(km(:),:),2),k,jx)+lvm(:,wnj);
        mx=max(py,[],1);                % find normalizing factor for each data point to prevent underflow when using exp()
        px=exp(py-mx(wk,:));  % find normalized probability of each mixture for each datapoint
        ps=sum(px,1);                   % total normalized likelihood of each data point
        px=px./ps(wk,:);                % relative mixture probabilities for each data point (columns sum to 1)
        lpx(ii)=log(ps)+mx;
        pk=sum(px,2);                   % effective number of data points for each mixture (could be zero due to underflow)
        sx=px*x(ii,:);
        sx2=px*x2(ii,:);

        for il=2:nl
            ix=jx+1;
            jx=jx+nb;        % increment upper limit
            ii=ix:jx;
            kk=repmat(ii,k,1);
            py=reshape(sum((x(kk(:),:)-m(im,:)).^2.*vi(im,:),2),k,nb)+lvm(:,wnb);
            mx=max(py,[],1);                % find normalizing factor for each data point to prevent underflow when using exp()
            px=exp(py-mx(wk,:));  % find normalized probability of each mixture for each datapoint
            ps=sum(px,1);                   % total normalized likelihood of each data point
            px=px./ps(wk,:);                % relative mixture probabilities for each data point (columns sum to 1)
            lpx(ii)=log(ps)+mx;
            pk=pk+sum(px,2);                   % effective number of data points for each mixture (could be zero due to underflow)
            sx=sx+px*x(ii,:);
            sx2=sx2+px*x2(ii,:);
        end
        g=sum(lpx);                    % total log probability summed over all data points
        gg(j)=g;
        w=pk/n;                         % normalize to get the weights
        if pk                       % if all elements of pk are non-zero
            m=sx./pk(:,wp);
            v=sx2./pk(:,wp);
        else
            wm=pk==0;                       % mask indicating mixtures with zero weights
            [vv,mk]=sort(lpx);             % find the lowest probability data points
            m=zeros(k,p);                   % initialize means and variances to zero (variances are floored later)
            v=m;
            m(wm,:)=x(mk(1:sum(wm)),:);                % set zero-weight mixture means to worst-fitted data points
            wm=~wm;                         % mask for non-zero weights
            m(wm,:)=sx(wm,:)./pk(wm,wp);  % recalculate means and variances for mixtures with a non-zero weight
            v(wm,:)=sx2(wm,:)./pk(wm,wp);
        end
        v=max(v-m.^2,c);                % apply floor to variances

        if g-g1<=th && j>1
            if ~ss, break; end  %  stop
            ss=ss-1;       % stop next time
        end

    end
    if sd  % we need to calculate the final probabilities
        pp=lpx'-0.5*p*log(2*pi);   % log of total probability of each data point
        gg=gg(1:j)/n-0.5*p*log(2*pi);    % average log prob at each iteration
        g=gg(end);
        %     gg' % *** DEBUG ***
        m=m1;       % back up to previous iteration
        v=v1;
        w=w1;
        mm=sum(m,1)/k;
        f=prod(sum(m.^2,1)/k-mm.^2)/prod(sum(v,1)/k);
    end
    if l==0         % suppress the first three output arguments if l==0
        m=g;
        v=f;
        w=pp;
    end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情图区综合网| 精品一区二区三区免费毛片爱| 激情综合五月天| 欧美成人一区二区三区| 春色校园综合激情亚洲| 亚洲国产精品一区二区www在线| 色琪琪一区二区三区亚洲区| 美国欧美日韩国产在线播放| 国产亚洲自拍一区| 91影院在线观看| 韩国女主播成人在线| 亚洲精品精品亚洲| 337p日本欧洲亚洲大胆色噜噜| 不卡视频免费播放| 美腿丝袜亚洲三区| 天堂一区二区在线| 亚洲综合视频网| 日韩一区二区三区在线视频| 欧美日韩精品一二三区| 欧美精品亚洲一区二区在线播放| 日韩一级免费观看| 久久婷婷综合激情| 国产亚洲欧美色| 久久综合给合久久狠狠狠97色69| 欧美一级搡bbbb搡bbbb| 欧美一区二区在线播放| 91精品国产免费久久综合| 欧美一区在线视频| 久久久久国产精品麻豆ai换脸| 日韩欧美专区在线| 欧美欧美欧美欧美| 欧美精品一区在线观看| 一区在线播放视频| 亚洲电影一级片| 精品中文字幕一区二区| 丁香婷婷综合激情五月色| 99久久免费视频.com| 欧美日韩在线播放三区| 精品久久久久久亚洲综合网 | 久久久久久久久久久黄色| 久久奇米777| 亚洲一卡二卡三卡四卡五卡| 美女脱光内衣内裤视频久久影院| 国产精品一区免费在线观看| 91精品办公室少妇高潮对白| 欧美一级专区免费大片| 亚洲欧美日本在线| 国产真实乱对白精彩久久| 91在线视频免费91| www国产精品av| 欧美亚洲另类激情小说| 亚洲电影视频在线| 精品一区二区三区视频| 欧美大片在线观看| 国产精品一区二区三区乱码| 久久久国产综合精品女国产盗摄| 国产精品456露脸| 国产精品无码永久免费888| 国产在线不卡视频| 久久九九99视频| 欧美性极品少妇| 日韩电影在线看| 欧美国产一区二区在线观看| 色综合久久久久网| 日本不卡一二三| 国产农村妇女毛片精品久久麻豆 | 精品国产乱码久久久久久久久| 精品一区二区三区香蕉蜜桃| 国产精品色在线观看| 在线一区二区三区| 久久激情五月激情| 国产精品护士白丝一区av| 欧美高清精品3d| 国产白丝网站精品污在线入口| 亚洲码国产岛国毛片在线| 日韩欧美国产一区二区三区| 91片黄在线观看| 寂寞少妇一区二区三区| 亚洲精品自拍动漫在线| 久久先锋资源网| 欧美丰满少妇xxxxx高潮对白| 高清不卡在线观看| 久久99国产精品免费| 亚洲在线视频一区| 国产亚洲欧美日韩日本| 日韩视频在线永久播放| 97久久超碰国产精品| 国产一区二区三区在线观看精品| 亚洲国产精品欧美一二99| 欧美国产精品一区二区| 欧美电影免费观看高清完整版在线 | 亚洲天天做日日做天天谢日日欢 | 99精品欧美一区二区三区小说| 久久日韩粉嫩一区二区三区| 欧美色视频在线| 99re8在线精品视频免费播放| 精品亚洲国产成人av制服丝袜| 亚洲国产另类av| 亚洲男人天堂一区| ...av二区三区久久精品| 欧美国产综合一区二区| 久久综合色播五月| 日韩一二三区视频| 欧美一区二区三区免费在线看 | 午夜成人免费电影| 一个色在线综合| 亚洲欧美区自拍先锋| 国产精品午夜在线观看| 欧美激情综合五月色丁香小说| www国产成人免费观看视频 深夜成人网| 夜夜精品视频一区二区 | 在线免费一区三区| 91色.com| 99久久国产综合精品女不卡| 99精品国产一区二区三区不卡| 国产成人免费高清| 丁香亚洲综合激情啪啪综合| 国产v日产∨综合v精品视频| 国产999精品久久久久久绿帽| 国产成a人亚洲精品| 成人h版在线观看| 91麻豆国产福利在线观看| 91久久久免费一区二区| 在线观看亚洲一区| 欧美色图在线观看| 欧美日产在线观看| 精品毛片乱码1区2区3区 | 欧美丰满少妇xxxbbb| 欧美一区二区久久| 日韩久久免费av| 久久久久久9999| 中文字幕制服丝袜成人av| 亚洲激情图片一区| 免费观看一级欧美片| 国产毛片精品国产一区二区三区| 成人午夜短视频| 91黄色免费观看| 日韩欧美国产成人一区二区| 中文乱码免费一区二区| 亚洲欧美成人一区二区三区| 视频在线观看91| 国产一区二区三区美女| 91久久国产最好的精华液| 日韩午夜在线影院| 中文字幕在线观看一区二区| 婷婷亚洲久悠悠色悠在线播放| 美国十次综合导航| 99re亚洲国产精品| 欧美日韩精品高清| 国产欧美综合色| 亚洲第一福利视频在线| 国产麻豆精品久久一二三| 91福利资源站| 亚洲国产日韩精品| 亚洲一区二区影院| 国模冰冰炮一区二区| 欧洲av一区二区嗯嗯嗯啊| 欧美大度的电影原声| 亚洲免费av网站| 国产精品888| 91麻豆精品国产自产在线| 国产女人18水真多18精品一级做| 亚洲综合自拍偷拍| 国产成人av电影免费在线观看| 欧美巨大另类极品videosbest | 在线播放国产精品二区一二区四区| 精品黑人一区二区三区久久| 亚洲美女一区二区三区| 国内成人免费视频| 欧美亚洲动漫制服丝袜| 亚洲国产高清在线| 久草这里只有精品视频| 欧美日韩一区 二区 三区 久久精品 | 亚洲国产精品v| 国产一区在线观看视频| 欧美一级欧美一级在线播放| 亚洲精品一二三| 成人免费毛片片v| 精品99久久久久久| 日本麻豆一区二区三区视频| 欧美视频在线一区| 亚洲黄色尤物视频| 91原创在线视频| 国产精品国产a级| 国产乱人伦精品一区二区在线观看| 欧美男男青年gay1069videost| 一区二区三区在线高清| 91免费版在线| 亚洲乱码国产乱码精品精的特点| 国产91精品久久久久久久网曝门| xnxx国产精品| 国内精品视频一区二区三区八戒| 日韩一区二区精品| 日韩高清不卡一区二区| 欧美日韩国产美女| 日韩精品免费专区| 在线播放中文一区| 麻豆国产一区二区| 亚洲精品一区二区三区影院| 激情深爱一区二区|