支援向量機(SVM)是一種強大且適應性強的監督學習演算法,用於異常值檢測、回歸和分類任務。在高維領域尤其有效,因此廣泛應用於分類任務。
支援向量機(SVM)的主要目的是將資料集劃分為大量類,以發現最大邊際超平面(MMH),這可以分兩步完成:
第一步:支援向量機最初將迭代建構最能區分類別的超平面。
第二步:然後它將選擇最能分離類別的超平面。
超平面的維度與特徵的數量有關。當特徵數量為2時,超平面是一條線。當特徵數量為3時,超平面變成二維平面。
為了建構超平面,支援向量機(SVM)利用極值向量作為支援向量。 SVM的目標是找到一個具有較大邊距的理想超平面,在n維空間中將不同類別的樣本離散化。
Python實作支援向量機(SVM)分類
1、支援向量-離超平面最近的資料點稱為支持向量。可以使用支援向量來確定分隔線。
2、超平面-將一組項目分割成多個類別的空間或決策平面稱為超平面。
3、邊距-不同類別最近資料點上兩條線之間的距離。
4、最大邊距-理想的超平面是具有最大邊距的超平面。
支援向量機內核是一個函數,它採用低維輸入空間並將其轉換為高維空間,即將不可分離問題轉換為可分離問題。它主要用於非線性分離問題。簡單地說,核心會進行一些極為複雜的資料轉換,然後根據定義的標籤或輸出找出分離資料的過程。
1、在高維度情況下有效
2、記憶體效率很高,因為它使用決策函數中稱為支持向量的訓練點子集
3、可以為決策函數指定不同的內核函數,並且可以指定自訂內核
以上是綜合介紹支援向量機(SVM)演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!