1.1 最早是由 vladimir n. vapnik 和 alexey ya. chervonenkis 在2023年提出
1.2 目前的版本(soft margin)是由corinna cortes 和 vapnik在2023年提出,並在2023年發表
1.3 深度學習(2012)出現之前,svm(support vector machine)被認為機器學習中近十幾年來最成功,表現最好的演算法
訓練集 => 提取特徵向量 => 結合一定的演算法(分類器:比如決策樹,knn)=>得到結果3.1 例子:
兩類?哪條線最好?h3很好的將資料點分成了兩類。
3.2 svm尋找區分兩類的超平面(hyper plane), 使邊際(margin)最大
總共可以有多少個可能的超平面?無數條
如何選取使邊際(margin)最大的超平面 (max margin hyperplane)?
超平面到一側最近點的距離等於到另一側最近點的距離,兩側的兩個超平面平行
如圖所示的三種資料分布情況,不能找到乙個直線完全把兩類資料完全分離,這就是線性不可分情況。
超平面可以定義為:wx+b=0
w: 權重向量, , n 是特徵值的個數
x: 訓練資料
b: 偏差
支援向量a到超平面的距離為:
為了使得間距最大,找到合適的引數w和b,使其最大。
在邏輯演算法中,我們用0和1作為類別標籤,這裡用-1和1作為類別標籤,目的是為了讓數學表達盡量簡潔。
6.1 svm如何找出最大邊際的超平面呢(mmh)?
利用一些數學推倒,以上公式 (1)可變為有限制的凸優化問題(convex quadratic optimization),利用 karush-kuhn-tucker (kkt)條件和拉格朗日公式,可以推出mmh可以被表示為以下「決定邊界 (decision boundary)」
回顧一下朗格朗日演算法,在滿足乙個約束條件下,求另乙個引數的最小值。
總結,求解svm演算法,就是在滿足約束條件y^((i) ) (w^t x^((i) )+b)≥1的前提下,求解w的2範數的平方的最小值。
1.1 訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的維度決定的。所以svm不太容易產生overfitting
1.2 svm訓練出來的模型完全依賴於支援向量(support vectors), 即使訓練集裡面所有非支援向量的點都被去除,重複訓練過程,結果仍然會得到完全一樣的模型。
1.3 乙個svm如果訓練得出的支援向量個數比較小,svm訓練出的模型比較容易被泛化。
下:
2.1 資料集在空間中對應的向量不可被乙個超平面區分開
解決方法:
1.利用乙個非線性的對映把原資料集中的向量點轉化到乙個更高維度的空間中。在這個高維度的空間中找乙個線性的超平面來根據線性可分的情況處理
2.引入鬆弛係數,去除一些雜訊樣本點的干擾。
內積是衡量兩個向量的相似性,兩個向量垂直的時候,完全線性無關,內積為0.
把資料對映到高維空間時,在n維空間內計算兩個向量的內積來比較其之間的關係,需要n^2此才能完成,計算成本太高。
3.4幾種核函式的對比
(1)線性核函式
優點:簡單,運算效率高,能生成乙個最簡潔的線性分隔超平面。
缺點:對於線性不可分的資料集沒有很好的辦法。
(2)多項式和函式
優點:可以擬合出複雜的分隔平面
缺點:可選引數太多(伽馬,c,n);多項式階數n過大時,內積會接近0或者趨於無窮大。
(3)高斯核函式
優點:可以把輸入特徵對映到無限維,且取值範圍在【0,1】之間;引數只有乙個σ。
缺點:計算速度比較慢;容易過擬合
如何選擇核函式?如何確定是用svm演算法還是邏輯回歸?
機器學習筆記(二 支援向量機)
本次筆記基於mooc平台浙江大學的機器學習課程 對於乙個訓練樣本集,i 1 n,若存在 w,b 使得使得滿足下式,則是線性可分問題。要求這樣的乙個超平面 在二維平面中是一條直線 則要滿足以下公式 證明過程如下 首先要確認兩個事實,即 和 則可以根據線性可分問題的滿足式,用a來縮放 w,b 使得找到某...
機器學習筆記 六 支援向量機
對於給定的訓練集d yi 分類學習的初衷就是基於訓練集在樣本空間中找到乙個可以有效劃分樣本的超平面。可能存在很多可將樣本分開的超平面,選擇分類結果最魯棒 泛化能力最強的超平面便是支援向量機模型的重點。通過二維樣本點分布的圖示看,最直觀上,找到兩類樣本正中間的超平面是最佳的。如此,在樣本空間中,劃分超...
機器學習筆記三 支援向量機
給定訓練集d,在樣本空間上找到最魯棒的超平面,將不同類別的樣本分開。對於線性可分問題,超平面的線性方程為 優化目標 找到引數w和b在劃分正確的前提下使得間隔最大,即 上述問題等價於 此為支援向量機 svm 的基本型,將引數求解問題轉化為凸二次規劃問題,為了方便求解且易於推廣到非線性情況下的核函式,採...