數(shù)據(jù)挖掘-分類課件.ppt
《數(shù)據(jù)挖掘-分類課件.ppt》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)挖掘-分類課件.ppt(106頁珍藏版)》請在裝配圖網上搜索。
18:49,1,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 實值預測 與分類有關的問題,18:49,2,分類的流程,根據(jù)現(xiàn)有的知識,我們得到了一些關于爬行動物和鳥類的信息,我們能否對新發(fā)現(xiàn)的物種,比如動物A,動物B進行分類?,18:49,3,分類的流程,步驟一:將樣本轉化為等維的數(shù)據(jù)特征(特征提?。?。 所有樣本必須具有相同數(shù)量的特征 兼顧特征的全面性和獨立性,18:49,4,分類的流程,步驟二:選擇與類別相關的特征(特征選擇)。 比如,綠色代表與類別非常相關,黑色代表部分相關,灰色代表完全無關,18:49,5,分類的流程,步驟三:建立分類模型或分類器(分類)。 分類器通??梢钥醋饕粋€函數(shù),它把特征映射到類的空間上,18:49,6,如何避免過度訓練,分類也稱為有監(jiān)督學習(supervised learning),與之相對于的是無監(jiān)督學習(unsupervised learning),比如聚類。 分類與聚類的最大區(qū)別在于,分類數(shù)據(jù)中的一部分的類別是已知的,而聚類數(shù)據(jù)的類別未知。 建立分類模型需要學習一部分已知數(shù)據(jù),如果訓練時間過長,或者預測模型參數(shù)太多而樣本較少,將導致過度訓練(overfitting)。,18:49,7,如何避免過度訓練,避免過度訓練最重要一點是,模型的參數(shù)量應遠小于樣本的數(shù)量。 應建立訓練集(training set)和測試集(test set)。 訓練集應用于建立分類模型 測試集應用于評估分類模型 K折疊交叉驗證(K-fold cross validation):將初始采樣分割成K個子樣本(S1,S2,.,Sk),取K-1個做訓練集,另外一個做測試集。交叉驗證重復K次,每個子樣本都作為測試集一次,平均K次的結果,最終得到一個單一估測。,18:49,8,分類模型的評估,真陽性(True Positive): 實際為陽性 預測為陽性 真陰性(True Negative):實際為陰性 預測為陰性 假陽性(False Positive): 實際為陰性 預測為陽性 假陰性(False Negative):實際為陽性 預測為陰性 預測是否正確 預測結果 比如預測未知動物是鳥類還是爬行動物,陽性代表爬行動物,陰性代表非爬行動物,請大家闡述 TP=10,TN=8,F(xiàn)N=3,F(xiàn)P=2是什么意義,,,,,18:49,9,分類模型的評估,靈敏度(Sensitivity): TP/(TP+FN) 也稱為查全率(Recall) 數(shù)據(jù)集共有13只爬行動物,其中10只被正確預測為爬行動物,靈敏度為10/13 特異度(Specificity): TN/(TN+FP) 數(shù)據(jù)集有10只非爬行動物,其中8只被預測為非爬行動物,特異度為8/10 精度(Precision): TP/(TP+FP) 分類器預測了12只動物為爬行動物,其中10只確實是爬行動物,精度為10/12 準確率(Accuracy): (TP+TN)/(TP+TN+FN+FP) 數(shù)據(jù)集包含23只動物,其中18只預測為正確的分類,準確率為18/23,18:49,10,分類模型的評估,對于非平衡(unblanced)的數(shù)據(jù)集,以上指標并不能很好的評估預測結果。 非平衡的數(shù)據(jù)集是指陽性數(shù)據(jù)在整個數(shù)據(jù)集中的比例很小。比如,數(shù)據(jù)集包含10只爬行動物,990只爬行動物,此時,是否預測正確爬行動物對準確率影響不大。 更平衡的評估標準包括馬修斯相關性系數(shù)(Matthews correlation coefficient)和ROC曲線。 馬修斯相關性系數(shù)定義為,18:49,11,分類模型的評估,ROC曲線通過描述真陽性率(TPR)和假陽性率(FPR)來實現(xiàn),其中TPR=TP/(TP+FN), FPR=FP/(FP+TN)。 大部分分類器都輸出一個實數(shù)值(可以看作概率),通過變換閾值可以得到多組TPR與FPR的值。,18:49,12,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 實值預測 與分類有關的問題,18:49,13,基于距離的分類算法的思路,定義4-2 給定一個數(shù)據(jù)庫 D={t1,t2,…,tn}和一組類C={C1,…,Cm}。假定每個元組包括一些數(shù)值型的屬性值:ti={ti1,ti2,…,tik},每個類也包含數(shù)值性屬性值:Cj={Cj1,Cj2,…,Cjk},則分類問題是要分配每個ti到滿足如下條件的類Cj: sim(ti,Cj)=sim(ti,Cl) ,?Cl∈C,Cl≠Cj, 其中sim(ti,Cj)被稱為相似性。 在實際的計算中往往用距離來表征,距離越近,相似性越大,距離越遠,相似性越小。 距離的計算方法有多種,最常用的是通過計算每個類的中心來完成。,18:49,14,基于距離的分類算法的一般性描述,算法 4-1通過對每個樣本和各個類的中心來比較,從而可以找出他的最近的類中心,得到確定的類別標記。,算法 4-1 基于距離的分類算法 輸入:每個類的中心C1,…,Cm;待分類的元組t。 輸出:輸出類別c。 (1)dist=∞;//距離初始化 (2)FOR i:=1 to m DO (3) IF dis(ci,t)dist THEN BEGIN (4) c← i; (5) dist←dist(ci,t); (6) END.,18:49,15,基于距離的分類方法的直觀解釋,,,,,(a)類定義,(b)待分類樣例,(c)分類結果,18:49,16,距離分類例題,C1=(3,3,4,2), C2=(8,5,-1,-7), C3=(-5,-7,6,10); 請用基于距離的算法給以下樣本分類: (5,5,0,0) (5,5,-5,-5) (-5,-5,5,5),18:49,17,K-近鄰分類算法,K-近鄰分類算法(K Nearest Neighbors,簡稱KNN)通過計算每個訓練數(shù)據(jù)到待分類元組的距離,取和待分類元組距離最近的K個訓練數(shù)據(jù),K個數(shù)據(jù)中哪個類別的訓練數(shù)據(jù)占多數(shù),則待分類元組就屬于哪個類別。,算法 4-2 K-近鄰分類算法 輸入: 訓練數(shù)據(jù)T;近鄰數(shù)目K;待分類的元組t。 輸出: 輸出類別c。 (1)N=?; (2)FOR each d ∈T DO BEGIN (3) IF |N|≤K THEN (4) N=N ∪ytycrxi; (5) ELSE (6) IF ? u ∈N such that sim(t,u)〈sim(t,d) THEN BEGIN (7) N=N - {u}; (8) N=N ∪5uzddfa; (9) END (10)END (11)c=class to which the most u ∈N.,18:49,18,KNN的例子,,姓名 性別 身高(米) 類別 Kristina 女 1.6 矮 Jim 男 2 高 Maggie 女 1.83 高 Martha 女 1.88 高 Stephanie 女 1.7 矮 Bob 男 1.85 中等 Kathy 女 1.6 矮 Dave 男 1.7 矮 Worth 男 2.2 高 Steven 男 2.1 高 Debbie 女 1.8 高 Todd 男 1.82 中等 Kim 女 1.7 中等 Amy 女 1.75 中等 Wynette 女 1.73 中等,只使用身高做特征,K=3,對于樣本應屬于哪個類別? 僅使用同性別樣本做訓練,K=3,對于樣本應屬于哪個類別?,18:49,19,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 實值預測 與分類有關的問題,18:49,20,決策樹表示與例子,,年齡?,,,,學生?,是,信用?,=30,,,,,30—40,40,否,是,良好,一般,是,否,是,否,18:49,21,決策樹表示與例子,決策樹(Decision Tree)的每個內部結點表示一個屬性(特征),每個分枝代表一個特征的一個(類)取值; 每個樹葉結點代表類或類分布。 決策樹分類方法采用自頂向下的遞歸方式,在決策樹的內部結點進行屬性的比較,從而判斷從該結點向下的分枝,在決策樹的葉結點得到結論。 從決策樹的根到葉結點的一條路徑就對應著一條規(guī)則,整棵決策樹就對應著一組規(guī)則。 決策樹分類模型的建立通常分為兩個步驟: 決策樹生成 決策樹修剪,,18:49,22,決策樹生成算法描述,算法 4-3 Generate_decision_tree(samples, attribute_list) /*決策樹生成算法*/ 輸入:訓練樣本samples,由離散值屬性表示;輸出:一棵決策樹。 (1) 創(chuàng)建結點N; (2) IF samples 都在同一個類C THEN 返回N 作為葉結點,以類 C標記; (3) IF attribute_list為空 THEN 返回N作為葉結點,標記為samples中最普通的類;//多數(shù)表決 (4) 選擇attribute_list中具有最高信息增益的屬性test_attribute; (5) 標記結點N為test_attribute; (6) FOR test_attribute的每個取值ai 由結點N長出一個條件為test_attribute=ai的分枝; (7)設si是samples 中test_attribute =ai的樣本的集合;//一個劃分 (8)IF si 為空 THEN 回退到test_attribute的其它取值; (9)ELSE 加上一個由Generate_decision_tree(si, attribute_list-test_attribute)返回的結點;,18:49,23,決策樹修剪算法,基本的決策樹構造算法沒有考慮噪聲,因此生成的決策樹完全與訓練集擬合。在有噪聲情況下,將導致過分擬合(Overfitting),即對訓練數(shù)據(jù)的完全擬合反而使對現(xiàn)實數(shù)據(jù)的分類預測性能下降。 比如每個樣本都是一個葉子節(jié)點。 現(xiàn)實世界的數(shù)據(jù)一般不可能是完美的,可能缺值(Missing Values);數(shù)據(jù)不完整;含有噪聲甚至是錯誤的。 剪枝是一種克服噪聲的基本技術,同時它也能使樹得到簡化而變得更容易理解。有兩種基本的剪枝策略。,18:49,24,決策樹修剪算法,預先剪枝(Pre-Pruning):在生成樹的同時決定是繼續(xù)對不純的訓練子集進行劃分還是停機。 后剪枝(Post-Pruning):是一種擬合+化簡(fitting-and-simplifying)的兩階段方法。首先生成與訓練數(shù)據(jù)完全擬合的一棵決策樹,然后從樹的葉子開始剪枝,逐步向根的方向剪。剪枝時要用到一個測試數(shù)據(jù)集合(Tuning Set或Adjusting Set),如果存在某個葉子剪去后能使得在測試集上的準確度或其他測度不降低(不變得更壞),則剪去該葉子;否則停機。理論上講,后剪枝好于預先剪枝,但計算復雜度大。,18:49,25,決策樹修剪算法,構造好的決策樹的關鍵在于如何選擇屬性進行樹的拓展。研究結果表明,一般情況下,樹越小則樹的預測能力越強。由于構造最小的樹是NP-難問題,因此只能采取用啟發(fā)式策略來進行。 屬性選擇依賴于各種對例子子集的不純度(Impurity)度量方法,包括信息增益(Informatin Gain)、信息增益比(Gain Ratio)、Gini-index、距離度量(Distance Measure)、J-measure等。,18:49,26,ID3算法,ID3是一個著名決策樹生成方法: 決策樹中每一個非葉結點對應著一個非類別屬性(特征),樹枝代表這個屬性的值。一個葉結點代表從樹根到葉結點之間的路徑對應的記錄所屬的類別屬性值。 每一個非葉結點都將與屬性中具有最大信息量的非類別屬性相關聯(lián)。 采用信息增益來選擇能夠最好地將樣本分類的屬性。 對ID3算法采用如下方式講解: 給出信息增益對應的計算公式; 通過一個例子來說明它的主要過程。,18:49,27,信息增益的計算,設S是s個數(shù)據(jù)樣本的集合,定義m個不同類Ci(i=1,2,…,m),設si是Ci類中的樣本的數(shù)量。對給定的樣本S所期望的信息值由下式給出: 其中pi是任意樣本屬于Ci的概率: si / s 。 例題:數(shù)據(jù)集有4個類,分別有8個,4個,2個,2個樣本,求該數(shù)據(jù)集的信息值。 問題:信息值的取值范圍是什么?,18:49,28,信息增益的計算,例題:數(shù)據(jù)集有2個類,求該數(shù)據(jù)集的信息值。,18:49,29,信息增益的計算,設屬性A具有個不同值{a1, a2, …, av} ,可以用屬性A將樣本S劃分為 {S1, S2, …, Sv} ,設Sij 是Sj中Ci類的樣本數(shù),則由A劃分成子集的熵由下式給出: 有A進行分枝將獲得的信息增益可以由下面的公式得到:,,,使用屬性 后的信息值,未使用屬性 的信息值,18:49,30,信息增益的計算,例題:數(shù)據(jù)集有2個類。 使用是否學生作為屬性,求該屬性的信息增益。 使用信用狀況作為屬性,求該屬性的信息增益。,18:49,31,ID3算法的例子,選擇信息增益最大的屬性特征作為根節(jié)點。 Gain(年齡)=0.342 Gain(收入)=0 Gain(是否學生)=0.333 Gain(信用狀況)=0,年齡?,,,,?,?,是,=30,30—40,40,18:49,32,ID3算法的例子,對于=30的分支 Gain(收入)=0.315 Gain(是否學生)=0.315 Gain(信用狀況)=0.815 對于30 — 40的分支 Gain(收入)=1 Gain(是否學生)=0 Gain(信用狀況)=1,年齡?,,,,信用狀況?,收入?,是,=30,30—40,40,否,是,是,否,,,良好,一般,,,高,低,18:49,33,ID3算法的性能分析,ID3算法的假設空間包含所有的決策樹,它是關于現(xiàn)有屬性的有限離散值函數(shù)的一個完整空間。 ID3算法在搜索的每一步都使用當前的所有訓練樣例,大大降低了對個別訓練樣例錯誤的敏感性。因此,通過修改終止準則,可以容易地擴展到處理含有噪聲的訓練數(shù)據(jù)。,18:49,34,ID3算法的性能分析,ID3算法在搜索過程中不進行回溯。所以,它易受無回溯的爬山搜索中的常見風險影響:收斂到局部最優(yōu)而不是全局最優(yōu)。 ID3算法只能處理離散值的屬性。 信息增益度量存在一個內在偏置,它偏袒具有較多值的屬性。例如,如果有一個屬性為日期,那么將有大量取值,這個屬性可能會有非常高的信息增益。假如它被選作樹的根結點的決策屬性則可能形成一顆非常寬的樹,這棵樹可以理想地分類訓練數(shù)據(jù),但是對于測試數(shù)據(jù)的分類性能可能會相當差。 ID3算法增長樹的每一個分支的深度,直到屬性的使用無法導致信息增益。當數(shù)據(jù)中有噪聲或訓練樣例的數(shù)量太少時,產生的樹會過渡擬合訓練樣例。 問題:ID3樹可以導致過度擬合,那是否它一定能對訓練集完全正確的分類呢?,18:49,35,C4.5算法對ID3的主要改進,C4.5算法是從ID3算法演變而來,除了擁有ID3算法的功能外,C4.5算法引入了新的方法和增加了新的功能: 用信息增益比例的概念; 合并具有連續(xù)屬性的值; 可以處理具有缺少屬性值的訓練樣本; 通過使用不同的修剪技術以避免樹的過度擬合; K交叉驗證; 規(guī)則的產生方式等。,18:49,36,信息增益比例的概念,信息增益比例是在信息增益概念基礎上發(fā)展起來的,一個屬性的信息增益比例用下面的公式給出: 其中 假如我們以屬性A的值為基準對樣本進行分割的化,Splitl(A)就是前面熵的概念。,,,18:49,37,信息增益比例的計算,例題:數(shù)據(jù)集有2個類。 使用是否學生作為屬性,求該屬性的信息增益比例。 使用年齡作為屬性,求該屬性的信息增益比例。 討論:信息增益和信息增益比例的差異在哪里?,18:49,38,C4.5處理連續(xù)值的屬性,對于連續(xù)屬性值,C4.5其處理過程如下: 根據(jù)屬性的值,對數(shù)據(jù)集排序; 用不同的閾值將數(shù)據(jù)集動態(tài)的進行劃分; 取兩個實際值中的中點作為一個閾值; 取兩個劃分,所有樣本都在這兩個劃分中; 得到所有可能的閾值、增益及增益比; 在每一個屬性會變?yōu)槿蓚€取值,即小于閾值或大于等于閾值。 簡單地說,針對屬性有連續(xù)數(shù)值的情況,則在訓練集中可以按升序方式排列。如果屬性A共有n種取值,則對每個取值vj(j=1,2,┄,n),將所有的記錄進行劃分:一部分小于vj;另一部分則大于或等于vj 。針對每個vj計算劃分對應的增益比率,選擇增益最大的劃分來對屬性A進行離散化 。,18:49,39,C4.5處理連續(xù)值的屬性,例題:使用C4.5算法將連續(xù)的屬性(收入)轉化為離散的類。 根據(jù)屬性的值,對數(shù)據(jù)集排序; 取兩個實際值中的中點作為一個閾值; 取兩個劃分,所有樣本都在這兩個劃分中; 得到所有可能的閾值、增益及增益比; 在每一個屬性會變?yōu)槿蓚€取值,即小于閾值或大于等于閾值。,18:49,40,C4.5處理連續(xù)值的屬性,例題:使用C4.5算法將連續(xù)的屬性(收入)轉化為離散的類。 選擇增益最大的劃分來對屬性A進行離散化 。 GainRatio(劃分:2750)=0.2 GainRatio(劃分:3100)=0.39 GainRatio(劃分:3625)=0.53 GainRatio(劃分:4458)=1 GainRatio(劃分:?)=0.53 GainRatio(劃分:8285)=0.39 GainRatio(劃分:10900)=0.2 收入小于4458合并為收入低 收入大于等于4458合并為收入高,18:49,41,C4.5的其他處理,C4.5處理的樣本中可以含有未知屬性值,其處理方法是用最常用的值替代或者是將最常用的值分在同一類中。 具體采用概率的方法,依據(jù)屬性已知的值,對屬性和每一個值賦予一個概率,取得這些概率,取得這些概率依賴于該屬性已知的值。 規(guī)則的產生:一旦樹被建立,就可以把樹轉換成if-then規(guī)則。 規(guī)則存儲于一個二維數(shù)組中,每一行代表樹中的一個規(guī)則,即從根到葉之間的一個路徑。表中的每列存放著樹中的結點。,18:49,42,,C4.5算法例子,,,,,,,,,樣本數(shù)據(jù) 天氣 溫度 濕度 風 網球Sunny Hot 85 false No Sunny Hot 90 true No Overcast Hot 78 false Yes Rain Mild 96 false Yes Rain Cool 80 false Yes Rain Cool 70 true No Overcast Cool 65 true Yes Sunny Mild 95 false No Sunny Cool 70 false Yes Rain Mild 80 false Yes Sunny Mild 70 true Yes Overcast Mild 90 true Yes Overcast Hot 75 false Yes Rain Mild 80 true No,,,,,,(1)首先對濕度進行屬性離散化,針對上面的訓練集合,通過檢測每個劃分而確定最好的劃分在75處,則這個屬性的范圍就變?yōu)閧(75)}。 (2)計算目標屬性打網球分類的期望信息: (3)計算每個屬性的GainRatio:,,,18:49,43,,C4.5算法例子,,,,,,,,,,,,,,,(4)選取最大的GainRatio,根據(jù)天氣的取值,得到三個分枝。 (5)再擴展各分枝節(jié)點,得到最終的決策樹(見課本圖4-7 )。 問題:就天氣=Sunny這一分支,請用C4.5算法構造決策樹。,樣本數(shù)據(jù) 天氣 溫度 濕度 風 網球Sunny Hot 85 false No Sunny Hot 90 true No Sunny Mild 95 false No Sunny Cool 70 false Yes Sunny Mild 70 true Yes,18:49,44,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 實值預測 與分類有關的問題,18:49,45,貝葉斯分類,定義4-3 設X是類標號未知的數(shù)據(jù)樣本。設H為某種假定,如數(shù)據(jù)樣本X屬于某特定的類C。對于分類問題,我們希望確定P(H|X),即給定觀測數(shù)據(jù)樣本X,假定H成立的概率。貝葉斯定理給出了如下計算P(H|X)的簡單有效的方法: P(X |H)代表假設H成立的情況下,觀察到X的概率。P(H| X )是后驗概率,或稱為X發(fā)生后觀測到H的條件概率。 例如,假定數(shù)據(jù)樣本由一些人組成,假定X表示頭發(fā)顏色,H表示膚色,則P(H|X)反映當我們看到X是黑色時,我們對H為黃色的確信程度。,,18:49,46,樸素貝葉斯分類的工作原理,觀測到的樣本具有屬性 收入低 是學生 信用良好 現(xiàn)在的問題相當于比較兩個條件概率的大小 P(買電腦|收入低,是學生, 信用良好) P(不買電腦|收入低,是學生, 信用良好),,,18:49,47,樸素貝葉斯分類,樸素貝葉斯分類的工作過程如下: (1) 每個數(shù)據(jù)樣本用一個n維特征向量X= {x1,x2,……,xn}表示,分別描述對n個屬性A1,A2,……,An樣本的n個度量。 (2) 假定有m個類C1,C2,…,Cm,給定一個未知的數(shù)據(jù)樣本X(即沒有類標號),分類器將預測X屬于具有最高條件概率(條件X下)的類。 也就是說,樸素貝葉斯分類將未知的樣本分配給類Ci(1≤i≤m)當且僅當P(Ci|X) P(Cj|X),對任意的j=1,2,…,m,j≠i。,,,18:49,48,樸素貝葉斯分類(續(xù)),根據(jù)貝葉斯定理: 由于P(X)對于所有類為常數(shù),只需要P(X|Ci)*P(Ci)最大即可。 注意,類的先驗概率可以用P(Ci)=Si/S計算,其中Si是類Ci中的訓練樣本數(shù),而S是訓練樣本總數(shù)。 因此問題就轉換為計算P(X|Ci)。,,,,18:49,49,樸素貝葉斯分類(續(xù)),給定具有許多屬性的數(shù)據(jù)集,計算P(X|Ci)的計算量可能非常大且不易計算。為降低計算P(X|Ci)的難度,可以做類條件獨立的樸素假定。給定樣本的類標號,假定屬性值相互條件獨立,即在屬性間,不存在依賴關系。這樣 P(收入低,是學生, 信用良好|買電腦)= P(收入低|買電腦)*P(是學生|買電腦)*P(信用良好|買電腦),,,,18:49,50,樸素貝葉斯分類(續(xù)),其中概率P(x1|Ci),P(x2|Ci),……,P(xn|Ci)可以由訓練樣本估值。 如果Ak是離散屬性,則P(xk|Ci)=sik|si,其中sik是在屬性Ak上具有值xk的類Ci的訓練樣本數(shù),而si是Ci中的訓練樣本數(shù)。 如果Ak是連續(xù)值屬性,則通常假定該屬性服從高斯分布。因而, 是高斯分布函數(shù), 而分別為平均值和標準差。,,,,,,,18:49,51,樸素貝葉斯分類(續(xù)),例題:計算 P(收入低|不買電腦) P(是學生|不買電腦) P(信用良好|不買電腦) 假設 收入,是否學生,信用狀況互相獨立,計算 P(收入低,是學生,信用良好|不買電腦),,,18:49,52,樸素貝葉斯分類(續(xù)),對未知樣本X分類,也就是對每個類Ci,計算P(X|Ci)*P(Ci)。樣本X被指派到類Ci,當且僅當P(Ci|X) P(Cj|X),1≤j≤m,j≠i,換言之,X被指派到其P(X|Ci)*P(Ci)最大的類。,,,,,,,18:49,53,,樸素貝葉斯分類舉例,數(shù)據(jù)樣本有屬性年齡,收入,是否學生和信用狀況。類標號屬性”是否買電腦“有兩個不同值{是,否}。設C1對應于類”買電腦”;則C2對應于類”不買電腦”。 我們希望分類的未知樣本為: X=(”年齡=30”,”收入=中”,”是學生”,”信用一般”),,,,,,,,,,,,,,,18:49,54,,樸素貝葉斯分類舉例,我們需要最大化P(X|Ci)*P(Ci),i=1,2。 每個類的先驗概率P(Ci)可以根據(jù)訓練樣本計算: P(C1)=P(買電腦)= P(C2)=P(不買電腦)= 計算P(X|Ci) P(“年齡=30“,“收入=中“,“是學生“,“信用一般“|買電腦) P(“年齡=30“,“收入=中“,“是學生“,“信用一般“|不買電腦),,,,,,,,,,,,,,,18:49,55,,樸素貝葉斯分類舉例,P(“年齡=30“,“收入=中“,“是學生“,“信用一般“|買電腦)= P(“年齡=30“|買電腦)* P(“收入=中“|買電腦)* P(“是學生“|買電腦)* P(“信用一般“|買電腦) P(“年齡=30“,“收入=中“,“是學生“,“信用一般“|不買電腦)= P(“年齡=30“|不買電腦)* P(“收入=中“|不買電腦)* P(“是學生“|不買電腦)* P(“信用一般“|不買電腦),,,,,,,,,,,,,,,18:49,56,,樸素貝葉斯分類舉例,假設屬性之間獨立 P(“年齡P(X|不買電腦),因此對于樣本X,樸素貝葉斯分類預測為“是“。,,,,,,,,,,,,,,,18:49,57,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 基于規(guī)則的分類 與分類有關的問題,18:49,58,使用IF-THEN規(guī)則分類,使用規(guī)則的分類法是使用一組IF-THEN規(guī)則進行分類。 IF 條件 THEN 結論 比如 IF (年齡20 AND 學生=是) THEN買電腦=是 IF的部分稱為前提,THEN的部分稱為規(guī)則的結論 規(guī)則可以用它的覆蓋率和準確率來評價 ncovers是條件(前提)覆蓋的樣本數(shù),ncorrect是規(guī)則正確分類的樣本數(shù)。,18:49,59,使用IF-THEN規(guī)則分類,規(guī)則(收入=低)^(信用狀況良好)?(是否買電腦=是)的覆蓋率為3/8,而它測準確率為1/3。 規(guī)則(信用狀況=良好)?(是否買電腦=否)的覆蓋率為7/8,而它測準確率為4/7。,,,18:49,60,使用IF-THEN規(guī)則分類,如果一個規(guī)則R被一個樣本X滿足,則稱規(guī)則R被X觸發(fā)。 比如X =(年齡=18,是學生,信用良好) R為 IF(年齡20 AND 學生=是) THEN買電腦=是 則X的類別為 買電腦 如果一個樣本X同時觸發(fā)了多個規(guī)則,我們需要制定解決沖突的策略。 規(guī)模序 激活具有最多屬性測試的觸發(fā)規(guī)則 規(guī)則序 將規(guī)則按重要性進行排序,按順序進行促發(fā) 如果一個樣本X無法促發(fā)任何規(guī)則 建立一個缺省或者默認規(guī)則,18:49,61,使用決策樹來提取規(guī)則,決策樹的規(guī)則是互斥與窮舉的 互斥意味著規(guī)則不會存在沖突,因此每個樣本只能促發(fā)一個規(guī)則 窮舉意味著一個樣本總能促發(fā)一個規(guī)則 由于每個樹葉對應一個一條規(guī)則,提取的規(guī)則并不比決策樹簡單。,年齡?,,,,信用狀況?,收入?,是,=30,30—40,40,否,是,是,否,,,良好,一般,,,高,低,18:49,62,使用順序覆蓋算法的規(guī)則歸納,在提取規(guī)則時,一個現(xiàn)實的問題是是否需要對現(xiàn)有規(guī)則進行拓展, IF (年齡20) THEN買電腦 是否需要拓展為 IF (年齡20 AND 學生=是) THEN買電腦 衡量規(guī)則好壞應同時考慮覆蓋度與準確率 準確率太低 覆蓋度太低,18:49,63,使用順序覆蓋算法的規(guī)則歸納,有兩種衡量規(guī)則好壞的度量 FOIL_Gain的定義如下 分別對應于兩個規(guī)則R與R。正在學習的類稱為正樣本(pos),而其他類稱為負樣本(neg), pos(neg)為規(guī)則R覆蓋的正負樣本,而pos(neg)為規(guī)則R覆蓋的正負樣本。,18:49,64,判斷規(guī)則(收入=低)?(是否買電腦=否) 是否需要拓展為 規(guī)則(收入=低)^(信用狀況=良好)?(是否買電腦=否),,,18:49,65,使用順序覆蓋算法的規(guī)則歸納,似然率統(tǒng)計量的的定義如下 其中m是分類的類別數(shù)。fi為滿足規(guī)則的樣本中屬于類i的概率,ei為屬于類i的期望(基準)概率。 似然率越高,說明規(guī)則越理想。,18:49,66,分別計算規(guī)則(收入=低)?(是否買電腦=否) 與規(guī)則 (收入=低)^(信用狀況=良好)?(是否買電腦=否) 的似然率。,,,18:49,67,順序覆蓋算法,終止條件包括,類c沒有樣本或者返回的規(guī)則質量低于用戶指定的閾值等。,輸入:D,類標記已知的樣本的集合。 Att_vals,所有屬性與它們可能值得集合。 輸出:IF-THEN規(guī)則的集合。 (1)Rule_set={};//規(guī)則的初始集為空集 (2)FOR 每個類 c DO (3) repeat (4) Rule=Learn_One_Rule(D,Att_vals,c); (5) 從D中刪除Rule覆蓋的樣本; (6) untile 終止條件滿足; (7) Rule_set=Rule_set+Rule; //將新規(guī)則添加到規(guī)則集 (8)END FOR (9)返回Rule_Set,18:49,68,使用順序覆蓋算法的規(guī)則歸納,Rule_set={}; 選擇一個類“買電腦”; 選擇一個包含一個屬性的規(guī)則 (收入=低)?“買電腦” 分別計算其它包含一個屬性的規(guī)則的相對于已選擇規(guī)則的FOIL_Gain (收入=高)?“買電腦” (學生=是)?“買電腦” (學生=否)?“買電腦” (信用=良好)?“買電腦” (信用=一般)?“買電腦”,,,18:49,69,使用順序覆蓋算法的規(guī)則歸納,分別計算規(guī)則的Foil_gain (收入=高)?“買電腦“為1.74 (學生=是)?“買電腦“為0 (學生=否)?“買電腦“為0 (信用=良好)?“買電腦“為0 (信用=一般)?“買電腦“為0 選擇Foil_gain最高的規(guī)則 (收入=高)?“買電腦“,,,18:49,70,使用順序覆蓋算法的規(guī)則歸納,對最好的規(guī)則R進行拓展 (收入=高)?“買電腦“ 在規(guī)則R中添加一個屬性,得到拓展以后的規(guī)則R (收入=高)^(學生=是) (收入=高)^(學生=否) (收入=高)^(信用=良好) (收入=高)^(信用=一般) 分別計算這些規(guī)則的相對于R的Foil_gain,,,18:49,71,使用順序覆蓋算法的規(guī)則歸納,分別計算規(guī)則的Foil_gain (收入=高)^(學生=是) 為0.84 (收入=高)^(學生=否) 為-1.16 (收入=高)^(信用=良好) 為0.84 (收入=高)^(信用=一般) 為-1.16 選擇Foil_gain最高的規(guī)則 (收入=高)^(學生=是) (收入=高)^(信用=良好) 由于這兩個規(guī)則準確率已經是100%,因此不用拓展,,,18:49,72,使用順序覆蓋算法的規(guī)則歸納,將規(guī)則覆蓋的樣本從數(shù)據(jù)集D中刪除,對剩下的正樣本生成規(guī)則,,,18:49,73,使用順序覆蓋算法的規(guī)則歸納,,,選擇另外一個類“不買電腦” (生成其它類的規(guī)則); 選擇一個包含一個屬性的規(guī)則 (收入=低)?“不買電腦” 分別計算其它包含一個屬性的規(guī)則的相對于已選擇規(guī)則的FOIL_Gain (收入=高)?“不買電腦” (學生=是)?“不買電腦” (學生=否)?“不買電腦” (信用=良好)?“不買電腦” (信用=一般)?“不買電腦”,18:49,74,第三章 分類方法 內容提要,分類的基本概念與步驟 基于距離的分類算法 決策樹分類方法 貝葉斯分類 基于規(guī)則的分類 實值預測,18:49,75,實值預測,分類:把樣本分配到若干類之一(離散的)。 比如預測是普通員工、中層管理還是高級管理人員 預測:預測樣本的某個屬性值(連續(xù)的)。 比如預測收入,18:49,76,實值預測,實值預測方法有兩種 線性回歸和多元回歸 非線性回歸,18:49,77,實值預測,在回歸分析中,只包括一個自變量和一個因變量,且二者的關系可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。 x={2,4,5,7,9}; y={6,10,12,16,20}; 如果回歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關系,則稱為多元線性回歸分析。 x={(2,4),(4,0),(5,6),(7,1),(9,-3)}; y={10,4,17,9,3};,18:49,78,一元線性回歸模型,給n個隨機樣本(Yi,Xi,),則Y與X的線性回歸模型可以寫為 其中 b0 ,b1是參數(shù) ? 是被稱為誤差項的隨機變量,這是由于我們建立的線性回歸模型可能是不完美的,18:49,79,線性回歸模型的求解,回歸模型的求解相當于求解β 使得 一元線性回歸分析的求解,18:49,80,一元線性回歸模型,例題:請建立右表的線性回歸模型。,18:49,81,多元線性回歸模型,給n個隨機樣本(Yi,Xi1,Xi2,.,Xip),則Y與X的線性回歸模型可以寫為 其中 b0 ,b1,b2 ,?,bn是參數(shù) ? 是被稱為誤差項的隨機變量,這是由于我們建立的線性回歸模型可能是不完美的,18:49,82,線性回歸模型的求解,回歸模型的求解相當于求解β 使得 多元線性回歸分析的求解 其中X為,18:49,83,AQ算法,多元回歸模型的求解在許多軟件中都可以得到,比如Matlab,SAS,SPSS,Weka等。,18:49,84,AQR算法有關定義,AQR為每一個分類推導出一條規(guī)則,每一條規(guī)則形式如下:if then predict 。 在一個屬性上的基本測試被稱為一個Selector。下面是一些Selector的例子:或60。 AQR允許測試做{=,≤,≥,≠}。Selectors的合取被稱為復合(Complex),Complexes之間的析取被稱為覆蓋(Cover)。如果一個表達式對某個樣本為真,則我們稱其為對這個樣本的一個覆蓋。這樣,一個空Complex覆蓋所有的樣本,而一個空Cover不覆蓋任何樣本。 在AQR中,一個新樣本被區(qū)分是看其屬于哪個推導出來的規(guī)則。如果該樣本只滿足一條規(guī)則,則這個樣本就屬于這條規(guī)則;如果該樣本滿足多條規(guī)則,則被這些規(guī)則所預測的最頻繁的分類被賦予這條規(guī)則;如果該樣本不屬于任何規(guī)則,則其分類為樣本集中最頻繁的分類。,18:49,85,AQR算法描述,,算法 4-5 AQR 輸入:正例樣本POS; 反例樣本NEG。 輸出:覆蓋COVER。 (1) COVER= Φ;//初始化COVER為空集Φ (2) WHILE COVER does not cover all positive examples in POS DO BEGIN (3) Select a SEED;/選取一個種子SEED,例如沒有被COVER覆蓋的一個正樣例 (4) Call procedure STAR(SEED,NEG); //產生一個能覆蓋種子而同時排除所有反例的星 (5) Select the best Complex BEST from the STAR according to user-defined criteria; /*從星中選取一個最好的復合*/ (6) Add BEST as an extra disjuct to COVER /*把最好的復合與COVER合取,形成新的COVER*/ (7) END (8) RETURN COVER. 在算法AQR中調用了過程STAR,來排除所有的反例,產生覆蓋種子的星。,18:49,86,AQR算法描述(續(xù)),,算法 4-6 STAR 輸入:種子SEED;反例NEG。 輸出:星STAR。 (1)初始化STAR為空Complex (2)WHILE one or more Complexes in STAR covers some negative examples in NEG BEGIN /*如果STAR中的一個或多個Complex覆蓋NEG中的負樣例*/ (3)Select a negative example Eneg covered by a Complex in STAR;/*選取一個被STAR中的Complex覆蓋的負樣例*/ (4)Let EXTENSION be all Selectors that cover SEED but not ENEG;/*令EXTENSION為那些覆蓋SEED但不覆蓋ENEG的Selectors;*/ (5)Let STAR be the set {x∧y|x∈STAR,y∈EXTENSION}; /*令STAR= {x∧y|x∈STAR,y∈EXTENSION};*/ (6) Remove all Complexes in STAR subsumed by other Complexes in STAR;/*從STAR中除去被其他Complexes所包含的Complexes;*/ (7)Remove the worst Complexes from STAR UNTIL size of STAR is less than or equal to user-defined maximum (maxstar)/*刪除STAR中最壞的Complex直到STAR的大小等于或小于用戶定義的最大數(shù)目maxstar*/ (8)END (9)RETURN STAR. /*返回一系列覆蓋SEED但不覆蓋NEG的規(guī)則*/,18:49,87,,AQR算法舉例,,,,,,,,,假設現(xiàn)有一個訓練集,其包含兩種屬性: size (屬性值:micro,tiny,mid,big,huge,vast) type (屬性值:bicycle,motorcycle,car,prop,jet,glider) 現(xiàn)有正例、反例樣本分別如表4-6,表4-7所示:,,,,,,下面給出用AQR算法對giant 2-wheeler類的規(guī)則進行獲取過程,具體步驟如下: (1)COVER={}。 (2)空cover不覆蓋任何樣本,進入循環(huán)。 (3)一開始COVER并沒有覆蓋任何正例,假定從正例中選取的SEED 為{ size=huge,type =bicycle }。 (4)調用STAR(SEED,NEG)去產生一個覆蓋SEED但不包含NEG的STAR集合; 初始化STAR為空,即STAR={}。 空的complex覆蓋所有樣例,STAR覆蓋多個負樣例,進入循環(huán)。 a ) 選取一個被STAR中的復合覆蓋的負樣例ENEG,假定被選取的是 Eneg={ size= tiny, type = motorcycle }。 b ) 使EXTENSION為所有覆蓋SEED但不覆蓋ENEG的選擇,則EXTENSION包括size= huge和type =bicycle,則又根據(jù)STAR={x∧y|x∈STAR,y∈EXTENSION},因此,STAR={ size=huge?type =bicycle }。 c ) 在這里定義maxstar為2,可不對STAR進行精簡。 d ) 接著選取另一個被STAR中的復合覆蓋的負樣例ENEG,顯然已經沒有這樣的負樣例,因此,STAR={ size=huge?type =bicycle }。 從STAR(SEED,NEG)返回。,,,反例樣本 size type class Tiny motorcycle conventional transportation tiny car conventional transportation mid car conventional transportation micro jetfast plane Tiny jetfast plane Mid jetfast plane,正例樣本 size type class Huge bicycle giant 2-wheeler Huge motorcycle giant 2-wheeler,18:49,88,,AQR算法舉例,,,,,,,,,,,,,,,,(5)BEST={ size=huge?type =bicycle },COVER ={ size=huge?type =bicycle }。 (6)顯然COVER不能覆蓋所有的正例,從正例中選取另一個SEED={ size=huge,type = motorcycle}。 (7)調用STAR(SEED,NEG)去產生一個覆蓋SEED但不包含NEG的STAR集合。 初始化STAR為空,即STAR={}; 空的complex覆蓋所有樣例, 所以STAR覆蓋負樣例,進入循環(huán); a ) 假定被選取的是Eneg={ size= tiny, type = motorcycle }; b ) 使EXTENSION為所有覆蓋SEED但不覆蓋Eneg的選擇,則EXTENSION包括size= huge,則又根據(jù)STAR={x∧y|x∈STAR,y∈EXTENSION},因此,STAR={ size=huge}; c ) 接著選取另一個被STAR中的復合覆蓋的負樣例Eneg,顯然已經沒有這樣的負樣例,因此,STAR={ size=huge}; d ) 接著選取另一個被STAR中的復合覆蓋的負樣例ENEG,顯然已經沒有這樣的負樣例,因此,STAR={ size=huge?type =bicycle }。 從STAR(SEED,NEG)返回。 (8)BEST={size=huge},將BEST添加到COVER中,COVER ={ size=huge?type =bicycle? size=huge}={ size=huge}。 (9)這時,COVER已經覆蓋到全部的正例,則算法結束。輸出規(guī)則為gaint 2-wheeler? size=huge。,假設現(xiàn)有一個訓練集,其包含兩種屬性: size (屬性值:micro,tiny,mid,big,huge,vast) type (屬性值:bicycle,motorcycle,car,prop,jet,glider) 現(xiàn)有正例、反例樣本分別如表4-6,表4-7所示:,反例樣本 size type class Tiny motorcycle conventional transportation tiny car conventional transportation mid car conventional transportation micro jetfast plane Tiny jetfast plane Mid jetfast plane,正例樣本 size type class Huge bicycle giant 2-wheeler Huge motorcycle giant 2-wheeler,18:49,89,,CN2算法描述,CN2使用一種基于噪音估計的啟發(fā)式方法,使用這種方法可以不用對所有的訓練樣本進行正確的區(qū)分,但是規(guī)約出的規(guī)則在對新數(shù)據(jù)的處理上有很好的表現(xiàn)。,,,,,,,,,,,,,,,算法 4-7 CN2 輸入:E /*E為訓練樣本*/ 輸出:RULE_LIST /*返回一個覆蓋若干樣例的規(guī)則*/ (1) Let RULE_LIST be the empty list; /* 初始化RULES_LIST為空;*/ (2) REPEAT (3) Let BEST_CPX be Find_Best_Complex(E); /*尋找最佳的規(guī)則Find_Best_Complex(E)并將其結果放入BEST_CPX中;*/ (4) IF BEST_CPX is not nil THEN BEGIN (5) Let E’ be the examples covered by BEST_CPX;/*令E’為BEST_CPX覆蓋的所有樣例*/ (6) Remove from E the examples E′ covered by BEST_CPX; /*從訓練樣本E中除去E’,即E=E-E’;*/ (7) Let C be the most common class of examples in E’; /*令C為樣本子集E’中最頻繁的分類標號;*/ (8) Add the rule ‘if BEST_CPX then class=C’ to the end of RULE_LIST; /*將規(guī)則‘if BEST_CPX then class=C’添加到RULES_LIST中*/ (9) END (10)UNTIL BEST_CPX is nil or E is empty. /*直到BEST_CPX為空或者訓練樣本E為空*/ (11)RETURN RULE_LIST 算法CN2需要通過調用函數(shù)Find_Best_Complex,它的描述寫成下面算法4-8。,18:49,90,,CN2算法描述(續(xù)),,,,,,,,,,,,,,,,算法 4-8 Find_Best_Complex 輸入:E /*E為訓練樣本*/ 輸出:BEST_CPX /*返回最佳的規(guī)則BEST_CPX */ (1) Let the set STAR contain only the empty Complex; /*初始化集合STAR為空Complex;*/ (2) Let BEST_CPX be nil; /*初始化BEST_CPX為空*/ (3) Let SELECTORS be the set of all possible Selectors; /*集合SELECTOR為所有可能的選擇*/ (4) WHILE STAR is not empty DO BEGIN (5) Let NEWSTAR be the set {x∧y|x∈STAR,y∈EXTENSION}; /*令NEWSTAR= {x∧y|x∈STAR,y∈EXTENSION};*/ (6) Remove all Complexes in NEWSTAR that are either in STAR or are null; /*從NEWSTAR中除去包括在STAR中的Complex或者為空的Complex*/ (7) FOR every complex Ci in NEWSTAR (8) IF Ci is statistically significant when tested on E and better than BEST_CPX according to user-defined criteria when tested on E /*如果Ci在統(tǒng)計上有意義, 并且對訓練集E測試后符合用戶定義的條件且優(yōu)于BEST_CPX*/ (9) THEN replace the current value of BEST_CPX by Ci; /*將BEST_CPX替換為Ci*/ (10) REPEAT remove worst Complexes from NEWSTAR (11) UNTIL size of NEWSTAR is = user-defined maximum maxstar; /*逐步移去在NEWSTAR中最壞的complex直到NEWSTAR的大小等于或小于用戶 定義的最大數(shù)目maxstar*/ (12) Let STAR be NEWSTAR; /*令STAR=NEWSTAR*/ (13)END (14)RETURN BEST_CPX。/*返回BEST_CPX*/,18:49,91,FOIL算法,FOIL學習系統(tǒng)已經被廣泛地應用在邏輯規(guī)約領域。FOIL是用來對無約束的一階Horn子句進行學習。一個概念的定義是由一系列的子句組成,而其中每一個子句描述了一種證明一個樣本是這個概念的實例的唯一方法。每個- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù) 挖掘 分類 課件
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://ioszen.com/p-2865594.html