【數據挖掘】之 支持向量機

1.支持向量機簡介

在機器學習中,支持向量機是一種監督學習模型和相關的學習算法,SVM用於分析分類和迴歸分析中的數據。給定一組訓練數據,每個訓練實例被標記爲屬於兩個類別中的一個或另一個,SVM訓練算法創建一個模型,將新數據分配給兩個類別之一,使其成爲非概率二元線性分類器。SVM模型將數據表示爲空間中的點,使得映射將各個類別的數據被儘可能寬的間隔分開。然後,將新數據映射到同一空間,並根據它們所處的區間的哪一側預測它們屬於哪個類別。

支持向量機不僅可以進行線性分類,它還可以有效地進行非線性分類,將其輸入隱式映射到高維特徵空間中。

當數據沒有被標記時,監督學習是不可能的,並且需要無監督學習,其試圖從數據到聚類找到自然聚類。並將新數據映射到這些已形成的簇。改進支持向量機的聚類算法稱爲支持向量聚類。支持向量聚類在工業中應用廣泛,常作爲分類步驟的預處理。

支持向量機(SVM)是一種二分類模型,該模型是找到一個超平面來將樣本分割成兩部分,分割原則是使間隔最大化,最終轉化成一個凸二次規劃問題來解決。SVM的主要內容就是間隔、對偶與核函數。

邏輯迴歸的優化目標是以邏輯迴歸的優化目標爲基礎的。邏輯迴歸以0爲界進行類別劃分,但是,在這種分類標準下有的樣本中,越靠近0值的,邏輯迴歸的判定結果越不準確。支持向量機提出,當線性迴歸值小於-1時判定爲反類,而大於1時判定爲正類,這使得根據sigmoid函數判定錯誤的置信度大大降低。

在確定優化目標的條件之後,接下來的任務是找到最大間隔,即找到一個超平面,使得分類後的兩個點集到該平面的最小距離最大,也就是說兩個點集中的邊緣點到該平面的距離最大。用超平面的法線方向可以使間隔最大;使用歐氏距離的平方,來保證劃分是一個凸函數,並且容易求導。

核函數將不可分的數據提升維度,使其可以分割。核函數的定義域是樣本數據的屬性空間,而它的值域是一個實數數軸,可以將其理解爲求出一個距離。

2.支持向量機的特徵

(1)SVM學習問題可以表示爲凸優化問題,因此可以利用已知的有效算法發現目標函數的全局最小值。而其他的分類方法(如基於規則的分類器和人工神經網絡)都採用一種基於貪心學習的策略來搜索假設空間,這種方法一般只能獲得局部最優解。

(2)SVM通過最大化決策邊界的邊緣來控制模型的能力。儘管如此,用戶必須提供其他參數,如使用的核函數類型、爲了引入鬆弛變量所需的代價函數C等。

(3)通過對數據中每個分類屬性值引入一個啞變量,SVM可以應用於分類數據。例如,婚姻狀況有三個值{單身,已婚,離異},可以對每一個屬性值引入一個二元變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章