聚類算法推薦:一種元學習的方法

摘要:元學習是一種技術,其目的在於理解什麼類型的算法解決什麼類型的問題。相比之下,聚類是基於對象的相似性把一個數據集劃分幾個簇,不需要對象類標籤的先驗知識。本文提出了基於無標籤對象特徵的提取,使用元學習推薦出聚類算法。基於將要被計算的聚類問題的特徵以及不同聚類算法的排序,從而元學習系統對於聚類問題可以精確的推薦出最好的算法。

關鍵字:聚類,算法推薦,排序,元學習


1.介紹

當今大量的信息被表示和存進行後驗分析。研究者開始致力於開發出不同的方法從數據中提取知識;使用這些方法的過程被稱之爲數據挖掘。當今被各種算法特徵化的數據挖掘工具從而能解決每一個數據挖掘任務。然而,這個過程缺少選擇最好的算法解決一個給定的數據挖掘問題的指導。

元學習領域以發現哪些問題特徵有助於一個更好的或更壞的算法性能,並且以此,爲解決一個給定的問題推薦出最適當的算法。爲獲得這個目標,元學習建立了兩個關鍵的集合:(1)元屬性:一類問題的實例的共同特徵集合,像對象的數量和二元屬性的數量,以及其他的;(2)排序:基於一個性能度量指標,被應用到相同問題的一些算法排序位置的集合。通過這兩個集合一個模型被創建,當應用到其他的沒有被用做訓練的問題時基於被提出的元屬性從而推薦出算法的排序。

對於分類任務數據挖掘和元學習之間的聯繫已經被廣泛的研究了。然而,對於聚類任務的研究可得的文獻很少。例如,沒有研究對於無監督學習問題,例如聚類,哪個特徵集最好。

在探討聚類問題的算法推薦時,執行的實驗是基於分類問題相關文獻中描述的元屬性。儘管如此,這裏將選擇的特徵將不要求類標籤的知識,因此基於分類使我們的設計的方法可以泛化到聚類任務。

論文組織如下:第二部分簡單的介紹關於元學習的理論背景。第三部分解釋了實驗中使用的方法並且給出了實驗結果。論文在第四部分進行了總結,討論了實驗結果和和我們提出的方法的適應性。


2.元學習

元學習是一個關於學習的學習,例如,應用元學習必須學習機器學習算法的行爲以發現最好的算法。在1994年,EU ESPRIT 工程StatLog擴展了這個概念,使算法的性能和對象的特徵關聯到到分類問題上。

元學習與提取探索元知識的過程緊密相關,從一個算法的學習過程中提取的元知識可以被假設成不同的形式,並且當被應用到一個問題時可以被定義成任何類型的知識。

元知識,也被稱做元數據,由元屬性和排序組成。元屬性是從問題中提取的特徵,例如, 爲了特徵化分類問題,StatLog工程基於簡單度量、統計學和信息論提出了十六個元屬性的集合。排序即是當算法的性能通過一個度量在相同問題上被度量時算法佔據的位置,例如,有性能值最好的算法佔據了第一個位置,第二個最好的佔據了第二個位置,等等。

元算法負責學習元屬性和排序間關係,並且使用這個得到的知識計算算法的排序。典型的機器學習算法經常被用作元算法,例如決策樹,神經網絡,基於實例的學習,以及其他的。

對於元學習系統的概念模型由三個主要模塊構造:(1)特徵提取模塊:提取特徵(元屬性)負責特徵化和相互區分問題;(2)算法評估模塊:在給定的問題上使用預先定義的評估度量生成算法的排序;(3)應用模塊:使用一個元算法負責算法的排序。

                                                                        元學習系統的概念模型



3.實驗

本文的目的是研究應用元學習技術到聚類問題的適應性,聚類問題可以通過從無標籤數據中提取的元屬性進行特徵化。實驗使用來自於相關文獻的數據集和爲分類問題定義的數據特徵預測聚類算法的排序。

3.1數據集

實驗使用的問題集合是30個來自UCI機器學習中心的數據集,有缺失值的對象被移除。選擇的數據集如下:哈伯曼的存活率、氣球、鶯尾花、汽車評估、浴室、乳腺癌、啤酒等等。

3.2元屬性

目前爲止沒有固定的工作研究哪些元屬性應該被使用以特徵化在聚類任務中數據集。聚類算法通常不能使用對象標籤的先驗信息,本文研究中將要被提取的是無關慮對象的類標籤的元屬性。

被選擇的是基於StatLog和METAL工程以及相關論文的元屬性,元屬性被規範化到[0, 1]。下表中解釋了一個元屬性的樣本,被選擇的元屬性是:(1)Log2對象的數量(2)Log2屬性的數量;(3)二元屬性的比例;(4)離散屬性的比例;(5)連續屬性的數量;(6)連續屬性間的平均絕對相關性;(7)連續屬性的平均偏度;(8)連續屬性的平均斜度;(9)離散屬性間的平均絕對聚集度;(10)離散屬性的平均熵。

                                                                                           表1: 對於一些數據集的元屬性


3.3聚類算法

本文的研究評估了下列的聚類算法:K-平均(KM);單連接(SL);全連接(CL);中心連接(ML)和自組織特徵映射(SOM)。這兒使用的自組織特徵映射是二維的,神經元的數量等於數據集簇的數量。所有的算法都使用歐幾里德距離作爲相異性度量標準。

要評估的聚類結果使用FBCubed度量,計算如下:


其中n是數據集中對象的數量,CL(i)是與對象i在相同的簇並且與對象i有相同的類標籤;Cluster(i)是與對象i在相同的簇中的對象數量。Label(i)與對象i有相同的標籤的對象的數量。

算法在每一個數據集被執行30次,其性能通過FBC的結果值得到。排序被建立基於每個數據集上每個算法的最好性能,並被用作預測值。

表2顯示了對於一些數據集所有聚類算法的最好FBC結果,表3顯示了對於相同數據集的預測表,可以發現具有最高FBC值的聚類算法佔據了對於一個數據集排序中的第一個位置,並且第二個最高值佔據了第二個位置,等等。                         

                                                                                         表2:最好的FBC結果值對於聚類結果

                                                                                            表3:被建立有排序值的預測表


3.4元算法

元算法負責學習元屬性和排序之間的關係,本文中將使用有不同的學習機制的4個機器學習算法做爲不同的元算法:K-最近鄰(KNN);多層感知神經網絡(MLP);決策樹(CART);和樸素貝葉斯(NB)。

爲了評估預測的質量,將使用斯皮爾曼秩相關性(SRC),度量成對的有序的值之間的相關性。SRC給定的結果範圍在[-1, 1],其中+1意味着兩個排序是相等的,-1意味着它們是相反的。

其中n是秩的大小,di是真實的和預測排序值在第i個位置的差異。

爲了在元算法之間比較結果,對於KNN和MLP算法一個參數化的估算被執行以選擇最好的參數值。

在KNN算法中,初始參數k確定了被考慮的鄰居的數量以計算輸出。進行了一個實驗k的變化從[1, 6],與其他的元算法比較時選擇k=2。

在MLP算法中,  使用不同數量的隱藏層神經元,神經元的數量從[1, 10],與其他的元算法比較時選擇選擇6作爲隱藏層神經元的數量。


3.5結果

爲了獲得每一個元算法在預測和真實的排序間SRC值,進行了30次的10折交叉驗證。表4顯示了對於所有的元算法的最終的推薦的SRC值的平均值和標準偏差。圖2解釋了對於所有的元算法的SRC的方差。

                                          表4: 對於排序推薦的斯皮爾曼秩相關性


                                                  圖2: 元算法SRC值盒圖


對元算法進行里爾福斯測試以確定數據的正態性。里爾福斯測試的樣本來自沒有指定期望值和分佈的方差的一個均勻分佈總體的的空假設。使用0.01的顯著性水平,所有的結果被認爲來自一個均勻的分佈。

爲了驗證結果平均值之間的差別,一個t-測試被執行。t-測試驗證來自具有相等平均值的正態分佈樣本的空假設。通過KNN元算法獲得的結果具有0.01顯著性水平被認爲是不同的。

SRC有它的顯著性測試表的使用秩間沒有相關性的空假設,例如,假設驗證如果統計上相關性等於0。備擇假設(H1)將是一個正相關(SRC>0)或者一致的在排序之間(尾測試)。分析KNN元算法真實的與推薦的排序之間的SRC;對於最好的SRC有0.05的顯著性水平,對於平均SRC有0.25的顯著性水平。

3.6對於新的數據集運行元學習系統

在設計了完整的元學習系統之後,用它爲一個新的、沒有看到的數據集推薦出一個算法。爲了解釋, 使用了哈伯曼生存率數據集。表5顯示了從數據中提取的元屬性。系統使用這些元屬性爲每一個聚類算法推薦出一個排序(表6)。因此這個推薦系統在新的問題上不需要運行所有的算法提供了關於算法的性能的信息。

                                                                                         表5:  從新問題中提取的元屬性


                                                              表6:對於新問題的排序推薦


4.總結

本文研究的目的是分析應用元學習技術到聚類問題時的適應性。爲了達到這個目的,開發了一個系統負責從問題中提取元屬性、獲得選取的算法的排序(建立元知識)、並使用元算法創建一個預測模型。最終,這個元學習系統對於一個新問題只要從中提取元屬性就可以進行聚類算法推薦。

現實中的聚類問題,數據標籤不是已知的先驗知識,提前推薦出可能的聚類算法變得很重要。對於每個類型的問題基於其特徵,使用元學習可以爲聚類問題選擇一個合適的算法提供指導,

通過元學習系統得到的結果表明了元屬性的集合可以在問題特徵(元屬性)和聚類算法的排序之間形成映射。本文中被使用的元屬性具有獨立與對象的類標籤的主要性質,從而元學習系統可以應用到任何聚類問題。保持這個性質,通過提取新的本質特徵擴展這個集合可能會得到更好的預測。

英文原文下載:http://download.csdn.net/detail/lhkaikai/7274765

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章