淺談支持向量機
什么是分類分析? 讓我們思考一個例子。假設(shè)某總體50%是男性,50% 是女性。你想要通過一個樣本(集)獲取一些規(guī)則,以確定總體其余部分成員的性別。使用支持向量機,相當于建立一個判斷某人是男是女的機器。這是個典型的分類問題。我們試圖通過一些規(guī)則,把總體分為兩個可能的部分。出于簡便考慮,這里假設(shè)兩個用來區(qū)分的要素為:身高、頭發(fā)長度。樣本集的散點圖如下: 1.總體中的男性平均身高更高 2.總體中的女性頭發(fā)更長 如果某人身高180cm,頭發(fā)4cm長,我們更可能將其判定為男性。這就是做分類分析的方式。 支持向量是什么?支持向量機(SVM)是什么? 支持向量就是單條記錄的坐標。比如(45,150) 是對應(yīng)一名女性的支持向量。支持向量機是能夠區(qū)分男性和女性的***邊界。在本例中,兩個類別相隔清晰,所以更容易找到支持向量機。 如何確定當前案例的支持向量機? 當前的案例有很多可能的邊界。下面是三種可能情況: 要解釋支持向量機目標函數(shù)(objective function)最簡單的方法,是尋找與邊界最近的支持向量(屬于任何類別均可)的距離(如,橙色邊界離藍色圓圈近。此邊界離最近的那個藍色圓圈有2個單位距離)。當知道全部邊界對應(yīng)的距離之后,選擇(與最近支持向量)距離***的那條邊界。上面的三條邊界中,黑色邊界離最近支持向量的距離***(15個單位)。 如果找不到清晰的邊界怎么辦? 上面的例子中找出支持向量機還相對容易。若所面對的分布如下圖該怎么辦: 結(jié)語 支持向量機是非常強大的分類算法。當與隨機森林及其他機器學(xué)習工具協(xié)作時,它能為集成模型提供非常不同的維度。因此,在需要較高預(yù)測力的案例中,支持向量機非常重要。由于構(gòu)建復(fù)雜,支持向量機有關(guān)算法相對難以可視化。你會發(fā)現(xiàn)支持向量機對于解決Kaggle競賽的題目很有幫助。
圖中的藍色圓點代表女性,綠色方塊代表男性。從圖中可以推測:
我們要如何確定哪條是***的邊界?
在這樣的案例中,我們無法像之前那樣找到一條清晰的直線邊界。在這樣的案例中,需要把向量都映射到一個更高維的平面,以便區(qū)分。在我們?nèi)蘸髽?gòu)建支持向量機的時候,會進一步闡述這樣的例子。目前,你只需要知道上面提到的變換方式,會產(chǎn)生下面這種類型的支持向量機:
原來的每個綠色方塊,現(xiàn)在都以一定的轉(zhuǎn)換比例進行了映射。轉(zhuǎn)換過后可以清晰區(qū)分類別。為了進行這種變換,有許多算法被提出,其中一些算法會在后續(xù)的文章中提到。