【讀書筆記-數據挖掘概念與技術】分類:高級方法


 

貝葉斯信念網絡

這個貝葉斯信念網絡和上一章學的朴素貝葉斯分類,最大的不同點在於:

                     朴素貝葉斯分類法假定類條件獨立,即給定元組的類標號,假定屬性的值可以條件地相互獨立。這一假定簡化了計算。

                     貝葉斯信念網絡說明聯合條件概率分布。它允許在變量的子集間定義獨立性。他提供一種因果關系的圖形模型可以在其上進行學習。訓練后的貝葉斯信念網絡可以用於分類。

如下圖所示:

image

可見,貝葉斯信念網絡是一個有向無環圖,而CPT是指image

 

那么,這樣一個網絡我們如何從訓練集中學習到呢?

                1、專家構成或數據導出

                2、學習算法

給定網絡拓撲,如何訓練信念網絡?

                1、梯度下降算法(貪心爬山法)


用后向傳播分類——一種神經網絡學習算法

神經網絡:

             輸入層、隱藏層、輸出層

             缺點:可解釋性差、訓練時間長

             優點:對噪聲數據的高承受能力、對未經訓練的數據的模式分類能力

image

多層前饋神經網絡

前饋:權重都不回送到輸入單元、或前一層的輸入單元

給定足夠多的隱藏單元和足夠的訓練樣本,多層前饋神經網絡可以逼近任意函數

定義網絡拓撲

如何設計網絡拓撲?

在開始訓練之前,用戶必須確定網絡拓撲,說明輸入層的單元數、隱藏層數、每個隱藏層的單元數和輸出單元數

對於最好的隱藏層單元數,沒有明確的規則確定。網絡設計是一個反復試驗的過程,並可能影響結果訓練網絡的准確性。權重的初值也可能影響結果的准確性。

后向傳播

通過迭代地處理訓練元組數據集,把每個元組的網絡預測與實際已知的目標值相比進行學習

對於每個訓練樣本,修改權重使得網絡預測和實際目標值之間的均方誤差最小。這種“修改”后向進行,由輸出層----->隱藏層----->第一個隱藏層

初始化權重

向前傳播輸入

輸入=權重×輸出+偏倚

向后傳播誤差

通過更新權重和反映網絡預測誤差的偏倚,向后傳播誤差

終止條件

 

 

 

黑盒內部:后向傳播和可解釋性:網絡提取規則、靈敏度分析

網絡規則提取:先剪枝,再聚類,導出規則

靈敏度分析:評估一個給定的輸入變量對網絡輸出的影響

 


支持向量機-SVM

SVM之前就有一些了解,參考:http://www.cnblogs.com/XBWer/p/4161635.html

線性可分

最大邊緣超平面、支持向量

線性不可分

映射至高維空間、核函數降維計算。


使用頻繁模式分類

關聯分類:找出頻繁模式,構建規則進行分類

關聯規則挖掘:頻繁模式挖掘和關聯規則產生

支持度(support):P(A∪B),即A和B這兩個項集在事務集D中同時出現的概率。

置信率(confidence):P(B|A),即在出現項集A的事務集D中,項集B也同時出現的概率。

CBA、CMAR和CPAR

CBA:基於分類的關聯,迭代方法挖掘頻繁項集

CBA(classification based on association)是基於關聯規則發現方法的分類算法。該算法分兩個步驟構造分類器。第一步:發現所有形如xi1∧x => Ci 的關聯規則,即右部為類別屬性值的類別關聯規則(classification association rules,CAR)。第二步:從已發現的CAR中選擇高優先度的規則來覆蓋訓練集,也就是說,如果有多條關聯規則的左部相同,而右部為不同的類,則選擇具有最高置信度的規則作為可能規則。文獻[4]對該過程進行了較深入的研究,使得算法在此步驟不需要對訓練數據集進行過多的掃描。

CBA算法的優點是其分類准確度較高,在許多數據集上比C4.5更精確。此外,上述兩步都具有線性可伸縮性。

 

CMAR:基於多關聯規則的分類,借助樹結構進行有效的存儲和檢索規則,使用多種規則剪枝策略 根據類標號將規則進行分組

基於多維關聯規則的分類算法CMAR(Classification Based on Multiple Class-Association Rules)是利用FP-Growth算法挖掘關聯規則,建立類關聯分布樹FP-樹。采用CR-樹(Classification Rulc Trcc)結構有效地存儲關聯規則。基於置信度、相關性和數據庫覆蓋來剪枝。分類的具體執行采用加權廠來分析。與CBA和C 4.5相比,CMAR性能優異且伸縮性較好。但CMAR優先生成的是長規則,對數據庫的覆蓋效果較差;利用加權x統計量進行分類,會造成x統計量的失真,致使分類值的准確程度降低。

 

CPAR:基於預測關聯規則的分類

CPAR(Classification Based on Predictive Association Rules)整合了關聯規則分類和傳統的基於規則分類的優點。為避免過度適合,在規則生成時采用貪心算法,這比產生所有候選項集的效率高;采用一種動態方法避免在規則生成時的重復計算;采用頂期精確性評價規則,並在預測時應用最優的規則,避免產生冗余的規則。另外,MSR(Minimnm Set Rule)針對基於關聯規則分類算法中產生的關聯規則集可能太大的問題,在分類中運用最小關聯規則集。在此算法中,CARS並不是通過置信度首先排序,因為高置信度規則對噪聲是很敏感的。采用早期剪枝力方法可減少關聯規則的數量,並保證在最小集中沒有不相關的規則。實驗證實,MSR比C45和CBA的錯誤率要低得多。

 

基於有區別力的頻繁模式分類

並不是所有的頻繁模式都有很強的區別能力,也就是所並非所有頻繁模式都是有用的

在構建分類模型時,除了單個特征外,把頻繁模式看作組合特征。

基於有區別力的頻繁模式分類一般框架:

image

image

 


惰性學習法(或從近鄰學習)

KNN算法——基於距離

基於距離,排序之后,選擇最近的元組的類標號作為分類的依據

基於案例的推理

使用一個存放問題解的數據庫來求解新問題

首先檢查是否存在一個同樣的訓練案例:

         1、如果找到一個,則返回附在該案例上的解;

         2、如果找不到同樣的案例,則基於案例的推理搜索具有類似於新案例成份的訓練案例。


其他分類方法

遺傳算法

自然進化的思想

1、編碼

2、定義祖先

3、后代通過使用諸如交叉和變異等遺傳操作來創建。交叉:來自規則對的子串交換;變異:規則串中隨機選擇的位被反轉

4、繼續進化,直到擬合度閾值

優點:易於並行

參考資料:http://blog.csdn.net/b2b160/article/details/4680853/

 

粗糙集方法

發現不准確數據或噪聲數據內的機構聯系。用於離散值屬性。

基於給定訓練數據內部的等價類的建立。

定義兩個結合的近似:上近似和下近似

 

模糊集方法

書上的例子不錯:

image

image


關於分類的其他問題

多類分類

顧名思義,給兩個以上的類分類:

1、1對所有:m個類,訓練m個分類器,對每一個類學習一個分類器,得到類別最多的就是結果;

2、所有對所有:對每一對類學習一個分類器,構建m(m-1)/2

以上方案存在的問題:一個分類器出錯,則它可能影響投票結果。怎么辦?

糾錯碼。基於海明距離。即使個體二元分類器對給定的位置元組做出來錯誤的預測,我們仍然可以正確地標記該元組。

半監督分類

使用有類標號的數據和無類標號的數據構建分類器

自我訓練

半監督分類最簡單的形式,

1、首先對有標號的數據建立一個分類器

2、對無標號的數據加標號

 

協同訓練

兩個或多個分類器互教互學

主動學習

image

主動學習如何克服這種標號瓶頸?

為了克服盡可能少的有標號的實例來獲得高准確率。

基於池的主動學習方法:

image

遷移學習

旨在從一個或多個源任務提取知識,並將這種知識用於目標任務。

image

以下轉自:http://www.cnblogs.com/Gavin_Liu/archive/2009/12/12/1622281.html

在傳統的機器學習的框架下,學習的任務就是在給定充分訓練數據的基礎上來學習一個分類模型;然后利用這個學習到的模型

來對測試文檔進行分類與預測。然而,我們看到機器學習算法在當前的Web挖掘研究中存在着一個關鍵的問題:一些新出現的

領域中的大量訓練數據非常難得到。我們看到Web應用領域的發展非常快速。大量新的領域不斷涌現,從傳統的新聞,到網

頁,到圖片,再到博客、播客等等。傳統的機器學習需要對每個領域都標定大量訓練數據,這將會耗費大量的人力與物力。而沒

有大量的標注數據,會使得很多與學習相關研究與應用無法開展。其次,傳統的機器學習假設訓練數據與測試數據服從相同的

數據分布。然而,在許多情況下,這種同分布假設並不滿足。通常可能發生的情況如訓練數據過期。這往往需要我們去重新標

注大量的訓練數據以滿足我們訓練的需要,但標注新數據是非常昂貴的,需要大量的人力與物力。從另外一個角度上看,如果

我們有了大量的、在不同分布下的訓練數據,完全丟棄這些數據也是非常浪費的。如何合理的利用這些數據就是遷移學習主要

解決的問題。遷移學習可以從現有的數據中遷移知識,用來幫助將來的學習。遷移學習(Transfer Learning)的目標是將從一

個環境中學到的知識用來幫助新環境中的學習任務。因此,遷移學習不會像傳統機器學習那樣作同分布假設。

我們在遷移學習方面的工作目前可以分為以下三個部分:同構空間下基於實例的遷移學習,同構空間下基於特征的遷移學習與

異構空間下的遷移學習。我們的研究指出,基於實例的遷移學習有更強的知識遷移能力,基於特征的遷移學習具有更廣泛的知

識遷移能力,而異構空間的遷移具有廣泛的學習與擴展能力。這幾種方法各有千秋。

1.同構空間下基於實例的遷移學習

基於實例的遷移學習的基本思想是,盡管輔助訓練數據和源訓練數據或多或少會有些不同,但是輔助訓練數據中應該還是會存

在一部分比較適合用來訓練一個有效的分類模型,並且適應測試數據。於是,我們的目標就是從輔助訓練數據中找出那些適合

測試數據的實例,並將這些實例遷移到源訓練數據的學習中去。在基於實例的遷移學習方面,我們推廣了傳統的AdaBoost

法,提出一種具有遷移能力的boosting算法:Tradaboosting [9],使之具有遷移學習的能力,從而能夠最大限度的利用輔助

訓練數據來幫助目標的分類。我們的關鍵想法是,利用boosting的技術來過濾掉輔助數據中那些與源訓練數據最不像的數據。

其中,boosting的作用是建立一種自動調整權重的機制,於是重要的輔助訓練數據的權重將會增加,不重要的輔助訓練數據的

權重將會減小。調整權重之后,這些帶權重的輔助訓練數據將會作為額外的訓練數據,與源訓練數據一起從來提高分類模型的

可靠度。

基於實例的遷移學習只能發生在源數據與輔助數據非常相近的情況下。但是,當源數據和輔助數據差別比較大的時候,基於實

例的遷移學習算法往往很難找到可以遷移的知識。但是我們發現,即便有時源數據與目標數據在實例層面上並沒有共享一些公

共的知識,它們可能會在特征層面上有一些交集。因此我們研究了基於特征的遷移學習,它討論的是如何利用特征層面上公共

的知識進行學習的問題。

2.同構空間下基於特征的遷移學習

在基於特征的遷移學習研究方面,我們提出了多種學習的算法,如CoCC算法[7],TPLSA算法[4],譜分析算法[2]與自學習算

法[3]等。其中利用互聚類算法產生一個公共的特征表示,從而幫助學習算法。我們的基本思想是使用互聚類算法同時對源數據

與輔助數據進行聚類,得到一個共同的特征表示,這個新的特征表示優於只基於源數據的特征表示。通過把源數據表示在這個

新的空間里,以實現遷移學習。應用這個思想,我們提出了基於特征的有監督遷移學習與基於特征的無監督遷移學習。

2.1 基於特征的有監督遷移學習

我們在基於特征的有監督遷移學習方面的工作是基於互聚類的跨領域分類[7],這個工作考慮的問題是:當給定一個新的、不同

的領域,標注數據及其稀少時,如何利用原有領域中含有的大量標注數據進行遷移學習的問題。在基於互聚類的跨領域分類這

個工作中,我們為跨領域分類問題定義了一個統一的信息論形式化公式,其中基於互聚類的分類問題的轉化成對目標函數的最

優化問題。在我們提出的模型中,目標函數被定義為源數據實例,公共特征空間與輔助數據實例間互信息的損失。

2.2 基於特征的無監督遷移學習:自學習聚類

我們提出的自學習聚類算法[3]屬於基於特征的無監督遷移學習方面的工作。這里我們考慮的問題是:現實中可能有標記的輔助

數據都難以得到,在這種情況下如何利用大量無標記數據輔助數據進行遷移學習的問題。自學習聚類的基本思想是通過同時對

源數據與輔助數據進行聚類得到一個共同的特征表示,而這個新的特征表示由於基於大量的輔助數據,所以會優於僅基於源數

據而產生的特征表示,從而對聚類產生幫助。

上面提出的兩種學習策略(基於特征的有監督遷移學習與無監督遷移學習)解決的都是源數據與輔助數據在同一特征空間內的

基於特征的遷移學習問題。當源數據與輔助數據所在的特征空間中不同時,我們還研究了跨特征空間的基於特征的遷移學習,

它也屬於基於特征的遷移學習的一種。

3 異構空間下的遷移學習:翻譯學習

我們提出的翻譯學習[1][5]致力於解決源數據與測試數據分別屬於兩個不同的特征空間下的情況。在[1]中,我們使用大量容易

得到的標注過文本數據去幫助僅有少量標注的圖像分類的問題,如上圖所示。我們的方法基於使用那些用有兩個視角的數據來

構建溝通兩個特征空間的橋梁。雖然這些多視角數據可能不一定能夠用來做分類用的訓練數據,但是,它們可以用來構建翻譯

器。通過這個翻譯器,我們把近鄰算法和特征翻譯結合在一起,將輔助數據翻譯到源數據特征空間里去,用一個統一的語言模

型進行學習與分類。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com