【原創】SVM小結

理論基礎:

機器學習有三類基本的問題,即模式識別、函數逼近和概率密度估計.

?

SVM有著嚴格的理論基礎,建立了一套較好的有限訓練樣本下機器學習的理論框架和通用方法。他與機器學習是密切相關的,很多理論甚至解決了機器學習領域的其他的問題,所以學習SVM和機器學習是相輔相成的,兩者可以互相促進,有助于機器學習理論本質的理解。

?

維理論:對一個指示函數集,如果存在個樣本能夠被函數集中的函數按所有可能的種形式分開,則稱函數集能夠把個樣本打散;函數集的維就是它能打散的最大樣本數目。維反映了函數集的學習能力,維越太則學習機器越復雜(容量越太)。

?

期望風險:其公式為,其中為損失函數,為概率分布,期望風險的大小可以直觀的理解為,當我們用進行預測時,“平均”的損失程度,或“平均”犯錯誤的程度。

?

經驗風險最小化(ERM準則)歸納原則:但是,只有樣本卻無法計算期望風險,因此,傳統的學習方法用樣本定義經驗風險作為對期望風險的估計,并設計學習算法使之最小化。即所謂的經驗風險最小化(ERM準則)歸納原則。經驗風險是用損失函數來計算的。對于模式識別問題的損失函數來說,經驗風險就是訓練樣本錯誤率;對于函數逼近問題的損失函數來說,就是平方訓練誤差;而對于概率密度估計問題的損失函數來說,ERM準則就等價于最大似然法。但是,經驗風險最小不一定意味著期望風險最小。其實,只有樣本數目趨近于無窮大時,經驗風險才有可能趨近于期望風險。但是很多問題中樣本數目離無窮大很遠,那么在有限樣本下ERM準則就不一定能使真實風險較小。ERM準則不成功的一個例子就是神經網絡和決策樹的過學習問題(某些情況下,訓練誤差過小反而導致推廣能力下降,或者說是訓練誤差過小導致了預測錯誤率的增加,即真實風險的增加)。

?

結構風險最小化理論(SRM):所以,在有限樣本情況下,僅僅用ERM來近似期望風險是行不通的。統計學習理論給出了期望風險與經驗風險之間關系:

?

其中 為置信區間,是VC的增函數,也是樣本數的減函數。右端稱為結構風險,它是期望風險的一個上界。經驗風險的最小依賴較大的 F (樣本數較多的函數集)中某個 f 的選擇,但是 F 較大,則VC維較大,就導致置信區間變大,所以要想使期望風險最小,必須選擇合適的和來使不等式右邊的結構風險最小,這就是結構風險最小化歸納原則。

?

實現SRM的思路之一就是設計函數集的某種結構使每個子集中都能取得最小的經驗風險(如使訓練誤差為0),然后只需選擇適當的子集使置信范圍最小,則這個子集中使經驗風險最小的函數就是最優函數。SVM方法實際上就是這種思想的具體實現。

主要思想:

SVM方法是從線性可分情況下的最優分類面提出的,它是實現統計學習理論思想的方法。所謂最優分類面就是要求分類面不但能將兩類無錯誤地分開,而且要使兩類的分類間隔最大。前者是保證經驗風險最小(如使訓練誤差為0),而使分類間隔最大實際上就是使推廣性的界中的置信范圍最小,從而使真實風險最小。

?

構造這個最優分類面的方法有2個:平分最近點法和最大間隔法。這兩個方法求解得到的是同一個超平面,這個方法就稱為線性可分支持向量分類機。其實,這個分類機是將最大間隔法求解最優分類面的最優化問題轉化為其對偶問題,從而通過求解相對簡單的對偶問題來求解原分類問題的算法。隨后引入松弛變量和懲罰因子來解決非線性分類問題,并且允許一定的分類錯誤,最終得到非線性軟間隔的標準的 C-支持向量機(C-SVC)。其中的巧妙之處就在于把一個復雜的最優化問題的求解簡化為對原有樣本數據的內積運算。我們要做的就是選擇適當的核函數及其參數、懲罰因子就可以了。

?

對于線性不可分情況,則通過核函數,把輸入映射到另一個空間中,在新的空間中使用線性支持向量機。

?

核函數:

?

核方法在數學中是個古老的命題.通過一個特征映射可以將輸入空間(低維的)中的線性不可分數據映射成高維特征空間中(再生核Hilbert空間)中的線性可分數據.這樣就可以在特征空間使用SVM方法了.因為使用svm方法得到的學習機器只涉及特征空間中的內積,而內積又可以通過某個核函數(所謂Mercer)來表示,因此我們可以利用核函數來表示最終的學習機器.這就是所謂的核方法.核函數本質上是對應于高維空間中的內積的,從而與生成高維空間的特征映射一一對應.核方法正是借用這一對應關系隱性的使用了非線性特征映射(當然也可以是線性的).這一方法即使得我們能夠利用高維空間讓數據變得易于處理----不可分的變成可分的,同時又回避了高維空間帶來的維數災難-----不用顯式表達特征映射.

核技巧把高維空間中兩個點的內積計算,用原來空間中的兩個模式的簡單函數即核函數的求值來代替。核技巧不僅應用于支持向量機,還可以應用于那些含有內積計算的非線性算法。例如函數逼近,主成分分析等等。

?

在支持向量機中使用的核函數主要有四類:

線性核函數:

多項式核函數:

RBF核函數:

Sigmoid核函數:

其中,和均為核參數。

究竟用哪一種核函數取決對數據處理的要求,不過建議一般都是使用RBF核函數。因為RBF核函數具有良好的性態,在實際問題中表現出了良好的性能。

軟件工具:

支持向量機的軟件工具主要有LIBSVM和SVMLight,其中我詳細了解了LIBSVMLIBSVM 是一個開源的軟件包,是臺灣大學林智仁博士等開發的,可以解決上面所提到的三類機器學習基本問題,提供了線性、多項式、徑向基和S形函數四種常用的核函數供選擇。

?

LIBSVM 使用的一般步驟是:
1) 按照LIBSVM軟件包所要求的格式準備數據集;
2) 對數據進行簡單的縮放操作;
3) 考慮選用RBF 核函數;
4) 采用交叉驗證選擇最佳參數C與g ;
5) 采用最佳參數C與g 對整個訓練集進行訓練獲取支持向量機模型;
6) 利用獲取的模型進行測試與預測。

應用領域

SVM可以用于模式識別、函數逼近和概率密度估計.

?

總的來說,SVM能夠較好的解決小樣本,非線性,高維數識別和局部極小點等問題。

?

詳細說來,可以應用于如下領域:人臉檢測,故障診斷,分類,回歸,聚類,時間序列預測,系統辨識,金融工程,生物醫藥信號處理,數據挖掘,生物信息,文本挖掘,自適應信號處理,剪接位點識別,基于支持向量機的數據庫學習算法,手寫體相似字識別,支持向量機函數擬合在分形插值中的應用,基于支持向量機的慣導初始對準系統,巖爆預測的支持向量機,缺陷識別,計算機鍵盤用戶身份驗證,視頻字幕自動定位于提取,說話人的確認,等等。

?

研究方向:

雖然SVM 方法在理論上具有很突出的優勢, 但與其理論研究相比,應用研究尚相對比較滯后, 所以現在的主要的研究方向就是SVM的應用。包括SVM在新領域的應用以及跟其他方法的結合。例如SVM決策樹可以用于多層分類。

所以,歸納如下

核函數的構造和參數的選擇;支持向量機從兩類問題向多類問題的推廣;更多的應用領域的推廣;與目前其它機器學習方法的融合;與數據預處理(樣本的重要度,屬性的重要度,特征選擇等)方面方法的結合,將數據中脫離領域知識的信息,即數據本身的性質融入支持向量機的算法中從而產生新的算法;支持向量機訓練算法的探索。

閱讀材料

1.數據挖掘中的新方法-支持向量機 鄧乃揚 田英杰著

2.支持向量機導論

3. A practical guide to SVM classification.pdf

4. LibSVM-2.6 程序代碼注釋.pdf

5. 一種新的SVm決策樹.pdf

6. 2000261-關于統計學習理論與向量機.pdf

7 支持向量機的研究現狀與進展.pdf

8. 統計學習理論的本質

轉載于:https://www.cnblogs.com/dskong/archive/2012/05/27/2520045.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274781.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React 18 帶給我們的驚喜

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列這篇文…

建模心法(2)——邁出建模第一步

原文地址:http://www.cnblogs.com/1-2-3/archive/2008/08/04/model-method-part1.html 原文作者:景春雷 一錯再錯的這故事才精彩 ——樸樹 《我愛你再見》摘要 即使讀了再多的書、跟過再多的項目,…

Web:你知道我這十幾年是怎么過來的嗎?!

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列1989 …

設計師更高效_如何丟掉我的工作使我成為一名更好的設計師

設計師更高效I lost my job a few times early on in my design career. In the process of getting back up after a job loss, it has made me a better designer not only in terms of hard skills but the soft skills required to be more resilient and empathetic, whic…

【ASP.NET】登陸成功后如何跳轉到上一個頁面

當用戶瀏覽網頁的時候會在某個地方需要用戶登陸才能繼續瀏覽,用戶登陸之后會自動跳轉到剛剛瀏覽的頁面。這個步驟是怎么實現的呢?net小伙在查閱相關資料實踐之后終于明白了,其實很簡單,先分享給大家吧。 當用戶在瀏覽一個頁面的時…

4月,誠邀你參加源碼共讀,學會看源碼,打開新世界!開闊視野

大家好,我是若川。很多關注我的新朋友可能不知道我組織了源碼共讀活動~也有很多人不知道我是誰。有人以為我是80后。有人以為我是全職自媒體等等。若川的 2021 年度總結,彈指之間 這篇文章寫了我是16年畢業的,或許有些啟發。源碼共讀按照從易…

bt709和srgb_選擇用于多用途視頻編輯和色彩校正的顯示器— sRGB,DCI-P3,REC 709

bt709和srgb**Note from the author: if you enjoy this article, please follow me or this publication for more video production and marketing related content.****作者注:如果您喜歡本文,請關注我或此出版物以獲取更多與視頻制作和營銷相關的內容…

超4000人參加源碼共讀,喊你來一起學習成長~打開新世界

大家好,我是若川。很多關注我的新朋友可能不知道我組織了源碼共讀活動~也有很多人不知道我是誰。有人以為我是80后。有人以為我是全職自媒體等等。若川的 2021 年度總結,彈指之間 這篇文章寫了我是16年畢業的,或許有些啟發。源碼共讀按照從易…

figma設計_如何在Figma中構建設計入門套件(第二部分)

figma設計Figma教程 (Figma Tutorial) With this short, but informative Tutorial Series I aim to show you how to build the solid foundations of a powerful, and versatile Design Starter Kit, enabling you to start your next project in Figma faster than ever bef…

Hibernate 簡介(百度)

Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在…

GitHub 最受歡迎的Top 20 JavaScript 項目

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列今天來…

java反編譯,eclipse支持插件

http://java.decompiler.free.fr/?qjdeclipse 按照說明 在eclipse更新插件就可以。 這樣 在一些 閉源的jar文件,你也可以看到 大致的源碼。(公司 知道如何 加密混淆 java代碼或class文件,居然無法使用jd-gui瀏覽源碼) 而&#xf…

unity vr 交互_基于手動的VR / MR交互,用于刪除實體

unity vr 交互Deleting an entity or closing an application is one of the most ubiquitous operations performed in any application. It is necessary for the organization of the data. On the computer, there are multiple ways to delete a file like cmd delete, d…

手把手帶你走進Babel的編譯世界

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列前言談…

iPhone/Mac Objective-C內存管理教程和原理剖析(二)口訣與范式轉

版權聲明 此文版權歸作者Vince Yuan (vince.yuan#gmail.com)所有。歡迎非營利性轉載,轉載時必須包含原始鏈接http://vinceyuan.cnblogs.com,且必須包含此版權聲明的完整內容。 版本 1.1 發表于2010-03-08 二 口訣與范式 1 口訣。 1.1 …

同態加密應用_重新設計具有同態性的銀行應用

同態加密應用Catering user preference is undoubtedly a never-ending task. End of the day, it takes all sorts to make a world. For that reason, it is deemed important to design with the accent of communicating core business value, and resolving user needs wi…

(字節/華為/美團)前端面經記錄冷冷清清的金三銀四

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列從畢業…

PHP連接PGSQL

function conn($hostName,$Login,$Password,$dbName,$Port) //建立目標數據庫連接 {$conn &ADONewConnection(postgres8);$conn->debug false; //true時adodb將在頁面顯示debug信息$conn->LogSQL(false); //true時adodb將建立adodb_sqllog表記錄每次sql操作$conn-&…

netflix_Netflix播放按鈕剖析

netflixWe will develop a play pause button similar to the one the Netflix video player has.我們將開發一個類似于Netflix視頻播放器的播放暫停按鈕。 Since Swift has replaced Objective-C as the default development language for iOS, the same will apply to Swift…

TypeScript 終極初學者指南

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列在過去…