分類算法
分類是在一羣已經知道類別標號的樣本中,訓練一種分類器,讓其能夠對某種未知的樣本進行分類。分類算法屬於一種有監督的學習。分類算法的分類過程就是建立一種分類模型來描述預定的數據集或概念集,通過分析由屬性描述的數據庫元組來構造模型。分類的目的就是使用分類對新的數據集進行劃分,其主要涉及分類規則的準確性、過擬合、矛盾劃分的取捨等。分類算法分類效果如圖所示。
常用的分類算法包括:NBC(Naive Bayesian Classifier,樸素貝葉斯分類)算法、LR(Logistic Regress,邏輯迴歸)算法、ID3(Iterative Dichotomiser 3 迭代二叉樹3 代)決策樹算法、C4.5 決策樹算法、C5.0 決策樹算法、SVM(Support Vector Machine,支持向量機)算法、KNN(K-Nearest Neighbor,K 最近鄰近)算法、ANN(Artificial Neural Network,人工神經網絡)算法等。
NBC算法
NBC 模型發源於古典數學理論,有着堅實的數學基礎。該算法是基於條件獨立性假設的一種算法,當條件獨立性假設成立時,利用貝葉斯公式計算出其後驗概率,即該對象屬於某一類的概率,選擇具有最大後驗概率的類作爲該對象所屬的類。
NBC算法的優點
- NBC算法邏輯簡單,易於實現;
- NBC算法所需估計的參數很少;
- NBC 算法對缺失數據不太敏感;
- NBC 算法具有較小的誤差分類率;
- NBC 算法性能穩定,健壯性比較好;
NBC算法的缺點
1.在屬性個數比較多或者屬性之間相關性較大時,NBC 模型的分類效果相對較差;
2.算法是基於條件獨立性假設的,在實際應用中很難成立,故會影響分類效果
LR算法
LR 迴歸是當前業界比較常用的機器學習方法,用於估計某種事物的可能性。它與多元線性迴歸同屬一個家族,即廣義線性模型。簡單來說多元線性迴歸是直接將特徵值和其對應的概率進行相乘得到一個結果,邏輯迴歸則是在這樣的結果上加上一個邏輯函數。在此選擇LR 作爲迴歸分析模型的代表進行介紹。
LR算法的優點
1.對數據中小噪聲的魯棒性好;
2.LR 算法已被廣泛應用於工業問題中;
3.多重共線性並不是問題,它可結合正則化來解決。
LR算法的缺點
1.對於非線性特徵,需要轉換
2.當特徵空間很大時,LR的性能並不是太好
SVM算法
SVM 算法是建立在統計學習理論基礎上的機器學習方法,爲十大數據挖掘算法之一。通過學習算法,SVM 可以自動尋找出對分類有較好區分能力的支持向量,由此構造出的分類器可以最大化類與類的間隔,因而有較好的適應能力和較高的分準率。SVM 算法的目的在於尋找一個超平面H,該超平面可以將訓練集中的數據分開,且與類域邊界的沿垂直於該超平面方向的距離最大,故SVM 法亦被稱爲最大邊緣算法。
SVM算法的優點
1.SVM 模型有很高的分準率;
2. SVM 模型有很高的泛化性能;
3. SVM 模型能很好地解決高維問題;
4. SVM 模型對小樣本情況下的機器學習問題效果好。
SVM算法的缺點
1.SVM 模型對缺失數據敏感;
2.對非線性問題沒有通用解決方案,得謹慎選擇核函數來處理。
ID3算法
ID3 算法是一種基於決策樹的分類算法,該算法是以信息論爲基礎,以信息熵和信息增益爲衡量標準,從而實現對數據的歸納分類。信息增益用於度量某個屬性對樣本集合分類的好壞程度。ID3 算法的時間複雜度爲O(n*|D|*log|D|)。
ID3算法的優點
- ID3 算法建立的決策樹規模比較小;
- 查詢速度快。
ID3算法的缺點
1.不適合處理連續數據;
2.難以處理海量數據集;
3.建樹時偏選屬性值較大的進行分離,而有時屬性值較大的不一定能反應更多的數據信息。
C4.5 算法
C4.5 算法是ID3 算法的修訂版,採用信息增益率來加以改進,選取有最大增益率的分割變量作爲準則,避免ID3 算法過度的適配問題。
C4.5算法優點
1.C4.5 繼承了ID3 優點;
2.在樹構造過程中進行剪枝;
3.能對不完整數據進行處理;
4.能夠完成對連續屬性的離散化處理;
5.產生的分類規則易於理解,準確率較高;
6.用增益率來選擇屬性,克服了用增益選擇屬性時偏向選擇取值多的屬性。
C4.5 算法缺點
1.構造樹時,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效;
2.只適合於能駐留於內存的數據集,當訓練集達到內存無法容納時程序無法運行。
C4.5 用於遙感分類過程中,首先依據通常的方式建立第一個模型。隨後建立的第二個模型聚焦於被第一個模型錯誤分類的記錄。以此類推,最後應用整個模型集對樣本進行分類,使用加權投票過程把分散的預測合併成綜合預測。Boosting 技術對於噪聲不大的數據,通常通過建立的多模型來減少錯誤分類的影響,提高分類精度。
C5.0算法
C5.0 算法是 Quinlan 在C4.5 算法的基礎上改進而來的產生決策樹的一種更新的算法,它除了包括C4.5 的全部功能外,還引入許多新的技術,其中最重要的技術是提升(Boosting)技術,目的是爲了進一步提高決策樹對樣本的識別率。同時C5.0 的算法複雜度要更低,使用更簡單,適應性更強,因此具有更高的使用價值。
C5.0算法的優點
1.C5.0 模型能同時處理連續和離散的數據
2.C5.0 模型估計
模型通常不需要很長的訓練時間;
3.C5.0 引入Boosting 技術以提高分類的效率和精度;
4.C5.0 模型易於理解,模型推出的規則有非常直觀的解釋;
5.C5.0 模型在面對數據遺漏和特徵很多的問題時非常穩健。
C5.0算法的缺點
目標字段必須爲分類字段。
美國地質調查局(USGS)在進行土地覆蓋分類項目過程中研發了支持決策樹分類的軟件。軟件分類模塊主要是針對龐大數據量的數據集進行數據挖掘,找出特徵,然後建立規則集進行決策分類。在分類模塊中採用C5.0 模型來完成決策樹分類、形成分類文件,實現遙感影像的分類。
KNN 算法
KNN 算法是Cover 和Hart 於1968 年提出的理論上比較成熟的方法,爲十大挖掘算法之一。該算法的思路非常簡單直觀:如果一個樣本在特徵空間中的k 個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
KNN算法的優點
1.KNN 算法簡單、有效;
2.KNN 算法適用於樣本容量比較大的類域的自動分類;
3.由於KNN 方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN 方法較其他方法更爲適合。
KNN算法的缺點
1.KNN 算法計算量較大;
2.KNN 算法需要事先確定K 值;
3.KNN 算法輸出的可解釋不強;
4. KNN 算法對樣本容量較小的類域很容易產生誤分。
ANN 算法
人工神經網絡(ANN)算法就是一組連續的輸入/輸出單元,其中每個連接都與一個權相關。在學習階段,通過調整神經網絡的權,使得能夠預測樣本的正確類標號來學習。
ANN算法的優點
1.能處理數值型及分類型的屬性;
2.分類的準確度高,分佈並行處理能力強;
3.對包含大量噪聲數據的數據集有較強的魯棒性和容錯能力。
ANN算法的缺點
1.不能觀察之間的學習過程;
2.學習時間過長,甚至可能達不到學習的目的;
3.對於非數值型數據需要做大量數據預處理工作;
4.輸出結果難以解釋,會影響到結果的可信度和可接受程度;
5.神經網絡需要大量的參數,如網絡拓撲結構、權值和閾值的初始值。
小結:
算法名稱 | 收斂時間 | 是否過度擬合 | 是否過渡擬合缺失數據敏感度 | 訓練數據量 |
---|---|---|---|---|
NBC | 快 | 存在 | 不敏感 | 無要求 |
LR | 快 | 存在 | 敏感 | 無要求 |
SVM | 一般 | 存在 | 敏感 | 小數據量 |
ID3 | 快 | 存在 | 不敏感 | 小數據集 |
C4.5 | 快 | 存在 | 不敏感 | 小數據集 |
C5.0 | 快 | 不存在 | 不敏感 | 大數據集 |
ANN | 慢 | 存在 | 敏感 | 大數據集 |
KNN | 快 | 存在 | 敏感 | 數據量多 |
創建了一個技術閒聊羣:有興趣可加我微信,拉你一起討論雜七雜八的技術,雖然大家都不怎麼活躍!
加好友備註:你的博客名 && 隨便給我的任意文章點個贊或留言