exploring possible bug in optimize_linear_svm

This commit is contained in:
Vadim Pisarevsky
2013-03-21 17:00:08 +04:00
parent d756de176f
commit 63a5587d0d
3 changed files with 20 additions and 16 deletions

View File

@@ -1562,14 +1562,14 @@ void CvSVM::optimize_linear_svm()
int j, k, sv_count = df[i].sv_count;
for( j = 0; j < sv_count; j++ )
{
const float* src = class_count > 1 ? sv[df[i].sv_index[j]] : sv[j];
const float* src = class_count > 1 && df[i].sv_index ? sv[df[i].sv_index[j]] : sv[j];
double a = df[i].alpha[j];
for( k = 0; k < var_count; k++ )
dst[k] = (float)(dst[k] + src[k]*a);
}
df[i].sv_count = 1;
df[i].alpha[0] = 1.;
if( class_count > 1 )
if( class_count > 1 && df[i].sv_index )
df[i].sv_index[0] = i;
}