gmmgaussiannumestimate.html

来自「一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有」· HTML 代码 · 共 87 行

HTML
87
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head>  <title>Description of gmmGaussianNumEstimate</title>  <meta name="keywords" content="gmmGaussianNumEstimate">  <meta name="description" content="gmmMixNumEstimate: Estimate the number of mixture number of a GMM">  <meta http-equiv="Content-Type" content="text/html; charset=big5">  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">  <meta name="robots" content="index, follow">  <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> &gt;  <a href="index.html">dcpr</a> &gt; gmmGaussianNumEstimate.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for dcpr&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>gmmGaussianNumEstimate</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>gmmMixNumEstimate: Estimate the number of mixture number of a GMM</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function [bestMixNum, trainLogProb, testLogProb]=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"> gmmMixNumEstimate: Estimate the number of mixture number of a GMM
    Usage: bestMixNum=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="gmmEval.html" class="code" title="function [logProb, gaussianProb] = gmmEval(data, gmmParam);">gmmEval</a>	gmmEval: Evaluation of a GMM (Gaussian mixture model)</li><li><a href="gmmGaussianNumEstimate.html" class="code" title="function [bestMixNum, trainLogProb, testLogProb]=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)">gmmGaussianNumEstimate</a>	gmmMixNumEstimate: Estimate the number of mixture number of a GMM</li><li><a href="gmmTrain.html" class="code" title="function [gmmParam, logProb] = gmmTrain(data, gaussianNumCovType, gmmTrainParam)">gmmTrain</a>	gmmTrain: Parameter training for gaussian mixture model (GMM)</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="gmmGaussianNumEstimate.html" class="code" title="function [bestMixNum, trainLogProb, testLogProb]=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)">gmmGaussianNumEstimate</a>	gmmMixNumEstimate: Estimate the number of mixture number of a GMM</li></ul><!-- crossreference --><h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><ul style="list-style-image:url(../matlabicon.gif)"><li><a href="#_sub1" class="code">function selfdemo</a></li></ul><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function [bestMixNum, trainLogProb, testLogProb]=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)</a>0002 <span class="comment">% gmmMixNumEstimate: Estimate the number of mixture number of a GMM</span>0003 <span class="comment">%    Usage: bestMixNum=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)</span>0004 0005 <span class="comment">%    Roger Jang, 20071222</span>0006 0007 <span class="keyword">if</span> nargin&lt;1, <a href="#_sub1" class="code" title="subfunction selfdemo">selfdemo</a>; <span class="keyword">return</span>; <span class="keyword">end</span>0008 <span class="keyword">if</span> nargin&lt;3, maxGaussianNum=50; <span class="keyword">end</span>0009 <span class="keyword">if</span> nargin&lt;4, covType=1; <span class="keyword">end</span>0010 <span class="keyword">if</span> nargin&lt;5, plotOpt=0; <span class="keyword">end</span>0011 0012 trainLogProb=nan*zeros(1, maxGaussianNum);0013 testLogProb=nan*zeros(1, maxGaussianNum);0014 <span class="keyword">for</span> i=1:maxGaussianNum0015     [gmmParam, logProbHist] = <a href="gmmTrain.html" class="code" title="function [gmmParam, logProb] = gmmTrain(data, gaussianNumCovType, gmmTrainParam)">gmmTrain</a>(trainingData, [i, covType]);0016     trainLogProb(i)=logProbHist(end);0017     logProb2 = <a href="gmmEval.html" class="code" title="function [logProb, gaussianProb] = gmmEval(data, gmmParam);">gmmEval</a>(testData, gmmParam);0018     testLogProb(i)=sum(logProb2);0019     <span class="keyword">if</span> plotOpt0020         fprintf(<span class="string">'%d/%d: training LP = %f, test LP = %f\n'</span>, i, maxGaussianNum, trainLogProb(i), testLogProb(i));0021     <span class="keyword">end</span>0022 <span class="keyword">end</span>0023 plot(1:maxGaussianNum, trainLogProb, <span class="string">'o-'</span>, 1:maxGaussianNum, testLogProb, <span class="string">'square-'</span>);0024 [junk, bestMixNum]=max(testLogProb);0025 line(bestMixNum, testLogProb(bestMixNum), <span class="string">'color'</span>, <span class="string">'r'</span>, <span class="string">'marker'</span>, <span class="string">'*'</span>);0026 legend(<span class="string">'Training log prob'</span>, <span class="string">'Test log prob'</span>);0027 grid on0028 0029 <span class="comment">% ====== Selfdemo</span>0030 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0031 data=dcdata(2);0032 data=data.input;0033 trainingData=data(:, 1:2:end);0034 testData =data(:, 2:2:end);0035 maxGaussianNum=50;0036 covType=1;0037 plotOpt=1;0038 bestMixNum=<a href="gmmGaussianNumEstimate.html" class="code" title="function [bestMixNum, trainLogProb, testLogProb]=gmmGaussianNumEstimate(trainingData, testData, maxGaussianNum, covType, plotOpt)">gmmGaussianNumEstimate</a>(trainingData, testData, maxGaussianNum, covType, plotOpt);</pre></div><hr><address>Generated on Thu 30-Oct-2008 12:53:56 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?