簡體   English   中英

預測SVM分類器的計算復雜度

[英]Prediction computational complexity of an SVM classifier

線性SVM的預測復雜度是多少? 它的分離面只是一個超平面,所以預測時間似乎不應該取決於訓練數據。 與此同時,我讀到復雜性與支持向量的數量成正比。 將所有這些支持向量保留在訓練有素的分類器中有什么意義?

對於線性SVM,確實可以明確地計算分離超平面並將其保存為模型。 換句話說,使用線性SVM模型的預測嚴格地要求輸入空間中的超平面。 許多專門的線性包就是這樣做的 (LIBLINEAR,SVMPERF,PEGASOS,......)。 即使您不需要支持向量的知識來預測線性SVM,知道支持向量仍然可以具有各種用途。

當使用非線性內核使用SVM進行預測時,故事是完全不同的,因為分離超平面可能是無限維的(例如,當使用RBF內核時)。 在特征空間中計算超平面本身甚至是不可能的,但是可以通過支持向量和測試點之間的內核評估來計算超平面和特征空間中的測試點之間的內部產品。 這就是所謂的核心技巧

支持線性和非線性內核的大多數通用軟件包傾向於以相同的方式保存所有模型(例如LIBSVM)。 這意味着線性模型以測試點和支持向量之間的內積存儲和評估,就像非線性模型一樣。 顯然,這比線性SVM更復雜。 即使在訓練線性SVM時,絕大多數人也使用SVM的通用包而不是專用的線性包。 這可能是許多人錯誤地認為線性SVM的預測總是依賴於支持向量的原因。

你是對的,預測時間不依賴於線性SVM的數據。 這是因為預測變量只是測試向量和學習權重向量之間的點積。

保持支持向量是沒有意義的,否則任何人都會感到困惑:)。 如果由於某種原因你想知道后來支持向量是什么,你可以通過評估訓練數據上的分類器輕松找到。 所有被錯誤預測或具有來自SVM的絕對值小於1的輸出值的訓練數據樣本是支持向量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM