1. 程式人生 > >數據挖掘概念雜記

數據挖掘概念雜記

tasks 也有 dia bsp 在一起 絕對值 過程 學習方法 互相幫助

混淆矩陣

技術分享圖片

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

技術分享圖片

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 ×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 方差

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

數據挖掘概念雜記