機器學習之-搞定支援向量機(SVM)【人工智慧工程師--AI轉型必修課】

CSDN學院發表於2020-04-04

一聽到支援向量機這個名字,給大家的感覺應該是這個樣子滴,感覺好像很高階一個事情,但是又不知道它到底在什麼。我們們今天的目標就是用最通俗的語言搞定它!
這裡寫圖片描述

首先我們來看一下我們們的支援向量機是要打算幹一個什麼大事情!其實我第一次聽到這個名字的時候最想搞清楚的就是它為啥起了個這麼個怪名字(看完你就懂啦)!對於一個分類任務而言,最主要的目標就是能分得開,但是對於上圖當中的兩類資料點來說,我可以找到三條線把它們都完全分得開,其實可以找到無數條的!那麼問題也隨之而來了,到底選誰呀?第二點,如果資料本身就很複雜,我們的這個線性分類還夠用嗎?第三點,這麼強大的一個演算法,它的計算複雜度咋樣呀?這些就是我們現在面臨的問題,準備逐一攻克吧!

這裡寫圖片描述
這裡放上兩張圖,看起來有啥區別呢?左邊的決策的區域感覺小一些,右邊的大一些!但是他們倆是不是都完成了一個任務呀,完全把資料點切分開了!這個事我們可以這麼嘮,左右兩邊現在不是資料點了而是交戰雙方的雷區,想想戰狼2最後是不是從兩個交戰區域衝出來了!

這裡寫圖片描述兩邊都是雷區,我們現在要開闢出來一條隔離帶,既不能碰到任何一個雷,還得讓我們的大部分安全通過,那這條隔離帶你說左邊的好還是右邊的好呢?必然是右邊的吧,因為更胖一些,這樣我們的部分更安全,說白了我們要的決策邊界應該泛化能力更強一些的!

這裡寫圖片描述
既然說到雷了,最起碼的一個要求就是不能碰到它呀!那麼我們來想,你要是碰到雷應該先碰哪個呀?離你隔離帶最近的那個吧,那這裡我們就得說說距離這個問題了,它決定了雷是你我們們隔離帶多遠的!

假設我們的隔離帶就是這個平面,有一個雷X,那麼現在我們們來算一下這個雷到我平面的距離有多遠!直接算感覺好像有點難,我們們來轉換一下,這裡假定平面上有兩個點X’和X”,如果我知道X到X’的距離,然後把這個距離投影到我的垂線方向,這樣不就間接的計算出雷X到平面的距離了嘛。平面的垂線方向又恰好是它的法向量,只需求出它的單位向量就可以啦!問題迎刃而解,這樣就有了一個雷到隔離帶的距離了!

這裡寫圖片描述
接下來對我的資料集進行如下定義,支援向量機是一個經典的二分類問題,在這裡我們認為如果說一個點就是一個正例,那麼對應的標籤值就是+1,如果一個點是負例,那麼對應的標籤值就是-1。對應於我的決策方程,就可以做這樣的定義啦,如果預測值Y(x)>0我就說它是一個正例,如果 Y(x)<0我就說它是一個負例。兩個式子看起來有點多,整合一下吧,既然>0的時候標籤值為+1,<0的時候標籤值為-1。那麼它們的乘積就必然是恆大於0的啦!
這裡寫圖片描述

下面我們們來看一下我們要優化的目標是啥呢?我現在是不是要找最好的一個隔離帶(也就是決策方程,說白了就是w和b)!這個隔離帶要能夠儘可能的安全,所以就要使得離它最近的那個雷(先會碰到最近的)越遠越好呀!只要大家能理解這句話,支援向量機也就差不多有個意思了!在看點到決策邊界的距離,原始的式子中有個絕對值,現在我們展開是不是也可以呀,因為y*y(x)恆正嘛!

這裡寫圖片描述
來看我們要優化的目標,這個一個求最小,完了又求最大,這個啥意思啊?想想我們們的隔離帶咋說的,是不是先求最近的雷,然後讓這個雷滾的越遠越好呀!這就是我們最小和最大是啥意思!但是現在這個式子看起來有點複雜呀,能不能簡化一下呀,直接我們認為y(x)恆大於0,現在我們們把這個條件放的寬鬆一些,總可以通過放縮變換讓y(x)>=1嘛,這樣問題就簡單了!既然要求y*y(x)的最小值,現在是不是最小值就是1呀,這樣這個式子不久能化簡掉了嘛!
這裡寫圖片描述

下面我們們來看,只剩下求解一個最大值啦!但是我們的常規套路是不是把一個最大值問題轉換成一個最小值問題呀,直接求它倒數的最小值不久完了嘛!那這個帶有約束條件的極值問題該怎麼求呢?自然想到了一個神器:拉格朗日乘子法。這個概念如果沒接觸我們們就這麼嘮,現在我的目標是找到最合適的W和B但是這樣還帶約束的條件看起來比較難,所以我們想把這樣一個問題轉換成一個求解容易些的中間值問題,這個中間值能夠和W還有B扯上關係,這樣求出來了中間值就能找出來W和B了,差不多就是這個意思!
這裡寫圖片描述
這個式子就是我們標準的拉格朗日乘子法嘛,感興趣可以翻翻我們們的高數書來回顧下,估計你們也不感興趣,那就認為科學及推匯出來的東西是對的就好啦!

這裡寫圖片描述
這裡我們利用了對偶條件,啥意思呢?看起來就是最大最小調換了一下,其實這是一個證明,可以參考下拉格朗日KKT條件,這個說起來就太噁心人了,感興趣看看KKT這三個科學家幹了一件什麼事吧!
接下來我就要先求解什麼樣的w和b能夠使得當前的L式子的值最小吧!這個我們自然想到了直接求偏導嘛!分別對w和b求偏導,然後得到了上述式子。
這裡寫圖片描述將得到的解帶回到原式當中,相當於把w和b就約分掉了,那麼我們現在要求解的就是什麼樣的a值,能夠使得這個式子最大吧!
這裡寫圖片描述對要求的極大值式子同樣加上了相反數變換成了求極小值的問題,到這裡已經接近我們最終的答案啦!
這裡寫圖片描述來看一個小例子吧,這個只是舉例來說SVM怎麼求解,真正的求解方式參考SMO演算法吧!這裡我們有三個資料點,2個正例,1個負例,通過它們要得到最好的決策方程!在約束條件中,就要把之前所考慮的條件都帶上啦,拉格朗日乘子法也有自身的約束條件就是所有的a值必須都大於0.
這裡寫圖片描述對於這樣的式子,將我們的資料全部帶入就好了,注意一點,這個x之間求的是內積!
這裡寫圖片描述在求極值的過程中,我們直接對a1和a2求偏導得到了結果,但是發現結果卻不滿足我們的約束條件,這怎麼辦呢?既然極值點不滿足,我們只能在邊界上來尋找了!
這裡寫圖片描述在邊界上我們求出來所有的a值,這樣是不是就完成啦求解的任務呀!因為我們知道a和w之間的關係呀,再繼續求解就能夠算出來w和b啦,到此我們就求解出來了這個問題的解有了決策邊界!

回過頭來想一想,對於a值來說,是不是有些算出來是一個數,有些算出來就是0呀,我們們的a2就是0呀,回到那3個點的圖中看一下,發現什麼了?2號樣本點是不是非邊界上的點呀,那我們們來想它的a值等於0,那麼最終的w在計算的時候是不是就跟它無關了呀,那麼在這裡我們得出了一個非常重要的結論,支援向量機是由邊界上的點所支撐起來的(因為邊界上的點的a值不為0,非邊界上的點的a值為0呀),那麼我們就把邊界上的點叫做支援向量!現在知道支援向量機這個奇怪的名字咋來的了吧!
這裡寫圖片描述這裡做了這樣一個實驗,保證邊界上的點不變,然後在資料集中增加資料,發現了一個事,決策邊界沒有發生變化!左邊是60個資料的右邊是120個的,只要支援向量沒變,邊界就不會變,這就是支援向量機,因為再加的點a值都為0呀!

這裡寫圖片描述
新問題又來啦!在這裡我們發現了一個事,在構建決策邊界的過程中,如果某一個點比較特(離群點),我們的邊界會為了滿足它而把隔離帶做的很小,這該咋辦呀?讓我們的決策邊界要求放低一些吧!
這裡寫圖片描述由於之前的要求太嚴格了,在這裡我們指定了一個新的東西叫做鬆弛因子,在目標函式中把它考慮進來了,啥意思呢?來看一下吧,引入了引數C相當於鬆弛因子讓我們們決策邊界放鬆的大小!如果C很大,那我們還想讓目標函式很小,是不是鬆弛因子就得很小了吧!如果C很小呢?那麼鬆弛因子稍微大一些也沒關係吧!就是這個意思!
這裡寫圖片描述
又一個問題來啦,現在我的資料複雜起來了,在低維中很難進行區分,這該怎麼辦呢?一個最簡單的想法就是把資料對映到高維空間,這樣特徵資訊就更多了,決策邊界就更容易建立出來了吧!

這裡寫圖片描述
這裡我們要做的就是找到一種變換的方法,將資料的特徵進行高維的對映,但是問題也來了,這樣的計算複雜度是不是也上來了呀!其實是這個樣子的SVM在數學上有這樣一個巧合,我們可以把高維特徵的內積在低維當中直接計算好然後做對映也是一樣,恰好解決計算的問題!

這裡寫圖片描述這個就是線性的和經過核函式特徵變換後的結果,怎麼樣,SVM確實蠻厲害的吧!這些就是我們們支援向量機的推導啦,感謝各位觀眾老爺們的收看!機器學習故事匯-搞定支援向量機(SVM)

機器學習30天系統掌握【升級】

講師介紹:
唐宇迪,計算機博士,專注於機器學習與計算機視覺領域,深度學習領域一線實戰專家,善於實現包括人臉識別,物體識別,關鍵點檢測等多種應用的最新演算法。參與多個國家級計算機視覺專案,多年資料領域培訓經驗,豐富的教學講解經驗,出品多套機器學習與深度學習系列課程,課程生動形象,風格通俗易懂。

課程介紹:
這將是你成為機器學習工程師的最佳實踐指南,通過30天實訓,層層遞進,徹底掌握機器學習!
知識系統性歸納+實時答疑+原始碼共享+案例實戰,五大模組的支撐,這才是從零入門的正確開啟方式!課程分為四個階段:基礎講解+演算法進階+案例實戰+行業應用。全程採用案例實戰,為快速與實際專案接軌打定基礎!
課程從機器學習經典演算法的數學原理推導與例項講解,通過原理分析,通俗解讀,案例實戰讓大家快速掌握機器學習經典演算法原理推導與工作流程,掌握Python資料分析與建模庫使用方法,從案例角度思考如何應用及其學習演算法解決實際問題。

目標人群:
1. 適合零基礎!對機器學習感興趣,或致力於從事人工智慧領域的開發者!
2. N+知識點+手把手掌握+原始碼共享+實時答疑,系統性學習與消化!
3. 全程案例實戰,從案例中學習,事半功倍!報名就贈:Python機器學習必備庫!全程金牌輔導!

課程特色:
專屬答疑+課件資料提供+視訊無限時回放+VIP交流群

開課時間:
隨到隨學,自由支配

點我試看: http://edu.csdn.net/course/detail/6108?utm_source=blog11

相關文章