1,、簡(jiǎn)介分類是一種基于特征的監(jiān)督機(jī)器學(xué)習(xí)分析數(shù)據(jù)的方法。分類算法對(duì)數(shù)據(jù)點(diǎn)進(jìn)行分類,,并常常根據(jù)這些分類做出決策,。神經(jīng)網(wǎng)絡(luò)、K近鄰,、樸素貝葉斯算法和支持向量機(jī)是目前比較流行的數(shù)據(jù)分類技術(shù),。這些方法適用于各種領(lǐng)域的各種問題,包括文本分析,,多媒體,,社交網(wǎng)絡(luò)和生物數(shù)據(jù)分析等。因此,,這些方法是有價(jià)值的數(shù)據(jù)挖掘工具,。 一種不常用于數(shù)據(jù)分類的技術(shù)是元胞自動(dòng)機(jī)(也稱細(xì)胞自動(dòng)機(jī))。元胞自動(dòng)機(jī)模擬可以用于“grow”分類區(qū)域,,當(dāng)數(shù)據(jù)只能用復(fù)雜的非線性邊界劃分為分類時(shí),,這將會(huì)有很大的幫助。Fawcett在一篇文章中介紹了一種使用細(xì)胞自動(dòng)機(jī)作為數(shù)據(jù)挖掘工具的簡(jiǎn)單形式,,其中局部決策可以有效地定義特定二維數(shù)據(jù)集的總體分類,。然而,這種元胞自動(dòng)機(jī)的設(shè)計(jì)非常簡(jiǎn)單,,當(dāng)屬于不同類的數(shù)據(jù)點(diǎn)之間沒有非常清晰的分隔時(shí),,可能會(huì)導(dǎo)致不準(zhǔn)確。此外,,多吸引子細(xì)胞自動(dòng)機(jī)(MACA)作為生物信息學(xué)問題的潛在分類器已引起人們的關(guān)注,。這種方法依賴于遺傳算法來創(chuàng)建一個(gè)狀態(tài)系統(tǒng),可以用來對(duì)數(shù)據(jù)進(jìn)行分類,。然而,這個(gè)過程涉及到許多具有大量基礎(chǔ)理論的組件,。論文提出了一種用于數(shù)據(jù)分類的偽元胞自動(dòng)機(jī)方法,,旨在彌補(bǔ)分類器精度、實(shí)際實(shí)現(xiàn)和理論復(fù)雜性之間的差距,。 1.1元胞自動(dòng)機(jī) 有許多方法可以構(gòu)元胞自動(dòng)機(jī),。然而,,所有元胞自動(dòng)機(jī)都遵循相同的基本原理:它們?cè)诳臻g和時(shí)間上都是離散的,它們?cè)诳臻g和時(shí)間上是同質(zhì)的,,并且它們?cè)谒鼈兊南嗷プ饔弥惺蔷植康?。可以在二維網(wǎng)格上進(jìn)行簡(jiǎn)單形式的元胞自動(dòng)機(jī),,網(wǎng)格中的每個(gè)“塊”代表一個(gè)cell,。cell通常表示為處于兩種狀態(tài)之一:死亡(“0”)或存活(“1”)。對(duì)于每個(gè)經(jīng)過時(shí)間步,,更新每個(gè)cell(0或1)的狀態(tài),。細(xì)胞自動(dòng)機(jī)的“同質(zhì)”特性意味著對(duì)每個(gè)細(xì)胞應(yīng)用相同的更新規(guī)則。此外,,對(duì)于給定的時(shí)間步長(zhǎng),,更新同時(shí)應(yīng)用于所有cells。 圖1:細(xì)胞網(wǎng)格的兩個(gè)例子 - 紫色細(xì)胞死亡(“0”),,黃色細(xì)胞存活(“1”) 給定cell的更新規(guī)則通?;凇跋噜彙眂ells的狀態(tài)。相鄰的cell是該cell的一定“半徑”內(nèi)的任何cell,。此外,,重要的是指定半徑是僅沿cell格空間的軸應(yīng)用還是可以對(duì)角地應(yīng)用。這些規(guī)范分別被稱為“馮·諾依曼鄰域”和“摩爾鄰域”,。在二維中,,最常用的鄰域是radius-1 von Neumann鄰域和radius-1 Moore鄰域,如下圖所示,。 圖2:馮·諾依曼鄰域(左)和摩爾鄰域(右)的圖解 可以用來更好地解釋更新規(guī)則和社區(qū)的一個(gè)流行的元胞自動(dòng)機(jī)示例是Conway的生命游戲,。此游戲使用radius-1 Moore鄰域,并具有以下更新規(guī)則[6]: 康威的《生活游戲》(Game of Life)是細(xì)胞自動(dòng)機(jī)的一個(gè)流行例子,。這個(gè)游戲使用radius-1 Moore鄰居與以下更新規(guī)則:
建立一套像康威的《生命游戲》(Game of Life)中使用的規(guī)則,可以創(chuàng)建一組有趣的屬性,。此外,,這些屬性可能導(dǎo)致全局現(xiàn)象,這很有趣,,因?yàn)閱卧衩看胃碌囊?guī)則僅依賴于局部條件,。
1.2元胞自動(dòng)機(jī)的數(shù)學(xué)表示 為了更好地解釋元胞自動(dòng)機(jī)的規(guī)則及其產(chǎn)生的屬性,,一些數(shù)學(xué)定義是有用的,。元胞自動(dòng)機(jī)的定義如下: d為維數(shù),,S為狀態(tài)的有限集,N為更新規(guī)則中使用的m個(gè)鄰域的向量,,f為局部更新函數(shù),,生成形式的映射: 因此,在Conways Game的情況下,,元胞自動(dòng)機(jī)定義具有以下屬性: 這是因?yàn)樗褂玫木W(wǎng)格是二維的,,唯一可能的狀態(tài)是死(“0”)或活(“1”),并且在更新函數(shù)中考慮了八個(gè)相鄰的單元,。還應(yīng)注意,,全局轉(zhuǎn)換函數(shù)可以定義為: 該函數(shù)是“main object of study”,用于定義整個(gè)單元空間的變化配置,。 2,、方法在Python版本3.5.2中開發(fā)了一個(gè)模型。該模型的目的是首先重建由Fawcett引入的分類方法,,然后將該方法擴(kuò)展到cells不一定呈現(xiàn)離散狀態(tài)而是狀態(tài)混合的情況,。因此,沒有使用“真正的”元胞自動(dòng)機(jī),,而是使用偽元胞自動(dòng)機(jī),。將基于細(xì)胞自動(dòng)機(jī)的分類方法擴(kuò)展到n維情況也是一個(gè)主要目標(biāo)。第二個(gè)目標(biāo)是將分類器函數(shù)擬合到由模擬生成的類邊界,。 2.1數(shù)據(jù)集 從多元正態(tài)分布中隨機(jī)抽取樣本建立二維數(shù)據(jù)集,。這是使用Numpy Python庫(kù)的內(nèi)置功能完成的。每個(gè)類的數(shù)據(jù)都是從高斯分布中提取的,,該分布具有任意但唯一的均值向量和協(xié)方差矩陣,。此外,每個(gè)類被指定具有相同數(shù)量的樣本,。 為了更好地與Fawcett方法進(jìn)行比較,,我們創(chuàng)建了另一個(gè)數(shù)據(jù)集。此數(shù)據(jù)集包含由邊界分隔的兩個(gè)類,。下圖顯示了以這種方式生成的數(shù)據(jù)示例,。 圖4:拋物線數(shù)據(jù)集。y=x2以上的點(diǎn)被分配到“綠色”類,,y=x2以下的點(diǎn)被分配到“紅色”類 流行的Iris flower機(jī)器學(xué)習(xí)數(shù)據(jù)集是用于測(cè)試模型的最后一組數(shù)據(jù),。可以使用sklearn python庫(kù)直接導(dǎo)入這組數(shù)據(jù),。之所以選擇它,,是因?yàn)樗梢杂糜跍y(cè)試模型在4維(不可可視化)數(shù)據(jù)上的性能,并且易于導(dǎo)入和操作。 2.2定義Cell Space 構(gòu)建此模型的第一步是確定如何將標(biāo)準(zhǔn)數(shù)據(jù)集映射到“Cell Space”,。為此,開發(fā)了一個(gè)初始化函數(shù),,為數(shù)據(jù)的每個(gè)維度創(chuàng)建“bins”,。預(yù)先指定每個(gè)維度的bins數(shù),并且基于最大和最小數(shù)據(jù)值(加上一些額外的邊距)的均勻間隔值被分配給每個(gè)bin,。例如,,假設(shè)二維(x,y)數(shù)據(jù)集中的所有點(diǎn)都落在x值x = 2和x = 4之間,, y值落在y = -1和y = 3之間,。這些數(shù)據(jù)點(diǎn)可以分為x方向的兩個(gè)bins 和y方向的兩個(gè)bins ,如下所示: 圖5:將二維空間劃分為四個(gè)bins?的??示例bin values - - x軸上兩個(gè),,y軸上兩個(gè) 2.3初始化和更新規(guī)則 在建立cell分配之后,,定義了元胞自動(dòng)機(jī)的屬性。為此,,元胞自動(dòng)機(jī)的傳統(tǒng)特性被忽略了,。這是由許多原因造成的。 對(duì)cell使用離散狀態(tài)意味著每個(gè)cell專屬于一個(gè)類,。出于分類的目的,,為每個(gè)cell定義兩個(gè)屬性是有意義的 - 第一個(gè)屬性是“species”,它定義了細(xì)胞所屬的類,,第二個(gè)屬性是“適應(yīng)性(fitness)”,,它定義了cell屬于類的程度。那個(gè)班,。以下符號(hào)將用于表示這些屬性: 這里,,第一組代表“species”,而第二組代表“適應(yīng)性”,。給定第二個(gè)屬性,,cells可以在cel空間上形成每個(gè)類的成員資格的“梯度”。這類似于模糊K均值算法中的“模糊性”,,其中在每個(gè)類中引入“degrees”可以提高整體聚類性能,。 這些屬性用于為元胞自動(dòng)機(jī)定義的更新規(guī)則。唯一更新規(guī)則: 圖6:高斯數(shù)據(jù)的例子(左)被組織到bins (右)中,,bin顏色越深意味著bin中的數(shù)據(jù)點(diǎn)越多,,這意味著cell空間的適應(yīng)性越強(qiáng)。請(qǐng)注意,,數(shù)據(jù)的形狀是根據(jù)x軸和y軸上每個(gè)bin的大小進(jìn)行轉(zhuǎn)換的,。 用于初始化系統(tǒng)。為了開始模擬,cells以一種“摩爾式”的方式生長(zhǎng),,利用同種cells之間的全局排斥原理,。為了達(dá)到這種“排斥力”效應(yīng),使用了庫(kù)侖定律,。電荷所受總力的庫(kù)侖定律如下式所示,。 這里,k是常數(shù),。通過將cell i和cell j各自的適應(yīng)度定義為兩個(gè)charges,,該想法可以應(yīng)用于元胞自動(dòng)機(jī)的初始化步驟。在這種情況下,,常數(shù)k從等式中去掉,,并且charge的位置被n維cell索引替換。最終的“排斥向量”也被歸一化,,因?yàn)樗挥糜诜较蛐远皇欠?。有關(guān)兩個(gè)cells的系統(tǒng)的初始化步驟示例如下圖所示。該圖還有助于可視化應(yīng)用更新規(guī)則的“摩爾式”鄰域,。 重要的是要注意,,應(yīng)用此初始更新規(guī)則(以及所有后續(xù)更新規(guī)則),使得每個(gè)cell用于定義其鄰域的狀態(tài),,而不是由cell的鄰居定義cell的狀態(tài),。這種全局初始化規(guī)則的原因是確保所有cells都具有馮諾依曼鄰域
它們的配置方式非常適合標(biāo)準(zhǔn)更新步驟,。標(biāo)準(zhǔn)更新步驟使用“局部”排斥規(guī)則,其中“排斥向量”的計(jì)算方法與“全局”初始化相同,。然而,,在標(biāo)準(zhǔn)更新步驟和初始化步驟之間存在一些差異。這些差異如下:
由于更高維度的摩爾鄰域計(jì)算所需的計(jì)算量更大,,因此使用馮諾依曼鄰域,。對(duì)于von Neumann情況,要考慮的鄰居數(shù)是2d,,其中“d”是維數(shù),。摩爾模擬需要考慮3 ^ d - 1個(gè)鄰域,這對(duì)于大的“d”值而言在計(jì)算上要大得多,。 應(yīng)用的梯度確保在每組cells內(nèi)形成“質(zhì)心”,,其中cells的適應(yīng)度在該中心附近最高,,而在類邊界附近最低。這是基于馮·諾伊曼或摩爾鄰域簡(jiǎn)單地growing cells的改進(jìn),,因?yàn)樗a(chǎn)生更“平滑”的邊界以“保留”訓(xùn)練數(shù)據(jù)的形狀,,并且得到的“擬合”圖類似于估計(jì)的概率分布。整個(gè)更新函數(shù) - 涉及此梯度,,局部排斥規(guī)則和馮諾依曼鄰域 - 可以用以下方法定性地描述所討論的cell的單個(gè)鄰域: 這可以比解釋更容易可視化,。因此,下圖用于在一個(gè)維度中顯示此更新規(guī)則的效果:
可以從下圖中的全局視角觀察以這種方式應(yīng)用梯度的總體效果,。 圖9:在從分離的高斯分布中提取的三個(gè)類之間的梯度邊界的例子。cell中較暗的顏色意味著較高的適應(yīng)度,。 2.4Cell 沖突 當(dāng)多個(gè)cells嘗試填充網(wǎng)格上的空間時(shí),,將使用單獨(dú)的函數(shù)來定義結(jié)果。該函數(shù)使給定物種的所有cells(包括可能已占據(jù)該空間的 cells)的適應(yīng)性總計(jì),。然后,,給予具有最大適應(yīng)值的物種控制空間。得到的cell具有一個(gè)適應(yīng)度值,,即其物種的所有cells的總適應(yīng)度減去試圖占據(jù)該空間的其他物種的cells的總適應(yīng)度,。這可以描述如下: 重要的是要注意,如果所有競(jìng)爭(zhēng)cells屬于同一物種,,則所得cell的適合度僅僅是它們各自適合度的總和,。 2.5關(guān)于維度的說明 雖然這個(gè)過程在應(yīng)用于二維數(shù)據(jù)時(shí)最容易可視化,但它可以擴(kuò)展到任何n維特征空間,。python模型專門設(shè)計(jì)用于迭代具有任意數(shù)量維度的cell空間以及這些維度內(nèi)的任何大小的數(shù)據(jù),。這樣,結(jié)果無法可視化,,但任何數(shù)據(jù)點(diǎn)都可用于定位所屬的bin并提取該bin的屬性,。 2.6在數(shù)據(jù)挖掘中的使用 這里應(yīng)用的規(guī)則所產(chǎn)生的元胞自動(dòng)機(jī)可以用于分類目的。通過對(duì)包含數(shù)據(jù)類的訓(xùn)練數(shù)據(jù)集使用不同的“species”cells進(jìn)行模擬,,可以繪制這些類之間的自然邊界,。元胞自動(dòng)機(jī)的結(jié)果連同用于將數(shù)據(jù)集映射到cell空間的區(qū)間可用于開發(fā)訓(xùn)練集之外的數(shù)據(jù)點(diǎn)的類預(yù)測(cè)。這可以簡(jiǎn)單地通過確定哪個(gè)“species”被分配給對(duì)應(yīng)于數(shù)據(jù)點(diǎn)落在其中的bins 的空間來完成,。 此外,,物種間的邊界可以被提取出來,用于多項(xiàng)式的分類,。 3,、結(jié)果為了確定這種分類方法的可行性,,進(jìn)行了幾個(gè)實(shí)驗(yàn)。這些實(shí)驗(yàn)的目的是在給定不同數(shù)據(jù)大小的情況下,,與其他細(xì)胞自動(dòng)機(jī)相比,,與其他分類方法相比,評(píng)估該方法作為分類器的性能,。 圖10:應(yīng)用于隨機(jī)cell邊界的Numpy polyfit函數(shù),。紅線、藍(lán)線和紫紅色線分別表示二階,、三階和五階擬合多項(xiàng)式 3.1通過馮諾依曼和摩爾鄰域?qū)?jiǎn)單細(xì)胞生長(zhǎng)的比較 使用“梯度”cell growth法和簡(jiǎn)單的馮·諾依曼和摩爾鄰域生長(zhǎng)法進(jìn)行了并行模擬,,以確定增加更新規(guī)則的復(fù)雜性是否有利于分類結(jié)果。在這種情況下,,“簡(jiǎn)單”growth 意味著cell的種類由cell附近最常見的種類決定的,。 所有試驗(yàn)使用300個(gè)數(shù)據(jù)點(diǎn),從三個(gè)高斯分布中等量繪制,。另外,,使用20×20網(wǎng)格的cells,并進(jìn)行100個(gè)growth 周期的模擬,。下圖顯示了一個(gè)特定的模擬,,其中“梯度”方法似乎表現(xiàn)出比簡(jiǎn)單cell growth更好的性能:
從定性的角度來看,,有幾個(gè)因素表明“梯度”方法的性能更好,。如圖11和附錄1所示,不同類別的數(shù)據(jù)之間的重疊導(dǎo)致簡(jiǎn)單的growth方法產(chǎn)生在其類別的“邊界”之外的cells,。對(duì)于“梯度”方法也是如此,,但程度要小得多。另外,,可以看出,,“梯度”方法產(chǎn)生更平滑的邊界,這對(duì)于分類而言似乎更優(yōu)化并且更適合于將分類函數(shù)擬合到所得到的cell邊界,。 3.2隨著數(shù)據(jù)量的增加,,精度得到提高 與大多數(shù)分類方法的情況一樣,作為分類器的元胞自動(dòng)機(jī)的性能隨著訓(xùn)練集中的觀察數(shù)量的增加而提高,。為了顯示訓(xùn)練集大小對(duì)元胞自動(dòng)機(jī)分類器性能的影響,,數(shù)據(jù)是從矩形空間中隨機(jī)抽取的,其中y>x2表示數(shù)據(jù)點(diǎn)屬于“綠色”類,,y <x2表示數(shù)據(jù)點(diǎn)屬于如圖4所示的“紅色”類,。對(duì)訓(xùn)練集中的10,50,100和1000個(gè)數(shù)據(jù)點(diǎn)進(jìn)行了模擬,。
這種觀察到的性能改進(jìn)是值得注意的,,因?yàn)楫?dāng)使用大型數(shù)據(jù)集訓(xùn)練模型時(shí),類之間的邊界幾乎是實(shí)際類邊界的完美再現(xiàn),。顯然,,對(duì)于一組訓(xùn)練數(shù)據(jù),1000個(gè)數(shù)據(jù)點(diǎn)是過多的,。然而,,從上面的圖像可以看出,即使對(duì)于非常少量的可用輸入數(shù)據(jù),,該方法也產(chǎn)生合理形狀的cell邊界。隨著訓(xùn)練數(shù)據(jù)量的增加,,精確度的提高是顯著的,,如第三幅圖所示,其顯示了非常精確的cell邊界,,僅在兩類之間總共有100次觀察,。 3.3Iris Flower數(shù)據(jù)集的預(yù)測(cè) 眾所周知的Iris Flower機(jī)器學(xué)習(xí)數(shù)據(jù)集用于測(cè)試模型對(duì)多維數(shù)據(jù)進(jìn)行分類的能力。Iris數(shù)據(jù)集包含具有四個(gè)特征向量的觀測(cè)值,。使用sklearn python庫(kù)導(dǎo)入一組Iris Flower數(shù)據(jù),。該數(shù)據(jù)包含150個(gè)樣本,均勻分為3個(gè)類,。為了測(cè)試該模型的有效性,,使用不同大小的該數(shù)據(jù)的子集訓(xùn)練元胞自動(dòng)機(jī),然后用于預(yù)測(cè)剩余數(shù)據(jù)的類別,。這兩個(gè)數(shù)據(jù)子集將被稱為“訓(xùn)練數(shù)據(jù)”和“測(cè)試數(shù)據(jù)”,。 sklearn庫(kù)還包含支持向量機(jī)(SVM)和決策樹模型的內(nèi)置功能。利用這種內(nèi)置功能將這些模型的準(zhǔn)確性與本文中提出的元胞自動(dòng)機(jī)模型進(jìn)行比較,。SVM和決策樹模型使用相同的“訓(xùn)練數(shù)據(jù)”集訓(xùn)練,,然后使用與元胞自動(dòng)機(jī)模型相同的“測(cè)試數(shù)據(jù)”集進(jìn)行測(cè)試。對(duì)于Iris數(shù)據(jù)集的隨機(jī)子集的這些模擬結(jié)果可以在下表中看到:
使用12×12×12×12大小的cell空間和50個(gè)growth 周期進(jìn)行元胞自動(dòng)機(jī)方法(上圖中縮寫為CA),??梢钥闯?,由于訓(xùn)練集的小尺寸,該方法的準(zhǔn)確性在第一次試驗(yàn)中非常低,。然而,,在隨后的試驗(yàn)中,元胞自動(dòng)機(jī)方法的準(zhǔn)確性與SVM和決策樹方法的準(zhǔn)確性相當(dāng),。鑒于sklearn庫(kù)包含這些方法的優(yōu)化和準(zhǔn)確的實(shí)現(xiàn),,這是一項(xiàng)值得注意的成就。 另外,,應(yīng)該注意的是,,訓(xùn)練數(shù)據(jù)大小的增加不是提高元胞自動(dòng)機(jī)方法準(zhǔn)確性的唯一方法。增加cell空間的大小和growth周期的數(shù)量也可以產(chǎn)生非常積極的影響,。為了證明這一點(diǎn),,運(yùn)行單個(gè)模擬訓(xùn)練數(shù)據(jù)大小為15,測(cè)試數(shù)據(jù)大小為135,,具有20×20×20×20大小的cell空間和100個(gè)growth周期,。結(jié)果是精確度提高了0.942。對(duì)于相同的數(shù)據(jù)集,,SVM和決策樹方法分別達(dá)到0.958和0.942的準(zhǔn)確度,。這表明,通過增加用于元胞自動(dòng)機(jī)的cell和周期的數(shù)量,,可以彌補(bǔ)創(chuàng)建具有少量訓(xùn)練數(shù)據(jù)的分類器的困難,。然而,值得注意的是,,準(zhǔn)確度度的提高伴隨著計(jì)算時(shí)間的大幅增加,。這個(gè)更大的模擬需要花費(fèi)一小時(shí)十分鐘才能完成(在intel core i7處理器和8 GB RAM的Windows 8機(jī)器上)。 3.4Moving Forward 研究表明,,元胞自動(dòng)機(jī)方法可以較準(zhǔn)確地對(duì)數(shù)據(jù)進(jìn)行分類,。然而,關(guān)于這個(gè)主題還有很多可以探索的地方,。該模型中使用的“適應(yīng)度”參數(shù)可以通過歸一化每個(gè)物種的適應(yīng)度來創(chuàng)建每個(gè)類的概率分布估計(jì)值,,從而使cell空間在每個(gè)cell索引處包含0到1之間的值。 此外,,第2.5節(jié)中簡(jiǎn)要提到的將函數(shù)擬合到最終cell邊界的方法可用于深入了解被分類數(shù)據(jù)的性質(zhì),。如果正確地實(shí)現(xiàn)用于確定函數(shù)項(xiàng)的方法,則由該模型產(chǎn)生的cell邊界可以用于以數(shù)學(xué)術(shù)語(yǔ)定義的分類器,,而不僅僅用于cell空間中的“bin”值,。 4、結(jié)論python編程語(yǔ)言實(shí)現(xiàn)了一種使用元胞自動(dòng)機(jī)來“grow”類邊界的分類方法,。通過將模擬結(jié)果與其他元胞自動(dòng)機(jī)和其他數(shù)據(jù)挖掘方法的結(jié)果進(jìn)行比較,,評(píng)價(jià)了該方法的可行性,。很明顯,考慮到這種簡(jiǎn)單實(shí)現(xiàn)的相對(duì)準(zhǔn)確性,,以及進(jìn)一步分析結(jié)果單元邊界和cell擬合的潛力,,這種方法是有潛力的。這種方法的效率有待提高,。但是,,通過設(shè)計(jì)將計(jì)算次數(shù)限制為僅需要的函數(shù)并以一種能夠?qū)崿F(xiàn)快速矩陣乘法等方法來執(zhí)行許多計(jì)算的方法來構(gòu)建模型,可以大大加快代碼的速度,,更有效的步驟,。該模型目前是一種方法的良好起點(diǎn),可以進(jìn)行更深入的研究,。 附錄1 元胞自動(dòng)機(jī)方法比較 |
|