本文整理汇总了C++中WeakClassifier::Apply方法的典型用法代码示例。如果您正苦于以下问题:C++ WeakClassifier::Apply方法的具体用法?C++ WeakClassifier::Apply怎么用?C++ WeakClassifier::Apply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeakClassifier
的用法示例。
在下文中一共展示了WeakClassifier::Apply方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddOneSimpleClassifier
void AdaBoostClassifier::AddOneSimpleClassifier(bool* used)
{
int i;
REAL alpha,beta;
WeakClassifier minsc;
REAL minerror;
int minindex;
minerror = REAL(1.01); minindex = -1;
for(i=0;i<gTotalCount;i++) gLabels[i] = gTrainSet[i].m_iLabel;
NormalizeWeight();
TRACE("%f %f %f %f\n",*min_element(gWeights,gWeights+gFaceCount)*10000,*max_element(gWeights,gWeights+gFaceCount)*10000,
*min_element(gWeights+gFaceCount,gWeights+gTotalCount)*10000,*max_element(gWeights+gFaceCount,gWeights+gTotalCount)*10000);
for(i=0;i<gTotalFeatures;i++)
{
if(used[i]) continue;
SingleFeatureClassifier(gLabels,gClassifiers[i],gTable[i]);
if(gClassifiers[i].m_rError<minerror)
{
minerror = gClassifiers[i].m_rError;
minsc = gClassifiers[i];
minindex = i;
}
}
used[minindex] = true;
beta = minsc.m_rError / (REAL(1.0)-minsc.m_rError);
for(i=0;i<gTotalCount;i++)
if(minsc.Apply(gTrainSet[i]) == gTrainSet[i].m_iLabel)
gWeights[i] *= beta;
if(beta<REAL(1e-8)) beta = REAL(1e-8);
alpha = -log(beta);
m_WeakClassifiers[m_iCount] = minsc;
m_rAlphas[m_iCount] = alpha;
m_rThreshold += (REAL(0.5)*alpha);
m_iCount++;
}