天天看點

分類算法總結

      目前看到的比較全面的分類算法,總結的還不錯. 

      主要分類方法介紹解決分類問題的方法很多[40-42] ,單一的分類方法主要包括:決策樹、貝葉斯、人工神經網絡、K-近鄰、支援向量機和基于關聯規則的分類等;另外還有用于組合單一分類方法的內建學習算法,如Bagging和Boosting等。 

     (1)決策樹 

      決策樹是用于分類和預測的主要技術之一,決策樹學習是以執行個體為基礎的歸納學習算法,它着眼于從一組無次序、無規則的執行個體中推理出以決策樹表示的分類規則。構造決策樹的目的是找出屬性和類别間的關系,用它來預測将來未知類别的記錄的類别。它采用自頂向下的遞歸方式,在決策樹的内部節點進行屬性的比較,并根據不同屬性值判斷從該節點向下的分支,在決策樹的葉節點得到結論。 

主要的決策樹算法有ID3、C4.5(C5.0)、CART、PUBLIC、SLIQ和SPRINT算法等。它們在選擇測試屬性采用的技術、生成的決策樹的結構、剪枝的方法以及時刻,能否處理大資料集等方面都有各自的不同之處。 

      (2)貝葉斯 

      貝葉斯(Bayes)分類算法是一類利用機率統計知識進行分類的算法,如樸素貝葉斯(Naive Bayes)算法。這些算法主要利用Bayes定理來預測一個未知類别的樣本屬于各個類别的可能性,選擇其中可能性最大的一個類别作為該樣本的最終類别。由于貝葉斯定理的成立本身需要一個很強的條件獨立性假設前提,而此假設在實際情況中經常是不成立的,因而其分類準确性就會下降。為此就出現了許多降低獨立性假設的貝葉斯分類算法,如TAN(Tree Augmented Na?ve Bayes)算法,它是在貝葉斯網絡結構的基礎上增加屬性對之間的關聯來實作的。 

      (3)人工神經網絡 

      人工神經網絡(Artificial Neural Networks,ANN)是一種應用類似于大腦神經突觸聯接的結構進行資訊處理的數學模型。在這種模型中,大量的節點(或稱”神經元”,或”單元”)之間互相聯接構成網絡,即”神經網絡”,以達到處理資訊的目的。神經網絡通常需要進行訓練,訓練的過程就是網絡進行學習的過程。訓練改變了網絡節點的連接配接權的值使其具有分類的功能,經過訓練的網絡就可用于對象的識别。 

目前,神經網絡已有上百種不同的模型,常見的有BP網絡、徑向基RBF網絡、Hopfield網絡、随機神經網絡(Boltzmann機)、競争神經網絡(Hamming網絡,自組織映射網絡)等。但是目前的神經網絡仍普遍存在收斂速度慢、計算量大、訓練時間長和不可解釋等缺點。 

      (4)k-近鄰 

       k-近鄰(kNN,k-Nearest Neighbors)算法是一種基于執行個體的分類方法。該方法就是找出與未知樣本x距離最近的k個訓練樣本,看這k個樣本中多數屬于哪一類,就把x歸為那一類。k-近鄰方法是一種懶惰學習方法,它存放樣本,直到需要分類時才進行分類,如果樣本集比較複雜,可能會導緻很大的計算開銷,是以無法應用到實時性很強的場合。 

      (5)支援向量機 

      支援向量機(SVM,Support Vector Machine)是Vapnik根據統計學習理論提出的一種新的學習方法[43] ,它的最大特點是根據結構風險最小化準則,以最大化分類間隔構造最優分類超平面來提高學習機的泛化能力,較好地解決了非線性、高維數、局部極小點等問題。對于分類問題,支援向量機算法根據區域中的樣本計算該區域的決策曲面,由此确定該區域中未知樣本的類别。 

      (6)基于關聯規則的分類 

      關聯規則挖掘是資料挖掘中一個重要的研究領域。近年來,對于如何将關聯規則挖掘用于分類問題,學者們進行了廣泛的研究。關聯分類方法挖掘形如condset→C的規則,其中condset是項(或屬性-值對)的集合,而C是類标号,這種形式的規則稱為類關聯規則(class association rules,CARS)。關聯分類方法一般由兩步組成:第一步用關聯規則挖掘算法從訓練資料集中挖掘出所有滿足指定支援度和置信度的類關聯規則;第二步使用啟發式方法從挖掘出的類關聯規則中挑選出一組高品質的規則用于分類。屬于關聯分類的算法主要包括CBA[44] ,ADT[45] ,CMAR[46] 等。 

      (7)內建學習(Ensemble Learning) 

      實際應用的複雜性和資料的多樣性往往使得單一的分類方法不夠有效。是以,學者們對多種分類方法的融合即內建學習進行了廣泛的研究。內建學習已成為國際機器學習界的研究熱點,并被稱為目前機器學習四個主要研究方向之一。 

      內建學習是一種機器學習範式,它試圖通過連續調用單個的學習算法,獲得不同的基學習器,然後根據規則組合這些學習器來解決同一個問題,可以顯著的提高學習系統的泛化能力。組合多個基學習器主要采用(權重)投票的方法,常見的算法有裝袋[47] (Bagging),提升/推進[48, 49] (Boosting)等。 

有關分類器的內建學習見圖2-5。內建學習由于采用了投票平均的方法組合多個分類器,是以有可能減少單個分類器的誤差,獲得對問題空間模型更加準确的表示,進而提高分類器的分類準确度。 

繼續閱讀