1. 程式人生 > >機器學習——支援向量機SVM之軟間隔與正則化

機器學習——支援向量機SVM之軟間隔與正則化

1、在SVM基本型的討論中,我們一直假定樣本在樣本空間或特徵空間中是線性可分的,即存在一個超平面能將不同類的樣本完全劃分開

2、然而現實任務中往往很難確定合適的核函式使得訓練樣本在特徵空間中線性可分,即使恰好找到某個核函式使訓練集樣本在特徵空間中線性可分,也很難判斷是否是過擬合造成的

3、緩解該問題的一個方法是允許支援向量機在一些樣本上出錯,為此要引入“軟間隔”的概念

    a) 軟間隔則是允許某些樣本不滿足約束 y_i (w^T x_i+b)≥1

    b) 故而可在原優化目標中加入損失函式

4、常用損失函式

    a) hinge損失: l_{hinge} (z)=max⁡(0,1-z)

    b) 指數損失: l_{exp} (z)=exp⁡(-z)

    c) 對率損失: l_{log} (z)=log⁡(1+exp⁡(-z) )

    d) 0/1損失函式:


5、軟間隔支援向量機

    a) 相對於支援向量機基本型,引入了“鬆弛變數” ξ_i

    b) 優化目標可重寫為

    c) 每個樣本都有一個對應的鬆弛變數,用以表徵該樣本不滿足原約束的程度

6、拉格朗日函式 L(w,b,α,ξ,μ)=1/2 ‖w‖^2+∑_{i=1}^m α_i (1-ξ_i-y_i (w^T x_i+b)) -∑_{i=1}^m μ_i ξ_i

7、拉格朗日函式分別對w,b,求偏導得

8、對偶問題

9、軟間隔支援向量機的KKT條件

    a) 若 α_i=0 ,則該樣本不會對f(x)有任何影響;若 α_i>0 ,則必有 y_i (w^T x_i+b)=1-ξ_i,該樣本為支援向量

    b) 若 α_i<C ,則有 μ_i>0 ,進而有 ξ_i=0 ,即該樣本恰在最大間隔邊界上;若 α_i=C,則有 μ_i=0 ,進而有 ξ_i≤1 ,即該樣本落在最大間隔內部,若 ξ_i>1 則被樣本被錯誤分類

    c) 軟間隔支援向量機的最終模型僅與支援向量相關

10、優化目標的更一般形式:

    a) 其中 Ω(f) 稱為“結構風險”,用於描述模型f的某些性質,同時也是正則化項

    b) 第二項 ∑_{i=1}^m l(f(x_i ),y_i ) 稱為“經驗風險”,用於描述模型與訓練資料的契合程度

    c) C係數用於對二者進行折中,稱作正則化係數

相關推薦

機器學習——支援向量SVM間隔

1、在SVM基本型的討論中,我們一直假定樣本在樣本空間或特徵空間中是線性可分的,即存在一個超平面能將不同類的樣本完全劃分開 2、然而現實任務中往往很難確定合適的核函式使得訓練樣本在特徵空間中線性可分,即使恰好找到某個核函式使訓練集樣本在特徵空間中線性可分,也很難判斷是否

機器學習——支援向量SVM核函式

1、在現實任務中,原始樣本空間也許不存在一個能正確劃分兩類樣本的超平面,雖然“軟間隔”概念的引入在一定程度上緩解了該問題,但是當樣本分佈的非線性程度很高的時候,“軟間隔”也無法解決這一問題 2、對於這類問題,SVM的處理方法是選擇一個核函式,其通過將資料對映到更高維

吳恩達機器學習 - 支援向量(SVM) 吳恩達機器學習 - 支援向量(SVM)

原 吳恩達機器學習 - 支援向量機(SVM) 2018年06月24日 14:40:42 離殤灬孤狼 閱讀數:218 更多

機器學習-支援向量SVM

簡介: 支援向量機(SVM)是一種二分類的監督學習模型,他的基本模型是定義在特徵空間上的間隔最大的線性模型。他與感知機的區別是,感知機只要找到可以將資料正確劃分的超平面即可,而SVM需要找到間隔最大的超平面將資料劃分開。所以感知機的超平面可以有無數個,但是SVM的超平面只有一個。此外,SVM在引入核函式之後

機器學習——支援向量SVM(一)

在之前做數學建模的時候就有使用過支援向量機的有關知識,但是對於支援向量機的理解一直不是很深刻,尤其是數學推導部分還是存在一些問題。在最近看周志華西瓜書的過程中同樣發現這一問題,西瓜書中對支援向量機的講解部分不是很詳細,所以我又查找了其他的資料。 支援向量機是一種原創性(非組

機器學習----支援向量間隔

Soft Margin 前面的假設一直都是線性可分,可是如果對所有樣本不能線性可分(比如有noisy)怎麼辦?或者過擬合怎麼辦? 緩解該問題的一個方法就是允許支援向量機在一些樣本上出錯,為此引入軟間隔(soft margin)這個概念。即允許在一些樣本

機器學習——支援向量SVM(Support Vector Machine)(下)

1、SVM演算法特徵 (1)訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的維度決定。所以,SVM不太容易產生overfitting。 (2)SVM訓練出來的模型完全依賴於支援向量(

Stanford機器學習---支援向量SVM

本欄目(Machine learning)包括單引數的線性迴歸、多引數的線性迴歸、Octave Tutorial、Logistic Regression、Regularization、神經網路、機器學習系統設計、SVM(Support Vector Machines 支

機器學習——支援向量(SVM)

支援向量機原理 支援向量機要解決的問題其實就是尋求最優分類邊界。且最大化支援向量間距,用直線或者平面,分隔分隔超平面。 基於核函式的升維變換 通過名為核函式的特徵變換,增加新的特徵,使得低維度空間中的線性不可分問題變為高維度空間中的線性可分問題。   線性核函式:linear,不通

機器學習》筆記---2 模型的損失函式

損失函式 度量模型一次預測的好壞 L( Y,f(X) ) 常見型別: 期望風險(風險函式) 度量平均意義下的模型預測的好壞,即損失函式的期望。(關於 聯行分佈的期望,未知,無法直接計算) 經驗風險 模型關於訓練

機器學習-支援向量SVM)演算法學習筆記

假設有訓練集D={(x1, y1), (x2, y2), ..., (xm, ym)},yi{-1, 1},分類學習最基本的想法就是基於訓練集D在樣本空間中找到一個劃分超平面,將不同類別的樣本分開。

機器學習——支援向量SVM

本文主要參考吳恩達《機器學習》課程,以及網上各個大牛們的博文。 支援向量機,是一種對線性和非線性資料進行分類的方法。它按以下方法工作:使用一種非線性對映,把原訓練資料對映到較高的維上,在新的維上,它搜尋最佳分離超平面。使用到足夠高維上的、合適的非線性對映,兩個類的資料總可以

機器學習 - 支援向量SVM)目錄索引

SVM目錄索引 線性可分 SVM:硬間隔最大化 線性 SVM:軟間隔最大化 非線性 SVM:核技巧 序列最小最優化演算法 (SMO) 特點 優點:

機器學習--支援向量通俗導論(理解SVM的三層境界)

            支援向量機通俗導論(理解SVM的三層境界) 作者:July 。致謝:pluskid、白石、JerryLead。 說明:本文最初寫於2012年6月,而後不斷反反覆覆修改&優化,修改次數達上百次,最後修改於2016年11月。 前言

演算法學習——支援向量SVM

SVM現在的公式推導很多,都是現成的,而且寫的也很好,我會提供相關資源,這篇博文主要從思想理解的方面做一個簡單介紹。 1、SVM 是如何工作的? 支援向量機的基礎概念可以通過一個簡單的例子來解釋。讓我們想象兩個類別:紅色和藍色,我們的資料有兩個特徵:x 和 y。我們想要一個分類器,給定一

機器學習 --- 支援向量的核函式

一、核函式方法的直觀理解 線性向量機地分類效果可能並不是很好,難以分類非線性的問題,這就將引入核函式。 例如在二維平面中,難以通過線性的方法來處理異或問題,但是通過將輸入變數經過核函式 對映到三維空間中,那麼如上圖所示的線性超平面可以完成分類。   線上性不

sklearn系列學習--支援向量SVM

#coding:utf-8 ##1 匯入svm和資料集 from sklearn import svm,datasets ##2 呼叫SVC() clf = svm.SVC() ##3 載入鳶尾花資

機器學習---支援向量實戰(四)核函式實現

這節和上一節很像,不同的是,上一篇的是通過支援向量和待分類資料內積進行分類的,只是這裡不同的是,在計算內積時使用核函式進行代替,這裡參考的是機器學習實戰中的核函式,如果前面理解的比較深入,讀程式碼還是很簡單的,這裡的程式碼建議不要剛開始就去讀核函式定義,建議先從測試核函式的程

機器學習-支援向量

前言 – 在前面的分類問題中,學到了線性迴歸演算法、Logistic迴歸演算法,以及決策樹中迴歸演算法,我們在資料集中通過訓練資料得到一個很好的擬合數據的模型,在圖中表現為可以找到一條直線來將正反例資料很好的分割開來,例如下圖所示: 在圖中的資料集中我們可

機器學習--支援向量(六)徑向基核函式(RBF)詳解

前面講解了什麼是核函式,以及有效核函式的要求,到這裡基本上就結束了,很多部落格也是如此,但是呢這些只是理解支援向量機的原理,如何使用它講解的卻很少,尤其是如何選擇核函式更沒有人講,不講也是有原因的,因為核函式的選擇沒有統一的定論,這需要使用人根據不同場合或者不同問題選擇核函式