[英]What is the OpenCV svm type parameter
opencv SVM實現采用標記為“ SVM類型”的參數,該參數必須在訓練SVM時使用的CVSVMParams結構中使用。 我能找到的所有解釋是:
// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };
有人知道這些不同的值代表什么嗎?
它們是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一個訓練集,它嘗試訓練一個模型以包裝該集合,以便將來的實例可以分類為類的一部分或在類之外(新的或離群值)。
一般來說:
可以在SVM頁面上找到詳細信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.