1. 程式人生 > >資料探勘概念雜記

資料探勘概念雜記

混淆矩陣

利用混淆矩陣可更好的分辨出分類中分錯誤的。

1. 資料集中的記錄總數=TP+FP+FN+TN

2. 資料集中肯定記錄數=TP+FN

3. 資料集中否定記錄數=FP+TN

4. 分類模型作出陽性判斷的記錄數=TP+FP

5. 分類模型作出陰性判斷的記錄數=FN+TN

6. 分類模型作出正確分類的記錄數=TP+TN

7. 分類模型作出錯誤分類的記錄數=FP+FN

 

表1中給出的二元分類問題混淆矩陣結構可以很容易地推廣到多元分類問題。對於存在個類別的分類問題,混淆矩陣是個n ×n的情形分析表,每一列對應一個真實的類別,而每一行對應分類模型判斷的一個類別 (

混淆矩陣的行和列互換沒有實質影響)。

正確率

預測正確的比率

TP/(TP+FP) 

召回率

預測為正的真實正例佔所有正例的比例

TP/(TP+FN) 

 AUC

是指召回率曲線的以下的面積,AUC給出分類器的平均效能,一個完美的分類器AUC為1,隨機猜測AUC是0.5

 

隨機森林

隨機森林顧名思義,是用隨機的方式建立一個森林,森林裡面有很多的決策樹組成,隨機森林的每一棵決策樹之間是沒有關聯的。

下面是隨機森林的構造過程:

  1. 假如有N個樣本,則有放回的隨機選擇N個樣本(每次隨機選擇一個樣本,然後返回繼續選擇)。這選擇好了的N個樣本用來訓練一個決策樹,作為決策樹根節點處的樣本。

  2. 當每個樣本有M個屬性時,在決策樹的每個節點需要分裂時,隨機從這M個屬性中選取出m個屬性,滿足條件m << M。然後從這m個屬性中採用某種策略(比如說資訊增益)來選擇1個屬性作為該節點的分裂屬性。

  3. 決策樹形成過程中每個節點都要按照步驟2來分裂(很容易理解,如果下一次該節點選出來的那一個屬性是剛剛其父節點分裂時用過的屬性,則該節點已經達到了葉子節點,無須繼續分裂了)。一直到不能夠再分裂為止。注意整個決策樹形成過程中沒有進行剪枝。

  4. 按照步驟1~3建立大量的決策樹,這樣就構成了隨機森林了。

隨機化有助於減少決策樹之間的相關性,從而改善組合分類器的泛化誤差。

讓每一顆數完全的增長不進行剪枝,這可能有助於減少結果數的偏移。

可以使用多數表決權來組合預測結果。

隨機森林的準確性可以與Adaboost相媲美,而且要比Adaboost的執行速度快。

 

互資訊

互資訊,Mutual Information,縮寫為MI,表示兩個變數X與Y是否有關係,以及關係的強弱。

 

直觀上,互資訊度量 X 和 Y 共享的資訊:它度量知道這兩個變數其中一個,對另一個不確定度減少的程度。例如,如果 X 和 Y 相互獨立,則知道 X 不對 Y 提供任何資訊,反之亦然,所以它們的互資訊為零。在另一個極端,如果 X 是 Y 的一個確定性函式,且 Y 也是 X 的一個確定性函式,那麼傳遞的所有資訊被 X 和 Y 共享:知道 X 決定 Y 的值,反之亦然。因此,在此情形互資訊與 Y(或 X)單獨包含的不確定度相同,稱作 Y(或 X)的。而且,這個互資訊與 X 的熵和 Y 的熵相同。(這種情形的一個非常特殊的情況是當 X 和 Y 為相同隨機變數時。)

互資訊是 X 和 Y 聯合分佈相對於假定 X 和 Y 獨立情況下的聯合分佈之間的內在依賴性。於是互資訊以下面方式度量依賴性:I(X; Y) = 0 當且僅當 X 和 Y 為獨立隨機變數。

此外,互資訊是非負的(即 I(X;Y) ≥ 0; 見下文),而且是對稱的(即 I(X;Y) = I(Y;X))

 

多工學習

多工學習(Multitask Learning)是一種推導遷移學習方法,主任務(main tasks)使用相關任務(related tasks)的訓練訊號(training signal)所擁有的領域相關資訊(domain-specific information),做為一直推導偏差(inductive bias)來提升主任務(main tasks)泛化效果(generalization performance)的一種機器學習方法。多工學習涉及多個相關的任務同時並行學習,梯度同時反向傳播,多個任務通過底層的共享表示(shared representation)來互相幫助學習,提升泛化效果。簡單來說:多工學習把多個相關的任務放在一起學習(注意,一定要是相關的任務,後面會給出相關任務(related tasks)的定義,以及他們共享了那些資訊),學習過程(training)中通過一個在淺層的共享(shared representation)表示來互相分享、互相補充學習到的領域相關的資訊(domain information),互相促進學習,提升泛化的效果。

(1) 多人相關任務放在一起學習,有相關的部分,但也有不相關的部分。當學習一個任務(Main task)時,與該任務不相關的部分,在學習過程中相當於是噪聲,因此,引入噪聲可以提高學習的泛化(generalization)效果。

(2) 單任務學習時,梯度的反向傳播傾向於陷入區域性極小值。多工學習中不同任務的區域性極小值處於不同的位置,通過相互作用,可以幫助隱含層逃離區域性極小值。

(3) 新增的任務可以改變權值更新的動態特性,可能使網路更適合多工學習。比如,多工並行學習,提升了淺層共享層(shared representation)的學習速率,可能,較大的學習速率提升了學習效果。

(4) 多個任務在淺層共享表示,可能削弱了網路的能力,降低網路過擬合,提升了泛化效果。

 

計算資料混亂度的方式

1 熵

2 方差

 首先計算資料的均值,然後捐每條資料到均值的差值,為了對正負差值同等看待,一般使用絕對值或平方替代,方差是平方誤差的均值(均方差)。