當前位置:
首頁 > 最新 > 數學不好怎麼辦?

數學不好怎麼辦?

SVM無疑有著嚴密的理論基礎,這也讓它變得難以理解。

名詞解釋

從封面圖片看,所謂的support vector就是那些離分界線最近的點。可以說是這些vectors(主,點)support(謂,定義)了machine(賓,分類器)。

二分類問題

假設一個二值分類問題,如何構造一個決策函數,對任一模式x都能推斷出對應的y值,這就是支持向量機最早需要解決的問題。之後隨著支持向量機理論的發展,又進一步發展到回歸領域。支持向量機的基本思想是:通過適當的非線性映射函數對數據的預處理,即在更高維的空間表達模式,屬於兩類的數據總能被一個「超平面」分割,這樣,我們就把問題變為:如何選擇非線性映射函數?

如果存在超平面+b=0,使得下面的不等式組:

合併寫成:

則稱訓練集是線性可分的。對於n維空間的線性可分問題,支持向量機可由如下帶約束的優化問題來表示:

上式為對變數w和b凸面的二次規劃問題。利用Lagrange優化理論,其最優解可以通過求解它的拉格朗日方程的對偶問題的解得到,為此,引入Lagrange函數:

將問題轉化為其對偶形式:

其中α稱為Lagrange乘子,它與每個樣本相對應。這是不等式約束條件下的二次函數尋優問題,存在唯一解。Lagrange乘子α中,只有一部分不等於零,它們對應的樣本點就是上面提到的支持向量。

由Karush-Kuhn-Tucker(簡稱KKT)定理可知,最優解滿足:

由此可得新的分類決策函數的表達式為:

其中,sgn(·)為符號函數,b可通過任選一個支持向量,由Lagrange函數取等號時求出,根據f(x)的正負即可判別樣本x所屬的類別。

在實際情況下,訓練樣本集往往是線性不可分的,可增加一個鬆弛項ξ,即:

此時的目標函數為:

其中,C為大於零的常數,控制對錯分樣本懲罰的程度,稱為懲罰因子,此情況下的最優分類超平面稱為廣義最優分類超平面。同樣由Lagrange優化理論,將最優分類超平面問轉化為對偶問題,並在0

在上面兩種情況下,將二次規劃問題轉化為對偶問題有兩個目的:1.在對偶問題中,約束條件加在拉格朗日乘子上,便於處理;2.在對偶形式變式中,訓練數據將僅僅以內積的形式出現,正是目的2讓我們實現將線性不可分問題拓展到非線性中去處理,這種方法有另外一個名字—核函數技術。

核函數

核函數理論可追溯到1909年,是從再生核希爾伯特空間(ReproducingKernel Hilbert Space, RKHS)研究開始的。1964年,核函數技術已被Aizermann等引入到機器學習領域,但直到1992年Vapnik等利用該技術成功地將線性SVM推廣到非線性SVM時,其巨大的應用潛力才被充分挖掘。

定義:設X∈R(n),若存在一個函數K(x,z),使得X到某一個高維Hilbert空間H的映射φ,K(x,z)=,則我們稱K(x,z)是核函數。其中,表示空間H中的內積。

由Hilbert-Schmidt理論,K(x,z)是滿足以下條件的任意對稱函數,Mercer定理:設X∈R(n),假定K是連續對稱函數,則存在積分運算元,使得:

對所有的f∈L2(x)成立。上式對應著有限輸入空間情況下的半正定條件。由模式識別理論,低維空間線性不可分的模式,通過非線性映射到高維特徵空間,可能實現線性可分。但是,如果直接在高維空間進行分類或回歸,則存在確定非線性映射函數的形式、參數、特徵空間維數等問題。其中最大的障礙是,在高維特徵空間運算時,存在「維數災難」的問題。採用核函數技術則可以有效地解決這個問題,通過用核函數來代替點積運算的方法,將非線性變換後的高維特徵空間的內積運算轉換為原始輸入空間中的核函數的計算。

設x,z∈X,X∈R(n),非線性函數?實現輸入空間X到特徵空間F的映射,其中F∈R(m),而n

其中< >為內積運算,K(x,z)為核函數。核函數將m維高維空間的內積運算轉化為n維低維輸入空間的核函數計算,解決了在高維特徵空間計算的「維數災難」等問題,這樣就為在高維特徵空間進行更為複雜的分類或回歸問題奠定了基礎。另外,核函數還有很多優良的特性,可總結為:

1.核函數技術的計算量與輸入空間的維數n無關,可高效處理高維數據的輸入。

2.無需知道非線性變換函數?的形式和參數。核函數的計算實質上是隱式地對應於在非線性變換函數?變換後的高維特徵空間運算,有效克服了一般映射方法中非線性函數結構及其參數難以確定的問題。

3.核函數的形式和參數的變化會改變從輸入空間到特徵空間的映射,進而對特徵空間的性質產生影響,並改變各種核函數方法的性能。

4.核函數技術可以和不同的演算法相結合,形成各種基於核函數的方法,且兩部分的設計可以單獨進行,可以為不同的應用選擇不同的核函數和演算法。

對於上面的數學理論及公式,是不是有點招架不住?理解SVM,需要把整個過程推導一遍嗎?我的建議是:

1.培養對數學的興趣

可以不擅長數學,但不應該討厭數學。有時候覺得,教育如果抹殺了學生對知識的興趣,那真是一件可悲的事情。扯遠了。。

數學無處不在。以「統計學」為例,儘管大多數人不靠倒騰數字過日子,但我們每天都會遇到統計值,它不斷的從電視、收音機、手機里跑出來,我們伴隨著統計值出生,95%的嬰兒都在38周到42周之間出生。統計值存在於各個行業,預測天氣、構造網頁、開發藥物、在投資市場上賺錢,統計幫我們把握包含大量數據的重要事件,然而我們總是無法獲得事件的全部數據,所以統計學之所以如此重要的原因是:我們需要在信息有限(樣本)的情況下做出充滿信心的決策。

發現數學之美。比如我們去估計總體的平均數時,總是不斷隨機抽取一定數量的樣本,並把這些樣本的平均數堆積起來,從長期看,堆放的平均數越多,堆成的外形越趨向於正態,這就是整個統計學裡最美麗的形狀。這裡推薦兩本書:吳軍的「數學之美」、劉末鵬的「暗時間」。

2.逐步探求問題的數學本質

上面提到決策,我們每一天,都在不斷的決策,從某種程度上說這是「最優化問題」。上班怎麼選擇乘車路線,才能舒服又快速的到達公司;旅遊如何選擇航班和賓館等。最優化問題就是:在約定的條件下,選擇最優的參數和方案,來使得目標函數最大化/最小化的問題。

「目標函數」就是決策問題的數學本質,這樣就可以用數學語言來描述它了,如果目標函數連續可導,並且是線性函數、變數是二次的,這就是一個「連續最優化問題」,解決的工具就有:梯度下降、牛頓法等。這些方法也是SVM等機器學習問題的工具。

所以當直面複雜的數學公式不知所措時,不妨從「問題」本身開始思考:是怎樣歸結為這樣的數學公式的?這個定理是如何參與求解過程的?

而且「問題」的定義,本身就很重要。吳軍「智能時代」中介紹賈里尼克的部分就是一個例證,對於計算機自動識別人類語音的問題,賈里尼克認為這不是一個傳統的人工智慧問題(讓計算機像人類一樣思考),而更像是一個通信問題。人的大腦是一個信息源,從思考到找到合適的語句,再通過發音說出來,是一個編碼的過程,經過媒介(聲道、空間或者電話線、揚聲器等)傳播到聽眾耳朵里,是經過了一個長長的信道的信息傳播問題,最後聽話人把它聽懂,是一個解碼的過程。既然是一個典型的通信問題,就可以用解決通信問題的方法來解決,為此賈里尼克用兩個數學模型(馬爾科夫模型)分別描述信源和信道,這種方法成功的將語音識別率從過去的70%左右提高到90%以上。

3.重點是解決問題而不是推導公式

能夠推導出SVM的每個公式當然很好,這樣可以加深對SVM的理解,然而貌似更應該關注演算法的執行情況和穩定性,比如SVM中懲罰因子和核參數對於演算法收斂性的影響,再比如數據量如果很大的話,SVM演算法的時間複雜度是否會超過計算機內存可承受的限度。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

客官,你點的雪來了

TAG:全球大搜羅 |