机器学习笔记(六)支持向量机
6.支持向量機
6.1間隔與支持向量
對于給定的訓練集D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,+1},分類學習的初衷就是基于訓練集在樣本空間中找到一個可以有效劃分樣本的超平面。可能存在很多可將樣本分開的超平面,選擇分類結果最魯棒、泛化能力最強的超平面便是支持向量機模型的重點。
通過二維樣本點分布的圖示看,最直觀上,找到兩類樣本正中間的超平面是最佳的。如此,在樣本空間中,劃分超平面通過線性方程描述為:wTx+b=0,其中,w={w1;w2;…;wd}為法向量,決定了超平面的方向;d為位移項,決定了超平面與原點之間的距離。
6.2對偶問題
對于其上定義的支持向量機數學原型,要得到最大間隔劃分超平面f(x)= w Tx+b,就要訓練出模型參數w和b;而SVM模型本身是一個凸二次規劃(convexquadratic programming)問題,可以直接用優化計算得出,如內點法、有效集法、共軛梯度法等,此處用更為高效的拉格朗日乘子法并得到其對偶問題(dual problem)。
6.3核函數
對于訓練樣本是線性可分的,存在一個超平面能將訓練樣本正確劃分,但在現實任務中,原始樣本空間是線性不可分的,就可能不存在一個可正確劃分的超平面。對于線性不可分樣本的劃分問題,可將樣本從原始空間映射到一個更高維的特征空間,使得樣本在這個特征空間內線性可分。如果原始空間是有限維,即屬性數目是有限,那一定存在一個高維特征空間使樣本可分。
特征空間從低維映射到高維,在高維空間內尋找線性可分的超平面,這個是實在的幾何抽象。從高維形態去理解其映射成低維的形態,或從低維的形態去理解其映射成高維的形態,都是相當抽象的。當然最基礎還是從二維和三維來理解。推薦一個鏈接https://zhuanlan.zhihu.com/p/19763358,關于傅里葉變換介紹,有助于理解時空抽象。
要將樣本在特征空間內線性可分,特征空間的好壞對支持向量機的性能至關重要,選擇合適的高維特征空間來映射就很重要;在不知道特征映射的形式時,也就不知道什么樣的核函數是合適的,核函數也只是隱式定義了特征空間;如此,核函數的選擇稱為支持向量機的最核心,好的支持向量機就是選對了核函數來訓練。若核函數選擇不合適,則意味著將樣本映射到了一個不合適的特征空間,可能導致支持向量機泛化性能不佳。
常用的核函數如下:
6.4軟間隔與正則化
應用支持向量機模型來學習的前提是假定訓練樣本在樣本空間或特征空間中是線性可分的,即存在一個超平面能將不同類的樣本完全劃分開。自然,在現實任務中,未必就能確定合適的核函數使得訓練樣本在特征空間中線性可分;即便找到某個核函數使訓練集在特征空間中線性可分,也很難斷定這個線性可分的結果不是由于過擬合所造成的。這就要說了,能不能找到核函數可以正確劃分訓練集,即使找到了核函數來訓練,是否也只是可將訓練集線性可分,不具備泛化能力。
6.5支持向量回歸
給定的訓練集D={(x 1,y 1),(x 2,y 2),…,(x m,y m)},y i∈R,要學得f(x)=w Tx+b模型,使得f(x)與y盡可能接近,w和b是待確定的模型參數。對樣本(x,y)來說,傳統回歸模型一般直接基于模型輸出f(x)和真實輸出y之間的差別來計算損失,當且僅當f(x)和y完全相同時,損失才為零。
6.6核方法
總結
以上是生活随笔為你收集整理的机器学习笔记(六)支持向量机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习知识点(九)BP神经网络Java
- 下一篇: 模拟浏览器自动化测试工具Selenium