一沛鸵、分類
1蛾娶、定義:
分類其實是從特定的數據中挖掘模式灯谣,做出判斷的過程。
分類是在一群已經知道類別標號的樣本中蛔琅,訓練一種分類器胎许,讓其能夠對某種未知的樣本進行分類。分類算法屬于一種有監(jiān)督的學習罗售。分類算法的分類過程就是建立一種分類模型來描述預定的數據集或概念集辜窑,通過分析由屬性描述的數據庫元組來構造模型。分類的目的就是使用分類對新的數據集進行劃分寨躁,其主要涉及分類規(guī)則的準確性穆碎、過擬合、矛盾劃分的取舍等职恳。
2所禀、分類學習主要過程:
(1):訓練數據及存在一個類標記號方面,判斷他是正向數據集(起積極作用,不垃圾郵件)色徘,還是負向數據集(其抑制作用恭金,垃圾郵件)
(2):然后需要對數據集進行學習訓練,并構建一個訓練的模型
(3):通過該模型對預測數據集進行預測褂策,并計算其結果的性能
3横腿、常用的分類算法:
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,人工神經網絡)算法等护戳。
(1)NBC算法
NBC 模型發(fā)源于古典數學理論翎冲,有著堅實的數學基礎。該算法是基于條件獨立性假設的一種算法媳荒,當條件獨立性假設成立時抗悍,利用貝葉斯公式計算出其后驗概率,即該對象屬于某一類的概率钳枕,選擇具有最大后驗概率的類作為該對象所屬的類缴渊。
NBC算法的優(yōu)點:
- NBC算法邏輯簡單,易于實現鱼炒;
- NBC算法所需估計的參數很少衔沼;
- NBC 算法對缺失數據不太敏感;
- NBC 算法具有較小的誤差分類率昔瞧;
- NBC 算法性能穩(wěn)定指蚁,健壯性比較好;
NBC算法的缺點:
- 在屬性個數比較多或者屬性之間相關性較大時自晰,NBC 模型的分類效果相對較差凝化;
- 算法是基于條件獨立性假設的,在實際應用中很難成立酬荞,故會影響分類效果
(2)LR算法
LR 回歸是當前業(yè)界比較常用的機器學習方法搓劫,用于估計某種事物的可能性劣光。它與多元線性回歸同屬一個家族,即廣義線性模型糟把。簡單來說多元線性回歸是直接將特征值和其對應的概率進行相乘得到一個結果绢涡,邏輯回歸則是在這樣的結果上加上一個邏輯函數。在此選擇LR 作為回歸分析模型的代表進行介紹遣疯。
LR算法的優(yōu)點:
- 對數據中小噪聲的魯棒性好雄可;
- LR 算法已被廣泛應用于工業(yè)問題中;
- 多重共線性并不是問題缠犀,它可結合正則化來解決数苫。
LR算法的缺點:
- 對于非線性特征,需要轉換
- 當特征空間很大時辨液,LR的性能并不是太好
(3)SVM算法(比較常用的)
SVM 算法是建立在統(tǒng)計學習理論基礎上的機器學習方法虐急,為十大數據挖掘算法之一。通過學習算法滔迈,SVM 可以自動尋找出對分類有較好區(qū)分能力的支持向量止吁,由此構造出的分類器可以最大化類與類的間隔,因而有較好的適應能力和較高的分準率燎悍。SVM 算法的目的在于尋找一個超平面H敬惦,該超平面可以將訓練集中的數據分開,且與類域邊界的沿垂直于該超平面方向的距離最大谈山,故SVM 法亦被稱為最大邊緣算法俄删。
SVM算法的優(yōu)點:
- SVM 模型有很高的分準率;
- SVM 模型有很高的泛化性能奏路;
- SVM 模型能很好地解決高維問題畴椰;
- SVM 模型對小樣本情況下的機器學習問題效果好。
SVM算法的缺點:
- SVM 模型對缺失數據敏感鸽粉;
- 對非線性問題沒有通用解決方案斜脂,得謹慎選擇核函數來處理。
(4)ID3算法
ID3 算法是一種基于決策樹的分類算法潜叛,該算法是以信息論為基礎秽褒,以信息熵和信息增益為衡量標準,從而實現對數據的歸納分類威兜。信息增益用于度量某個屬性對樣本集合分類的好壞程度销斟。ID3 算法的時間復雜度為O(n|D|log|D|)。
ID3算法的優(yōu)點:
- ID3 算法建立的決策樹規(guī)模比較薪范妗蚂踊;
- 查詢速度快。
ID3算法的缺點:
- 不適合處理連續(xù)數據笔宿;
- 難以處理海量數據集犁钟;
- 建樹時偏選屬性值較大的進行分離棱诱,而有時屬性值較大的不一定能反應更多的數據信息。
(5)C4.5 算法
C4.5 算法是ID3 算法的修訂版涝动,采用信息增益率來加以改進迈勋,選取有最大增益率的分割變量作為準則,避免ID3 算法過度的適配問題醋粟。
C4.5算法優(yōu)點:
- C4.5 繼承了ID3 優(yōu)點靡菇;
- 在樹構造過程中進行剪枝;
- 能對不完整數據進行處理米愿;
- 能夠完成對連續(xù)屬性的離散化處理厦凤;
- 產生的分類規(guī)則易于理解,準確率較高育苟;
- 用增益率來選擇屬性较鼓,克服了用增益選擇屬性時偏向選擇取值多的屬性。
C4.5 算法缺點:
- 構造樹時违柏,需要對數據集進行多次的順序掃描和排序博烂,因而導致算法的低效;
- 只適合于能駐留于內存的數據集勇垛,當訓練集達到內存無法容納時程序無法運行脖母。
C4.5 用于遙感分類過程中士鸥,首先依據通常的方式建立第一個模型闲孤。隨后建立的第二個模型聚焦于被第一個模型錯誤分類的記錄。以此類推烤礁,最后應用整個模型集對樣本進行分類讼积,使用加權投票過程把分散的預測合并成綜合預測。Boosting 技術對于噪聲不大的數據脚仔,通常通過建立的多模型來減少錯誤分類的影響勤众,提高分類精度。
(5)C5.0算法
C5.0 算法是 Quinlan 在C4.5 算法的基礎上改進而來的產生決策樹的一種更新的算法鲤脏,它除了包括C4.5 的全部功能外们颜,還引入許多新的技術,其中最重要的技術是提升(Boosting)技術猎醇,目的是為了進一步提高決策樹對樣本的識別率窥突。同時C5.0 的算法復雜度要更低,使用更簡單硫嘶,適應性更強阻问,因此具有更高的使用價值。
C5.0算法的優(yōu)點:
- C5.0 模型能同時處理連續(xù)和離散的數據
- C5.0 模型通常不需要很長的訓練時間沦疾;
- C5.0 引入Boosting 技術以提高分類的效率和精度称近;
- C5.0 模型易于理解第队,模型推出的規(guī)則有非常直觀的解釋;
- C5.0 模型在面對數據遺漏和特征很多的問題時非常穩(wěn)健刨秆。
C5.0算法的缺點:
- 目標字段必須為分類字段凳谦。
美國地質調查局(USGS)在進行土地覆蓋分類項目過程中研發(fā)了支持決策樹分類的軟件。軟件分類模塊主要是針對龐大數據量的數據集進行數據挖掘衡未,找出特征晾蜘,然后建立規(guī)則集進行決策分類。在分類模塊中采用C5.0 模型來完成決策樹分類眠屎、形成分類文件剔交,實現遙感影像的分類。
(6)KNN 算法
KNN 算法是Cover 和Hart 于1968 年提出的理論上比較成熟的方法改衩,為十大挖掘算法之一岖常。該算法的思路非常簡單直觀:如果一個樣本在特征空間中的k 個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別葫督。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別竭鞍。
KNN算法的優(yōu)點:
- KNN 算法簡單、有效橄镜;
- KNN 算法適用于樣本容量比較大的類域的自動分類偎快;
- 由于KNN 方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的洽胶,因此對于類域的交叉或重疊較多的待分樣本集來說晒夹,KNN 方法較其他方法更為適合。
KNN算法的缺點:
- KNN 算法計算量較大姊氓;
- KNN 算法需要事先確定K 值丐怯;
- KNN 算法輸出的可解釋不強;
- KNN 算法對樣本容量較小的類域很容易產生誤分翔横。
(7)ANN 算法
人工神經網絡(ANN)算法就是一組連續(xù)的輸入/輸出單元读跷,其中每個連接都與一個權相關。在學習階段禾唁,通過調整神經網絡的權效览,使得能夠預測樣本的正確類標號來學習。
ANN算法的優(yōu)點:
- 能處理數值型及分類型的屬性荡短;
- 分類的準確度高丐枉,分布并行處理能力強;
- 對包含大量噪聲數據的數據集有較強的魯棒性和容錯能力肢预。
ANN算法的缺點:
- 不能觀察之間的學習過程矛洞;
- 學習時間過長,甚至可能達不到學習的目的;
- 對于非數值型數據需要做大量數據預處理工作沼本;
- 輸出結果難以解釋噩峦,會影響到結果的可信度和可接受程度;
- 神經網絡需要大量的參數抽兆,如網絡拓撲結構识补、權值和閾值的初始值。
小結:
二辫红、聚類
1凭涂、定義:
從廣義上說,聚類就是將數據集中在某些方面相似的數據成員放在一起贴妻。一個聚類就是一些數據實例的集合切油,其中處于相同聚類中的數據元素彼此相似,但是處于不同居類中的元素彼此不同名惩。由于在聚類中那些數據類別的分類或分組信息是沒有的澎胡,即這些數據是沒有標簽的,所以聚類通常被稱為無監(jiān)督學習娩鹉。
聚類分析是根據在數據中發(fā)現的描述對象及其關系的信息攻谁,將數據對象分組。目的是弯予,組內的對象相互之間是相似的(相關的)戚宦,而不同組中的對象是不同的(不相關的)。組內相似性越大锈嫩,組間差距越大受楼,說明聚類效果越好。也就是說祠挫, 聚類的目標是得到較高的簇內相似度和較低的簇間相似度那槽,使得簇間的距離盡可能大,簇內樣本與簇中心的距離盡可能小等舔。聚類之后的數據,只能顯示出這一類之間的數據有相似性糟趾,并不能說明其他問題慌植。
2、聚類的常見算法:
聚類算法分為三大類:
- 原型聚類(包含3個子類算法):(重點)
- K均值聚類算法
- 學習向量量化
- 高斯混合聚類
- 層次聚類(不常見)
- 密度聚類(不常見)
(1)K-means聚類
K均值聚類是最常用的聚類算法义郑,最初起源于信號處理蝶柿,其目標是將數據點劃分為K個類簇,找到每個簇的中心并使其亮度最小化非驮。K均值算法是一種原型聚類算法.
該算法的最大優(yōu)點是簡單交汤、便于理解,運行速度較快,缺點是只能應用于連續(xù)性數據芙扎,并且要在聚類前指定聚類的類簇數星岗。
K-means聚類算法的分析流程:
- 確定K值,即將數據集聚集成K個類簇或小組戒洼。
- 從數據集中隨機選擇K個數據點作為質心(Centroid)或數據中心俏橘。
- 分別計算每個點到每個質心之間的距離,并將每個點劃分到離最近質心的小組圈浇。
- 當每個質心都聚集了一些點后寥掐,重新定義算法選出新的質心。(對于每個簇磷蜀,計算其均值召耘,即得到新的K個質心點)
- 迭代執(zhí)行第三步到第四步,直到迭代終止條件滿足位置(分類結果不再變化)
K-means聚類方法的優(yōu)點:
- 解決聚類問題的一種經典算法褐隆,簡單快速怎茫;
- 對處理大數據集,該算法保持可伸縮性和高效率妓灌;
- 當結果簇是密集的轨蛤,他的效果較好。
K-means聚類方法的缺點:
- 在簇的平均值可被定義的情況下才能使用虫埂,可能不適用于某些應用祥山;
- 必須實現給出k(要生成的簇的數目),而且對處置敏感掉伏,對于不同的初始值缝呕,可能會導致不同的結果;
- 不適合于發(fā)現非凸形狀的簇或者大小差別很大的簇斧散;
- 對噪聲和孤立點數據敏感供常。
在圖像處理中,通過k均值聚類算法可以實現圖像分割鸡捐、圖像聚類栈暇、圖像識別等操作。我們通過k均值可以將這些像素點聚類成K個簇箍镜,然后使用每個簇內的質心點來替換簇內所有的像素點源祈,這樣就能實現在不改變分辨率的情況下量化壓縮圖像顏色,實現圖像顏色層級分割色迂。