從此我不再天真的初二作文
摘要:隨著統計學習理論的出現,將經驗風險最小和泛化性相結合的SVM(支持向量機)成為當今新的研究熱點。在參考大量文獻的基礎上,本文對SVM的本質做了,同時給出了常用的SVM軟件,SVMlight,LIBSVM,為了深入了解SVM軟件實現機制,對相關的分解算法和優化算法SMO也做了詳細的介紹。通過改進SVMlight和LIBSVM的瓶頸同時二者精華基礎上,本文給出了高效的HeroSVM,并對其實現機制給出了詳細的介紹。最后本文對SVMlight和LIBSVM在相同數據集上做了對比,并給出了性能分析。

第一章引言
1.1理論背景
基于數據的機器學習是現代智能技術中的重要方面,從觀測數據(樣本)出發尋找規律,利用這些規律對未來數據或無法觀測的數據進行預測。傳統的經典的(參數)統計估計方法,要求已知參數的相關形式,利用訓練樣本用來估計參數的值,包括模式識別、神經網絡等在內,但是這種方法有很大的局限性,因為需要已知樣本分布形式,而這需要花費很大代價,還有,隱含的思想是樣本數目趨于無窮大時的漸近理論,但在實際問題中,樣本數往往是有限的,因此這些理論上很優秀的學習方法實際中表現卻可能不盡人意。還有就是經驗非線性方法,如人工神經網絡(ANN),這種方法利用已知樣本建立非線性模型,克服了傳統參數估計方法的困難,但是缺乏一種統一的數學理論,在這種基礎上現代的統計學習理論就誕生了。
統計學習理論[1](StatisticalLearningTheory或SLT)是一種專門研究小樣本情況下機器學習規律的理論.統計學習理論的一個核心概念就是VC維(VCDimension)概念,它是描述函數集或學習機器的復雜性或者說是學習能力(Capacityofthemachine)的一個重要指標,在此概念基礎上發展出了一系列關于統計學習的一致性(Consistency)、收斂速度、推廣性能(GeneralizationPerformance)等的重要結論。統計學習理論是建立在一套較堅實的理論基礎之上的,為解決有限樣本學習問題提供了一個統一的框架。它能將很多現有方法納入其中,有望幫助解決許多原來難以解決的問題(比如神經網絡結構選擇問題、局部極小點問題等。
1.2SVM介紹
V.Vapnik提出的支持向量機理論[2]是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度,Accuracy)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以期獲得最好的推廣能力(GeneralizatinAbility)。支持向量機方法的幾個主要優點有:
1.它是專門針對有限樣本情況的,其目標是得到現有信息下的最優解而不僅僅是樣本數趨于無窮大時的最優值;
2.算法最終將轉化成為一個二次型尋優問題,從理論上說,得到的將是全局最優點,解決了在神經網絡方法中無法避免的局部極值問題;
3.算法將實際問題通過非線性變換轉換到高維的特征空間(FeatureSpace),在高維空間中構造線性判別函數來實現原空間中的非線性判別函數,特殊性質能保證機器有較好的推廣能力,同時它巧妙地解決了維數問題,其算法復雜度與樣本維數無關;已經有許多事實證明,作為支持向量機最基本思想之一的結構化風險最小化原則[2](StructuralRiskMinimization,SRM)要優于傳統的經驗風險最小化原則(EmpiricalRiskMinimization,ERM)。不同于ERM試圖最小化訓練集上的誤差的做法,SRM試圖最小化VC維的上界,從而使其學習機獲得了更好的推廣性能,這恰恰是統計學習理論最重要的目標之一。支持向量機的主要應用領域有模式識別、函數逼近和概率密度估計等等。
*****因為涉及到太多的圖表和公式無法顯示,省略一部分。********
1.2SVM算法研究現狀
由于SVM方法較好的理論基礎和它在一些領域的應用中表現出來的優秀的推廣性能,近年來,許多關于SVM方法的研究,包括算法本身的改進和算法的實際應用,都陸續被研究出來,比較出名的有SVMlight[4],SMO[5],LIBSVM[8],HeroSVM[11]等。
盡管SVM算法的性能在許多實際問題的應用中得到了驗證,但是該算法在計算上存在著一些問題,包括訓練算法速度慢、算法復雜而難以實現以及檢測階段運算量大等等。傳統的利用標準二次型優化技術解決對偶問題的方法可能是訓練算法慢的主要原因:首先,SVM方法需要計算和存儲核函數矩陣,當樣本點數目較大時,需要很大的內存,例如,當樣本點數目超過4000時,存儲核函數矩陣需要多達128兆內存;其次,SVM在二次型優化過程中要進行大量的矩陣運算,多數情況下,優化算法是占用算法時間的主要部分。SVM方法的訓練運算速度是限制它的應用的主要方面,近年來人們針對方法本身的特點提出了許多算法來解決對偶優化問題。大多數算法的一個共同的思想就是循環迭代:將原問題分解成為若干子問題,按照某種迭代策略,通過反復求解子問題,最終使結果收斂到原問題的最優解。
1.3分解理論
在真實世界中分解是解決復雜問題的常用策略,一個復雜問題分解為很多的子問題,而這些子問題可以很方便的應用一些常用的技術,而且這些子問題聯合起來又可以解決原始問題,這就是分解理論的意義所在。分解應用到SVM中就是在每次迭代過程中,都將優化問題中的拉格朗日乘子分為迭代過程需要改變的自由變量集合B和暫時不變的固定變量N兩部分,當優化條件被破壞時,從B集合中選擇變量進行更改,其余的變量保持不變,從而將二次規劃問題進行分解。
根據子問題的劃分和迭代策略的不同,又可以大致分為兩類。第一類是所謂的“塊算法[3]”(chunkingalgorithm)。“塊算法”基于的是這樣一個事實,即去掉Lagrange乘子等于零的訓練樣本不會影響原問題的解。對于給定的訓練樣本集,如果其中的支持向量是已知的,優化算法就可以排除非支持向量,只需對支持向量計算權值(即Lagrange乘子)即可。實際上支持向量是未知的,因此“塊算法”的目標就是通過某種迭代方式逐步排除非支持向量。具體的作法是,選擇一部分樣本構成樣本集進行訓練,剔除其中的非支持向量,并用訓練結果對剩余樣本進行檢驗,將不符合訓練結果(一般是指違反KKT條件)的樣本(或其中的一部分)與本次結果的支持向量合并成為一個新的樣本集,然后重新訓練。如此重復下去直到獲得最優結果。當支持向量的數目遠遠小于訓練樣本數目時,“塊算法”顯然能夠大大提高運算速度。
然而,如果支持向量的數目本身就比較多,隨著算法迭代次數的增多,樣本集也會越來越大,算法依舊會變得十分復雜。因此第二類方法把問題分解成為固定樣本數[5]的子問題:樣本集的大小固定在算法速度可以容忍的限度內,迭代過程中只是將剩余樣本中部分“情況最糟的樣本”與樣本集中的樣本進行等量交換,即使支持向量的個數超過樣本集的大小,也不改變樣本集的規模,而只對支持向量中的一部分進行優化。
固定樣本集的方法和塊算法的主要區別在于:塊算法的目標函數中僅包含當前樣本集中的樣本,而固定樣本集方法雖然優化變量僅包含樣本,但目標函數卻包含整個訓練樣本集,即樣本集之外的樣本的Lagrange乘子固定為前一次迭代的結果,而不是像塊算法中那樣設為0。而且固定樣本集方法還涉及到一個確定換出樣本的問題(因為換出的樣本可能是支持向量)。這樣,這一類算法的關鍵就在于找到一種合適的迭代策略使得算法最終能收斂并且較快地收斂到最優結果,通過這里也可以看出固定集方法的時間要比塊算法慢的多。
固定樣本集的方法最早大概是由Osunaetal[6].提出的。在[7]中,EdgarOsunal等人介紹了一種具體的算法并對人臉識別問題進行了實驗。將樣本集分為兩個集合B和N,集合B作為子問題樣本集進行SVM訓練,集合N中所有樣本的Lagrange乘子均置為零。顯然,如果把集合B中對應Lagrange乘子為零的樣本i(即ai=0,iB)與集合N中的樣本j(即ai=0,jN)交換,不會改變子問題與原問題的可行性(即仍舊滿足約束條件);而且,當且僅當樣本滿足條件KKT條件時,替換后的子問題的最優解不變。于是可以按照以下步驟迭代求解:
1.選擇集合B,構造子問題;
2.求子問題最優解ai,iB及b,并置aj=0,jN;
3.找出其中不滿足條件KKT的樣本j,與B中滿足ai=0的樣本i交換,構成新的子問題。[7]證明了這種迭代算法的收斂性,并給出了兩階多項式分類器在人臉識別問題中的應用結果。需要說明的是,文中沒有說明集合B的大小是否改變。 前面提到,固定樣本集方法的關鍵在于選擇一種合適的換入換出策略。Joachims指出如果采用某種啟發式的迭代策略將會提高算法的收斂速度。最近JohnC.Platt在[5]中提出SMO(SequentialMinimalOptimization或SMO)算法。將樣本集的規模減到最小——兩個樣本。之所以需要兩個樣本是因為等式線性約束的存在使得同時至少有兩個Lagrange乘子發生變化。由于只有兩個變量,而且應用等式約束可以將其中一個用另一個表示出來,所以迭代過程中每一步的子問題的最優解可以直接用解析的方法求出來。這樣,算法避開了復雜的數值求解優化問題的過程;此外,Platt[5]還設計了一個兩層嵌套循環分別選擇進入樣本集的樣本,這種啟發式策略大大加快了算法的收斂速度。標準樣本集的實驗結果證明,SMO表現出在速度方面的良好性能。子問題的規模和迭代的次數是一對矛盾,SMO將樣本集的規模減少到2,一個直接的后果就是迭代次數的增加。所以SMO實際上是將求解子問題的耗費轉嫁到迭代上,然后在迭代上尋求快速算法。但是,SMO迭代策略的思想是可以用到其他迭代算法中的,可見,SMO還有改進的余地。
本文的第二部分將分別就幾種著名的軟件進行介紹,給出其基于的理論基礎。第三部分就第二部分進行分析,對比各軟件之間的差異,給出分析結論。最后對其應用前景和改進空間進行討論。
【從此我不再天真的初二作文】相關文章:
我從此不再煩惱作文02-27
從此,我不再煩惱作文(精選18篇)08-16
從此我不再期待初三作文06-29
(精選)從此不再作文500字12-11
從此不再作文500字10-14
從此我不再說謊作文(通用31篇)03-05
從此我不再害怕作文500字(精選32篇)06-11
從此,我不再悲傷初三作文(精選13篇)12-16
- 相關推薦