【数学建模常用模型】分类专题
這次介紹一下數(shù)模國賽常用的分類方法,以下這方法也是現(xiàn)在應用比較廣泛的分類方法:K-近鄰算法(k-Nearest Neighbors,KNN)和支持向量機(Support Vector Machine, SVM)。
?
K-近鄰算法
K-近鄰算法的基本思想是:如果一個樣本在特征空間中的K個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。該方法在定類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。以空間中k個點為中心進行聚類,對最靠近他們的對象歸類。
KNN方法思路簡單,易于理解,易于實現(xiàn),無需計算參數(shù);不足之處是計算量較大,需要計算每一個待分類的樣本點它到全體已知樣本的距離,才能求得它的K個最鄰近點。目前也要改進策略,如采用其它距離比如更接近于實際的距離函數(shù)而不是歐氏距離來度量長度,建立更高效的索引機制,等等。
?
值得一提的是,需要把KNN與另外一個名字相似的算法——K-均值聚類(K-means,全稱為k-means clustering algorithm)區(qū)分開來,均值聚類是一種無監(jiān)督學習的算法,通過迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結果。聚類結束條件可以為:1)沒有(或最小數(shù)目)對象被重新分配給不同的聚類。2)沒有(或最小數(shù)目)聚類中心再發(fā)生變化。3)誤差平方和局部最小。
下面給出兩種算法的示意圖,方便理解并區(qū)分,KNN在上,K-means在下。
KNN
?
K-means
?
支持向量機
支持向量機是一種二分類所給樣本點分成算法,基本目的是尋找一個可以把樣本點分成兩類的直線(對于二維平面而言)。維基百科上的定義是這樣的:
支持向量機(英語:support vector machine,常簡稱為SVM,又名支持向量網(wǎng)絡)是在分類與回歸分析中分析數(shù)據(jù)的監(jiān)督式學習模型與相關的學習算法。給定一組訓練實例,每個訓練實例被標記為屬于兩個類別中的一個或另一個,SVM訓練算法創(chuàng)建一個將新的實例分配給兩個類別之一的模型,使其成為非概率二元線性分類器。SVM模型是將實例表示為空間中的點,這樣映射就使得單獨類別的實例被盡可能寬的明顯的間隔分開。然后,將新的實例映射到同一空間,并基于它們落在間隔的哪一側來預測所屬類別。
支持向量機是一種比較經(jīng)典的算法,不過目前應用還是神經(jīng)網(wǎng)絡決策樹比較多。下面我們由簡至繁來了解一下模型以及算法。首先是對樣本情況的分類討論。
a.樣本完全線性可分
線性可分通俗來講即為存在一條可以把樣本完全分開的直線:
?
鑒于嚴謹起見,樣本可能為n>3維的向量,我們把這條“直線”延伸開來,將其稱為“超平面”。而我們要在所有符合條件的超平面中尋找到這兩類點距離最大的那個超平面:
?
?
顯然,符合條件的超平面到兩類樣本點的距離是相同的。樣本中距離超平面最近的一些點,我們給它一個定義叫做支持向量,如上圖中標記為紅色的點。上圖中2/|w|這一段距離我們把它叫做間隔。
當訓練集線性可分時,通過硬間隔學習得到一個線性分類器,即硬間隔SVM。
?
b.樣本不完全線性可分
不是所有的情況都存在一個超平面將兩類樣本點完全分開來的,比如下面這種情況:
這個時候我們許個別允點落在超平面內(nèi)部,或落入決策邊界的錯誤一側。這個時候的間隔我們稱做軟間隔。
當訓練數(shù)據(jù)不能線性可分但是可以近似線性可分時,通過軟間隔最大化也可以學習到一個線性分類器,即軟間隔SVM。
c.樣本線性不可分
更有些時候,不是依靠一給超平面就能把兩類樣本點分開來的,比如下面這種情況:
這種時候就需要把樣本點投射到高維空間,方可區(qū)分:
?
當訓練數(shù)據(jù)線性不可分時,通過使用核技巧和軟間隔最大化,可以學習到一個非線性SVM。
以上就是本次介紹的常用模型了,KNN和SVM,有問題的小伙伴可以隨時提問喔~
不是所有的情況都存在一個超平面將兩類樣本點完全分開來的,比如下面這種情況:
這個時候我們許個別允點落在超平面內(nèi)部,或落入決策邊界的錯誤一側。這個時候的間隔我們稱做軟間隔。
當訓練數(shù)據(jù)不能線性可分但是可以近似線性可分時,通過軟間隔最大化也可以學習到一個線性分類器,即軟間隔SVM。
?
c.樣本線性不可分
更有些時候,不是依靠一給超平面就能把兩類樣本點分開來的,比如下面這種情況:
?
?
這種時候就需要把樣本點投射到高維空間,方可區(qū)分:
?
當訓練數(shù)據(jù)線性不可分時,通過使用核技巧和軟間隔最大化,可以學習到一個非線性SVM。
以上就是本次介紹的常用模型了,KNN和SVM,有問題的小伙伴可以隨時提問喔~
總結
以上是生活随笔為你收集整理的【数学建模常用模型】分类专题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Guitar Por如何演奏刮弦
- 下一篇: 计算机术语设备透明性,计算机中术语透明性