opencv SVM實現採用標記爲「SVM類型」的參數,該參數必須在用於訓練SVM的CVSVMParams結構中使用。所有我能找到的解釋是:什麼是OpenCV svm類型參數
// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };
任何人都知道,這些不同的值代表什麼?
opencv SVM實現採用標記爲「SVM類型」的參數,該參數必須在用於訓練SVM的CVSVMParams結構中使用。所有我能找到的解釋是:什麼是OpenCV svm類型參數
// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };
任何人都知道,這些不同的值代表什麼?
一般來說:
詳細情況可以見SVM
它們是SVM的不同公式。 SVM的核心是數學優化問題。這個問題可以用不同的方式說明。
C-SVM使用C作爲保證金大小和被錯誤分類的訓練點數之間的折衷參數。 C只是一個數字,有用的範圍取決於數據集,它可以從非常小(如10-5)到非常大(如10^5),取決於您的數據。
nu-SVM使用nu而不是C. nu大致是將作爲支持向量的訓練點的百分比。支持向量越多,邊際越寬,將被錯誤分類的訓練點越多。 nu範圍從0.1到0.8 - 在0.1大約10%的訓練點將是支持向量,在0.8,更像是80%。我粗略地說,因爲它只是這樣相關 - 它不是確切的。
epsilon-SVR和nu-SVR使用SVM進行迴歸。與其通過查找最大裕度超平面進行二元分類,而是使用該概念來查找最適合數據的超音波,以便用它來預測未來的模型。它們在參數化方式上有所不同(如nu-SVM和C-SVM不同)。
一類SVM是新穎性檢測。而不是二元分類或預測值,而是給SVM一個訓練集,它試圖訓練一個模型來環繞這個集合,以便將來的實例可以被分類爲類的一部分或類之外(小說或離羣值)。
一個班級呢? – petersaints 2012-02-08 11:45:44