數據挖掘導論 第4章 分類:基本概念、決策樹與模型評估


第4章 分類:基本概念、決策樹與模型評估

分類(classification):分類任務就是通過學習得到一個目標函數(target function)f,把每個屬性集x映射到一個余弦定義的類標號y。目標函數也稱為分類模型(classification model)

屬性可以是離散的或者連續的,但類標號必須是離散的,這正是分類與回歸(regression)的關鍵特征。回歸是一種預測建模任務,其中目標屬性y是連續的。

 

分類計數非常適合預測或描述二元或標稱類型的數據集,對於序數分類,分類技術不太有效,因為分類技術不考慮隱含在目標類中的序關系。其他形式的聯系,如子類和超累的關系也被忽略。本章余下的部分只考慮二元的或標稱類型的類標號。

 

分類技術(或分類法)是一種根據數據集建立分類模型的系統方法。分類法的例子包括決策樹分類法基於規則的分類法神經網絡支持向量機朴素貝葉斯分類法

 

分類模型的性能根據模型正確和錯誤預測的檢驗記錄計數進行評估,這些計數存放在稱作混淆矩陣(confusion matrix)的表格中。表中每個表項$f_{ij}$表示實際類標號為$i$但被預測為類$j$的記錄數。

 

 

 

 

 

 

$$准確率=\frac{正確預測數}{預測總數}=\frac{f_{11}+f_{00}}{f_{11}+f_{10}+f_{01}+f_{00}}$$

$$錯誤率=\frac{錯誤預測數}{預測總數}=\frac{f_{10}+f_{01}}{f_{11}+f_{10}+f_{01}+f_{00}}$$

 

決策樹

決策樹是一種由結點和有向邊組成的層次結構。樹中包含三種結點。

根結點(root node),它沒有入邊,但有零條或多條出邊。

內部結點(internal node),恰有一條入邊和兩條或多條出邊。

葉結點(leaf node)終結點(terminal node),恰有一條入邊,但沒有出邊

在決策樹中,每個葉結點都賦予一個類標號。非終結點(non-terminal node)(包括根結點和內部結點)包含屬性測試條件,用以分開具有不同特性的記錄。

 

如何建立決策樹

原則上講,對於給定的屬性集,可以構造的決策樹的數目達指數級。盡管某些決策樹比其他決策樹更准確,但是由於搜索空間是指數規模的,招出最佳決策樹在計算上是不可行的。盡管如此,人們還是開發了一些有效的算法,能夠在合理的時間內構造出具有一定准確率的次最優決策樹。這些算法通常都采用貪心策略,在選擇划分數據的屬性時,采取一系列局部最優策略來構造決策樹,Hunt算法就是一種這樣的算法。Hunt算法是許多決策樹算法的基礎,包括ID3C4.5CART

1、Hunt算法

在Hunt算法中,通過將訓練記錄相繼划分成較純的子集,以遞歸方式建立決策樹。設$D_{t}$是與結點$t$相關聯的訓練記錄集,而$y=\{y_{1},y_{2},…,y_{c}\}$是類標號,Hunt算法的遞歸定義如下。

(1)如果$D_{t}$中所有記錄都屬於同一個類$y_{t}$,則$t$是葉結點,用$y_{t}$標記。

(2)如果$D_{t}$中包含屬於多個類的記錄,則選擇一個屬性測試條件(attribute test condition),將記錄划分成較小的子集。對於測試條件的每個輸出,創建一個子女結點,並根據測試結果將$D_{t}$中的記錄分布到子女結點中。然后,對於每個子女結點,遞歸地調用該算法。

如果屬性值的每種組合都在訓練數據中出現,並且每種組合都具有唯一的類標號,則Hunt算法是有效的。但是對於大多數實際情況,這些假設太苛刻了,因此,需要附加的條件來處理以下的情況。

(1)算法的第二步所創建的子女結點可能為空,即不存在與這些結點相關聯的記錄。如果沒有一個訓練記錄包含與這一的結點相關聯的屬性值集合,這種情形就可能發生。這時,該結點成為葉結點,類標號為其父節點上訓練記錄中的多數類。

(2)在第二步,如果與$D_{t}$相關聯的所有記錄都具有相同的屬性值(目標屬性除外),則不可能進一步划分這些記錄。在這種情況下,該結點為葉結點,其標號為與該結點相關聯的訓練記錄中的多數類。

2、決策樹歸納的設計問題

決策樹歸納的學習算法必須解決下面兩個問題。

(1)如何分裂訓練記錄? 

樹增長過程的每個遞歸步都必須選擇一個屬性測試條件,將記錄划分成較小的子集。為了實現這個步驟,算法必須提供為不同類型的屬性指定測試條件的方法,並且提供評估每種測試條件的客觀度量。

(2)如何停止分裂過程?

需要有結束條件,以終止決策樹的生長過程。一個可能的策略是分裂結點,直到所有的記錄都屬於同一個類,或者所有的記錄都具有相同的屬性值。盡管兩個結束條件對於結束決策樹歸納算法都是充分的,但是還可以使用其他的標准提前終止樹的生長過程。提前終止的優點將在下文中討論。

 

表示屬性測試條件的方法

二元屬性:二元屬性的測試條件產生兩個可能的輸出

標稱屬性:由於標稱屬性有多個屬性值,它的測試條件可以用兩種方法表示。對於多路划分,其輸出數取決於該屬性不同屬性值的個數。另一方面,某些決策樹算法(如CART)只產生二元划分,它們考慮創建$k$個屬性值的二元划分的所有$2^{k-1}-1$種方法。

序數屬性:序數屬性也可以產生二元或多路划分,只要不違背序數屬性值的有序性,就可以對屬性值進行分組。

連續屬性:連續屬性需要離散化為二元或多元輸出。離散化后,每個離散化區間賦予一個新的序數值,只要保持有序性,相鄰的值還可以聚集成較寬的區間。

 

選擇最佳划分的度量

選擇最佳划分的度量通常是根據划分后子女結點不純性的程度。不純的程度越低,類分布就越傾斜。例如,類分布為(0,1)的結點具有零不純性,而均衡分布(0.5,0.5)的結點具有最高的不純性,不純性度量的例子包括:

$$Entropy(t)=-\sum_{i=0}^{c-1}p(i|t)\log_{2}p(i|t)$$

Gini

$$Gini(t)=1-\sum_{i=0}^{c-1}[p(i|t)]^{2}$$

分類誤差

$$Classification error(t)=1-max_{i}[p(i|t)]$$

 其中,c是類的個數,並且在計算熵時,$0\log_{2}0=0$。p表示屬於其中一個類的記錄所占的比例,如二元分布均勻時,p=0.5,而當所有記錄都屬於同一個類時,p=1。

為了確定測試條件的效果,我們需要比較父節點(划分前)的不純程度和子女結點(划分后)的不純程度,它們的差越大,測試條件的效果就越好。增益$\delta$是一種可以用來確定划分效果的標准:

$$\delta=I(parent)-\sum_{j=1}^{k}\frac{N(v_{j})}{N}I(v_{j})$$

其中,$I(x)$是給定結點的不純性度量,N是父結點上的記錄數,k是屬性值的個數,$N(v_{j})$是與子女結點$v_{j}$相關聯的記錄個數。決策樹歸納算法通常選擇最大化增益$\delta$的測試條件,因為對所有的測試條件來說,$I(parent)$是一個不變的值,所以最大化增益等價於最小化子女結點的不純性度量的加權平均值。最后,當選擇熵(entiopy)作為公式的不純性度量時,熵的差就是所謂信息增益(information gain)$\delta_{info}$

1、二元屬性的的划分

比較不同屬性$\frac{N_{1}}{N}I_{1}+\frac{N_{2}}{N}I_{2}$的和,取和最小的屬性作為屬性划分

2、標稱屬性的划分

比較不同屬性$\sum_{j=1}^{k}\frac{N(v_{j})}{N}I(v_{j})$的值,取值最小的屬性作為屬性划分

3、連續屬性的划分

首先需要離散化為二元屬性,如“年收入≤v”來划分成二元屬性,然后可以同二元屬性的划分來判斷連續屬性的划分。如果用窮舉法來確定v的值,計算代價是昂貴的。為了降低計算復雜度,按照年收入將訓練記錄排序,從兩個相鄰的排過序的屬性值中選擇中間值作為候選划分點。該過程還可以進一步優化:僅考慮位於具有不同類標號的兩個相鄰記錄之間的候選划分點。

4、增益率

測試條件不應產生過多的結點,因為與每個划分相關聯的記錄太少,以致不能作出可靠的預測。

解決該問題的策略有兩種:

(1)限制測試條件只能是二元划分,CART這樣的決策樹算法采用的就是這種策略。

(2)修改評估划分的標准,把屬性測試條件產生的輸出數也考慮進去,例如,決策樹算法C4.5采用稱作增益率(gain ratio)的划分標准來評估划分。

$$Gain ration=\frac{\delta_{info}}{Split Info}$$

其中,划分信息$Split Info=-\sum_{i=1}{k}P(v_{i})\log_{2}P(v_{i})$,而$k$是划分的總數。如果某個屬性產生了大量的划分,它的划分信息將會很大,從而降低了增益率。

 

決策樹歸納算法

以下算法給出了稱作TreeGrowth的決策樹歸納算法的框架。該算法的輸入是訓練記錄集E合屬性集F。算法遞歸地選擇最優的屬性來划分數據(步驟7),並擴展樹的葉結點(步驟11和步驟12),直到滿足結束條件(步驟1)

(1)函數createNode()為決策樹建立新節點。決策樹的節點或者是一個測試條件,記作$node.test_cond$,或者是一個類標號,記作$node.label$

(2)函數find_best_split()確定應當選擇哪個屬性作為划分訓練記錄的測試條件。如前所述,測試條件的選擇取決於使用哪種不純性度量來評估划分,一些廣泛使用的度量包括熵、Gini指標和$\chi^{2}$

(3)函數Classify()為葉結點確定類標號。對於每個葉結點$t$,令$p(i|t)$表示該結點上屬於類i的訓練記錄所占的比例,在大多數情況下,都將葉結點指派到具有多數記錄的類:

$$leaf.label=argmax_{i}p(i|t)$$

其中,操作argmax返回最大化$p(i|t)$的參數值$i$。$p(i|t)$除了提供確定葉結點類標號所需要的信息之外,還可以用來估計分配到葉結點$t$的記錄屬於類$i$的概率。下文討論如何使用這種概率估計,在不同的代價函數下,確定決策樹的性能。

(4)函數stopping_cond()通過檢查是否所有的記錄都屬於同一個類,或者都具有相同的屬性值,決定是否終止決策樹的增長。終止遞歸函數的另一種方法是,檢查記錄數是否小魚某個最小閾值。

 建立決策樹之后,可以進行樹剪枝(tree-pruning),以減小決策樹的規模。決策樹過大容易受所謂過分擬合(overfiting)現象的影響。通過修建初始決策樹的分支,剪枝有助於提高決策樹的泛化能力。

 

模型的過分擬合

分類模型的誤差大致分為兩種:訓練誤差(training error)泛化誤差(generalization error)。訓練誤差也稱再代入誤差(resubstitution error)表現誤差(apparent error),是在訓練記錄上誤分類樣本比例,而泛化誤差是模型在位置記錄上的期望誤差。

1、泛化誤差估計

雖然過分擬合的主要原因一直是個爭辯的話題,大家還是普遍統一模型的復雜度對模型的過分擬合有影響。問題是,如何確定正確的模型復雜度?理想的復雜度是能產生最低泛化誤差的模型的復雜度。然而,在建立模型的過程中,學習算法只能訪問訓練數據集,對檢驗數據集,它一無所知,因此也不知道所建立的決策樹在未知記錄上的性能。我們所能做的就是估計決策樹的泛化誤差。

(1)使用再代入估計

再代入估計方法假設訓練數據集可以很好地代表整體數據,因為,可以使用訓練誤差(又稱再打入誤差)提供對泛化誤差的樂觀估計。在這樣的前提下,決策樹歸納算法簡單地選擇產生最低訓練誤差的模型作為最終的模型。然而,訓練誤差通常是泛化誤差的一種很差的估計。

(2)結合模型復雜度

如前所述,模型越是復雜,出現過分擬合的幾率就越高,因此,我們更喜歡采用較為簡單的模型。這種策略與應用眾所周知的奧卡姆剃刀(Occam's razor)節儉原則(principle of parsimony)一致。

奧卡姆剃刀:給定兩個具有相同泛化誤差的模型,較簡單的模型比較復雜的模型更可取。

下面介紹兩種把模型復雜度與分類模型評估結合在一起的方法:

a、悲觀誤差評估:第一種方法明確使用訓練誤差與模型復雜度罰項(penalty term)的和計算泛化誤差。結果泛化誤差可以看作模型的悲觀誤差估計(pessimistic error estimate)。例如,設$n(t)$是結點$t$分類的訓練記錄數,$e(t)$是被誤分類的記錄數。決策樹T的悲觀誤差估計$e_{g}(\mathbf{T})$可以用下式計算:

$$e_{g}(\mathbf{T})=\frac{\sum_{i=1}^{k}[e(t_{i})+\Omega(t_{i})]}{\sum_{i=1}^{k}n(t_{i})}=\frac{e(\mathbf{T})+\Omega(\mathbf{T})}{N_{t}}$$

其中,$k$是決策樹的葉結點數,$e(\mathbf{T})$決策樹的總訓練誤差,$N_{t}$是訓練記錄數,$\Omega(t_{i})$是每個結點$t_{i}$對應的懲罰。

對於有7個葉結點,有4個誤分類的記錄數,總訓練記錄數為24,罰項假設等於0.5的決策樹,則$e_{g}(\mathbf{T})=\frac{4+7\times0.5}{24}$

0.5的罰項意味着每增加一個葉結點,就有0.5個記錄錯誤,除非增加結點能夠改善一個記錄的分類,否則結點就不應擴展。

b、最小描述長度原則:另一種結合模型復雜度的方法是基於稱作最小描述長度(minimum description length,MDL)原則的信息論方法。假設,A決定建立一個分類模型,概括x和y之間的關系。在傳送給B前,模型用壓縮形式編碼。如果模型的准確率是100%,那么傳輸的代價就等於模型編碼的代價。否則,A還必須傳輸哪些記錄被模型錯誤分類的信息。傳輸的總代價是:

$$Cost(model,data)=Cost(model)+Cost(data|model)$$

c、估計統計上界

泛化誤差也可以用訓練誤差的統計修正來估計。因為泛化誤差傾向於比訓練誤差大,所以統計修正通常是計算訓練誤差的上界,考慮到達決策樹一個特定葉結點的訓練記錄數。例如,決策樹算法C4.5中,假定每個葉結點上的錯誤服從二項分布。為了計算泛化誤差,我們需要確定訓練誤差的上限,在下面的例子中解釋說明。

$T_{R}$中的最左葉結點被擴展為$T_{L}$中的兩個子女結點。在划分前,該結點的錯誤率是2/7=0.286。用正態分布近似二項分布,可以推導出錯誤率$e$的上界是:

$$e_{upper}(N,e,\alpha)=\frac{e+\frac{z_{\alpha/2}^{2}}{2N}+z_{\alpha/2}\sqrt{\frac{e(1-e)}{N}+\frac{z_{\alpha/2}^{2}}{4N^{2}}}}{1+\frac{z_{\alpha/2}^{2}}{N}}$$

d、使用確認集

在該方法中,不是用訓練集估計泛化誤差,而是把原始的訓練數據集分為兩個較小的子集,一個子集用於訓練,而另一個稱作確認集,用於估計泛化誤差。典型的做法是,保留2/3的訓練集來建立模型,剩余的1/3用作誤差估計。

 

2、處理決策樹歸納中的過分擬合

在上文中,我們介紹了一些估計分類模型泛化誤差的方法。對於泛化誤差可靠的估計能讓學習算法搜索到准確的模型,而且不會對訓練數據過分擬合。本節介紹兩種在決策樹歸納上避免過分擬合的策略。

先減枝(提前終止規則):在這種方法中,樹增長算法在產生完全擬合整個訓練數據集的完全增長的決策樹之前就停止決策樹的生長。為了做到這一點,需要采用更具限制性的結束條件。例如,當觀察到的不純性度量的增益(或估計的泛化誤差的改進)低於某個確定的閾值時就停止擴展葉結點。這種方法的優點在於避免產生過分擬合訓練數據的過於復雜的子樹。然而,很難為提前終止選擇正確的閾值。閾值太高將導致擬合不足的模型,而閾值太低就不能充分地解決過分擬合的問題。此外,即便使用已有的屬性測試條件得不到顯著的增益,接下來的划分也可能產生較好的子樹。

后剪枝:在該方法中,初始決策樹按照最大規模生長,然后進行剪枝的步驟,按照自底向上的方式修剪完全增長的決策樹。修剪有兩種做法:(1)用新的葉結點替換子樹,該葉結點的類標號由子樹下記錄中的多數類確定;或者(2)用子樹中最常使用的分支代替子樹。當模型不能再改進時終止剪枝步驟。與先剪枝相比,后剪枝技術傾向於產生更好的結果,因為不像先剪枝,后剪枝是根據完全增長的決策樹做出的剪枝決策,先減枝則可能過早終止決策樹的生長。然而,對於后剪枝,當子樹被剪掉后,生長完全決策樹的額外的計算就被浪費了。

 

評估分類器的性能

常用的評估分類器性能的方法:

1、保持方法

保持(Holdout)方法中,將被標記的原始數據划分成兩個不想交的集合,分別稱為訓練集合檢驗集。在訓練數據集上歸納分類模型,在檢驗集上評估模型的性能。訓練集和檢驗集的划分比例通常根據分析家的判斷(例如,50-50,或者2/3作為訓練集、1/3作為檢驗集)。分類器的准確率根據模型在檢驗集上的准確率估計。

 

2、隨機二次抽樣

可以多次重復保持方法來改進對分類器性能的估計,這種方法稱作隨機二次抽樣(random subsampling)。設$acc_{i}$是第$i$次迭代的模型准確率,總准確率是$acc_{sub}=\sum_{i=1}^{k}acc_{i}/k$。隨機二次抽樣也會遇到一些與保持方法同樣的問題,因為在訓練階段也沒有利用盡可能多的數據。並且,由於它沒有控制每個記錄用於訓練和檢驗的次數,因此,有些用於訓練的記錄使用的頻率可能比其他記錄高很多。

 

3、交叉驗證

替代隨機二次抽樣的一種方法是交叉驗證(cross-validation)。在該方法中,每個記錄用於訓練的次數相同,並且恰好檢驗一次。為了解釋該方法,假設把數據分為相同大小的兩個子集,首先,我們選擇一個子集作訓練集,而另一個作檢驗集,然后交換兩個集合的角色,原先作訓練集的現在做檢驗集,反之亦然,這種方法叫做二折交叉驗證。總誤差通過對兩次運行的誤差求和得到。在這個例子中,每個樣本各作一次訓練樣本和檢驗樣本。k折交叉驗證是對該方法的推廣,把數據分為大小相同的k份,在每次運行,選擇其中一份作檢驗集,而其余的全作為訓練集,該過程重復k次,使得每份數據都用於檢驗恰好一次。同樣,總誤差是所有k次運行的誤差之和。

 

4、自助法

以上方法都是假定訓練記錄采用不放回抽樣,因此,訓練集合檢驗集都不包含重復記錄。在自助(bootstrap)方法中,訓練記錄采用有放回抽樣,即已經選作訓練的記錄將放回原來的記錄集中,使得它等機率地被重新抽取。如果原始數據有N個記錄,可以證明,平均來說,大小為N的自助樣本大約包含原始數據中63.2%的記錄。這是因為一個記錄被自助抽樣抽取的概率是$1-(1-1/N)^{N}$,當N充分大時,該概率逐漸逼近$1-e^{-1}=0.632$。沒有抽中的記錄就成為檢驗集的一部分,將訓練集建立的模型應用到檢驗集上,得到自助樣本准確率的一個估計$\varepsilon_{i}$。抽樣過程重復b次,產生b個自助樣本。

按照如何計算分類器的總准確率,有幾種不同的自助抽樣法。常用的方法之一是.632自助(.632 bootstrap),它通過組合每個自助樣本的准確率($\varepsilon_{i}$)和由包含所有標記樣本的訓練集計算的准確率($acc_{s}$)計算總准確率($acc_{boot}$):

$$acc_{boot}=\frac{1}{b}\sum_{i=1}^{b}(0.632\times\varepsilon_{i}+0.368\times acc_{s})$$

 

比較分類器的方法

1、估計准確度的置信區間

為確定置信區間,需要建立支配准確率度量的概率分布。本節介紹一種方法,通過將分類任務用二項式實驗建模來推導置信區間。二項式實驗的特性如下。

(1)實驗由$N$個獨立的試驗組成,其中每個試驗有兩種可能的結果:成功或失敗。

(2)每個試驗成功的概率$p$是常數。

二項式實驗的一個例子是統計N次拋硬幣正面朝上的次數。如果$X$是$N$次試驗觀察到的成功次數,則$X$取一個特定值$v$的概率由均值$Np$、方差為$Np(1-p)$的二項分布給出:

$$P(X=v)=C_{N}^{v}p^{v}(1-p)^{N-v}$$

例如,如果硬幣是均勻的(p=0.5),拋50次硬幣,正面朝上20次的概率是:

$$P(X=20)=C_{50}^{20}0.5^{20}(1-0.5)^{30}=0.0419$$

預測檢驗記錄類標號的任務也可以看作是二項式實驗。給定一個包含N個記錄的檢驗集,令$X$是被模型正確預測的記錄數,$p$是模型真正准確率。通過把預測任務用二項式實驗建模,$X$服從均值為$Np$、方差為$Np(1-p)$的二項分布。可以證明經驗准確率$acc=X/N$也是均值為$p$,方差為$p(1-p)N$的二項分布。盡管可以用二項分布來估計$acc$的置信區間,但是當$N$充分大時,通常用正態分布來近似。根據正態分布,可以推導出$acc$的置信區間為:

$$P\big(-Z_{\alpha/2}\leq\frac{acc-p}{\sqrt{p(1-p)/N}}\leq Z_{1-\alpha/2}\big)=1-\alpha$$

其中$Z_{\alpha/2}$和$Z_{1-\alpha/2}$分別是在置信水平$(1-\alpha)$下由標准正態分布得到的上界和下界。因為標准正態分布關於$Z=0$對稱,於是我們有$Z_{\alpha/2}=Z_{1-\alpha/2}$。重新整理不等式,得到$p$的置信區間如下:

$$\frac{2\times N\times acc+Z_{\alpha/2}^{2}\pm Z_{\alpha/2}\sqrt{Z_{\alpha/2}^{2}+4Nacc-4Nacc^{2}}}{2(N+Z_{\alpha/2}^{2})}$$

下表給出了在不同置信水平下$Z_{\alpha/2}$的值:

考慮一個模型,它在100個檢驗記錄上具有80%的准確率。在95%的置信水平下,模型的真實准確率的置信區間是什么?根據上表,95%的置信水平對應於$Z_{\alpha/2}=1.96$。將它代入上面的公式得到置信區間在71.1%和86.7%之間。下表給出了隨着記錄數$N$的增大所產生的置信區間:

注意,隨着$N$的增大,置信區間變得更加緊湊。

 

2、比較兩個模型的性能

考慮一對模型$M_{1}$和$M_{2}$,它們在兩個獨立的檢驗集$D_{1}$和$D_{2}$上進行評估,令$n_{1}$是$D_{1}$中的記錄數,$n_{2}$是$D_{2}$中的記錄數。另外,假設$M_{1}$在$D_{1}$上的錯誤率為$e_{1}$,$M_{2}$在$D_{2}$上的錯誤率為$e_{2}$。目標是檢驗$e_{1}$與$e_{2}$的觀察差是否是統計顯著的。

假設$n_{1}$和$n_{2}$都充分大,$e_{1}$和$e_{2}$可以使用正態分布來近似。如果用$d=e_{1}-e_{2}$表示錯誤率的觀察差,則$d$服從均值為$d_{t}$(其實際差)、方差為$\sigma_{d}^{2}$的正態分布。$d$的方差為:

$$\sigma_{d}^{2}\approx \widetilde{\sigma}_{d}^{2}=\frac{e_{1}(1-e_{1})}{n_{1}}+\frac{e_{2}(1-e_{2})}{n_{2}}$$

其中,$e_{1}(1-e_{1})/n_{1}$和$e_{2}(1-e_{2})/n_{2}$是錯誤率的方差。最后,在置信水平$(1-\alpha)%$下,可以證明實際差$d_{t}$的置信區間由下式給出:

$$d_{t}=d\pm Z_{\alpha/2}\widetilde{\sigma}_{d}$$

例:模型$M_{A}$在$N_{1}=30$個檢驗記錄上的錯誤率$e_{1}=0.15$,而$M_{B}$在$N_{2}=5000$個檢驗記錄上的錯誤率$e_{2}=0.25$。錯誤率的觀察差$d=|0.15-0.25|=0.1$。在這個例子中,我們使用雙側檢驗來檢查$d_{t}=0$還是$d_{t}\neq0$。錯誤率觀察差的估計方差計算如下:

$$\widetilde{\sigma}_{d}^{2}=\frac{0.15(1-0.15)}{30}+\frac{0.25(1-0.25)}{5000}=0.0043$$

或$\widetilde{\sigma}_{d}=0.0655$。把該值代入公式,我們得到在95%的置信水平下,$d_{t}$置信區間如下:

$$d_{t}=0.1\pm1.96\times0.0655=0.1\pm0.128$$

由於該區間跨越了值0,我們可以斷言在95%的置信水平下,該觀察差不是統計顯著的。

 

3、比較兩種分類法的性能

假設我們想用k折交叉驗證的方法比較兩種分類法的性能。首先,把數據集D划分為k個大小相等部分,然后,使用每種分類法,在k-1份數據上構建模型,並在剩余的划分上進行檢驗,這個步驟重復k次,每次使用不同的划分進行檢驗。

令$M_{ij}$表示分類技術$L_{i}$在第$j$次迭代產生的模型,注意,每對 模型$M_{1j}$和$M_{2j}$在相同的划分$j$上進行檢驗。用$e_{1j}$和$e_{2j}$分別表示它們的錯誤率,它們在第$j$折上的錯誤率之差可以記作$d_{j}=e_{1j}-e_{2j}$。如果$k$充分大,則$d_{j}$服從於均值為$d_{t}^{cv}$(錯誤率的真實差)、方差為$\sigma^{cv}$的正態分布。與前面的方法不同,觀察的差的總方差用下式進行估計:

$$\widetilde{\sigma}_{d^{cv}}^{2}=\frac{\sum_{j=1}^{k}(d_{j}-\overline{d})^{2}}{k(k-1)}$$

其中,$\overline{d}$是平均差。對於這個方法,我們需要用$t$分布計算$d_{t}^{cv}$的置信區間:

$$d_{t}^{cv}=\overline{d}\pm t_{1-\alpha,k-1}\widetilde{\sigma}_{d^{cv}}$$

系數 $t_{1-\alpha,k-1}$可以通過兩個參數(置信水平$(1-\alpha)$和自由度$k-1$)查概率表得到。該$t$分布的概率表在下標中給出。

例:假設兩個分類技術產生的模型的准確率估計差的均值等於0.05,標准差等於0.002。如果使用30折交叉驗證方法估計准確率,則在95%置信水平下,真是准確率差為:

$$d_{t}^{cv}=0.05\pm 1.7\times0.002$$

因為置信區間不跨越0值,兩個分類法的觀察差是統計顯著的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM