SupportVectors如何派生并用于预测标签?

时间:2018-02-15 19:46:11

标签: c++ opencv

A是一个3 x 3的培训矩阵,b是一个矢量或标签。

Mat A(3, 3, CV_32FC1);
Mat b(3, 1, CV_32S);    

for (int r = 1; r < 4; r++) {
    for (int c = 2; c < 5; c++)
        A.at<float>(r-1, c-2) = r * c;
    b.row(r-1) = r;
} 

这些用作

Ptr<SVM> svm = SVM::create();
svm->setType(SVM::C_SVC);
svm->setKernel(SVM::LINEAR);
svm->train(A, ROW_SAMPLE, b);

并且在训练后svm获得3乘3矩阵或supportVectorssupportVectors的第1和第3行是相同的,第2行是第1 /第3行的一半。如何计算?

如果我给它一个包含3个成分的向量,它可以预测。 s是行向量

float array[] = { 8, 10, 12 };
Mat s(1, 3, CV_32FC1, &array);

svm->predict(s)给了我3个?怎么样?

是否有关于supportVectors和预测的示例的数学参考?

0 个答案:

没有答案