天天看點

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

概述:

SVM支援向量機是最常用的機器學習分類算法之一,屬于有監督學習。這種算法的本質是對資料進行二進制線性分類,這種特點和其算法原理有直接關系,通俗來說SVM支援向量機在單一計算周期中隻能将資料分成兩類并且分隔的手段都表現為線性特征,如對于二維空間内的分隔為線,三維空間内為平面,更高次元的稱為超平面。

算法原理:

1、通過散點圖觀察資料的分布情況,因為是一個二分類問題是以例子中的資料隻有藍色和紅色兩個類别

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

2、對資料進行二分類的話可以發現能夠找到無數種分隔方式

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:
機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:
機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

3、既然分隔方式有無數種,SVM支援向量機算法的意義就在于通過計算來确定一個最優化的分隔方式,根據SVM算法原理中分隔的手段都表現為線性的特點,二維空間的分隔為線、三維空間的分隔為平面、更高次元的為超平面(不可見),是以算法在計算分隔方式的時候本質就是計算最優的分隔線、分隔平面和分隔超平面,以二維空間為例,計算出的分割線需要處于以下位置

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

4、以二維空間為例,如果分隔線處在最合适的位置,表現出的特征應該是其距離兩個類别中最近的點的距離相等,即L1=L2

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

5、距離分隔線最近的兩類中的點,即稱為支援向量,如圖中綠色标記的兩個點即為本例子中的支援向量,可以得出結論:分隔線的确定隻與支援向量有關,同其餘樣本無關

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

6、圖中兩條虛線間的距離為L1+L2,由于分隔線的分隔結果需要與兩個支援向量的距離相等即做到L1=L2,是以計算的目的就是求出(L1+L2)/2最大值的過程

7、将分隔線以及更高次元的分隔平面和分隔超平面函數化,即分隔線的方程為Y=aX+b,需要根據第6步的原理計算出a和b以确定分隔線的方程

8、升維到平面和超平面的函數即為Y=WT*X+b,其中T是指W矩陣的轉置,同理需要根據第6步的原理計算出WT和b來确定分隔平面和分隔超平面的方程

9、為了友善計算,二分類中将兩個類别分别稱為正例和負例,假設正例的輸出值為1,負例的輸出值為-1,則最佳的分隔線、分隔平面和分隔超平面的輸出值為0如圖所示

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

10、實際的資料分布不會像例子中那樣能夠友善的進行分類,如下圖的資料無法在二維平面内進行線性分隔

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

11、SVM算法在這種情況下采用核函數的方法進行分類,核函數的選擇有很多種,本質思維是一樣的,就是将空間進行升維,原空間即本例子中的二維空間稱為輸入空間,升維後的空間稱為特征空間,将輸入空間内的資料映射到特征空間,使資料在高次元的空間内有分類的可能,在本例子中因為資料已經無法在二維空間内進行線性分隔,是以通過核函數将資料樣本映射到三維空間内進行分類,如圖所示

機器學習算法—SVM支援向量機算法原理及阿裡雲PAI平台算法子產品參數說明概述:算法原理:阿裡雲PAI平台SVM子產品參數選擇重點:

阿裡雲PAI平台SVM子產品參數選擇重點:

1、PAI平台中的SVM子產品隻支援二分類

2、PAI平台中的SVM子產品無法使用核函數,即無法将資料映射到高次元空間進行分類

3、最重要的參數有以下幾個:

positiveLabel:正例的值,是一個可選的值,如果不選擇則在label的取值中随機選擇一個,因為SVM隻進行二分類,當兩類樣本的差異較大時,選擇其中一個值作為正例的值,或者稱為基準值能夠提高分類的準确性。

positiveCost:正例權重值,即正例懲罰因子。懲罰因子可以根據需要選擇所有大于0的數,越大表示整個過程中對于總誤差的重視程度越高,對于減小誤差的要求越高,甚至不惜使間隔減小。通俗的說法就是懲罰因子越大則對誤差的容忍度越小,追求的是分類的準确性,當懲罰因子趨向于無窮時代表對誤差沒有任何容忍。當懲罰因子趨于0時,則不再關注分類是否正确,隻要求間隔越大越好,那麼算法将無法得到有意義的解且算法不會收斂,因為分類如果不需要任何準确性的話就根本無法确定間隔。

negativeCost:負例權重值,即負例懲罰因子,其意義與正例權重值一樣。

epsilon:收斂系數,同樣表示的是對分類誤差的容忍程度,阿裡雲PAI平台SVM子產品的預設收斂系數是0.001,代表1000個資料樣本中最多隻能容許有1個資料樣本分類錯誤。

繼續閱讀