天天看點

粗糙集理論介紹

    面對日益增長的資料庫,人們将如何從這些浩瀚的資料中找出有用的知識?我們如何将所學到的知識去粗取精?什麼是對事物的粗線條描述什麼是細線條描述?

    粗糙集合論回答了上面的這些問題。要想了解粗糙集合論的思想,我們先要了解一下什麼叫做知識?假設有8個積木構成了一個集合A,我們記:A={x1,x2,x3,x4,x5,x6,x7,x8},每個積木塊都有顔色屬性,按照顔色的不同,我們能夠把這堆積木分成R1={紅,黃,蘭}三個大類,那麼所有紅顔色的積木構成集合X1={x1,x2,x6},黃顔色的積木構成集合X2={x3,x4},蘭顔色的積木是:X3={x5,x7,x8}。按照顔色這個屬性我們就把積木集合A進行了一個劃分(所謂A的劃分就是指對于A中的任意一個元素必然屬于且僅屬于一個分類),那麼我們就說顔色屬性就是一種知識。在這個例子中我們不難看到,一種對集合A的劃分就對應着關于A中元素的一個知識,假如還有其他的屬性,比如還有形狀 R2={三角,方塊,圓形},大小 R3={大,中,小},這樣加上R1屬性對A構成的劃分分别為:

    A/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}} (顔色分類)

    A/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}} (形狀分類)

   A/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}} (大小分類)

    上面這些所有的分類合在一起就形成了一個基本的知識庫。那麼這個基本知識庫能表示什麼概念呢?除了紅的{x1,x2,x6}、大的{x1,x2,x5}、三角形的{x1,x2}這樣的概念以外還可以表達例如大的且是三角形的{x1,x2,x5}∩{x1,x2}={x1,x2},大三角{x1,x2,x5}∩{x1,x2}={x1,x2},蘭色的小的圓形({x5,x7,x8}∩{x3,x4,x7}∩{x3,x4,x6,x7}={x7},蘭色的或者中的積木{x5,x7,x8}∪{x6,x8}={x5,x6,x7,x8}。而類似這樣的概念可以通過求交運算得到,比如X1與Y1的交就表示紅色的三角。所有的這些能夠用交、并表示的概念以及加上上面的三個基本知識(A/R1,A/R2.A/R3)一起就構成了一個知識系統,記為R=R1∩R2∩R3,它所決定的所有知識是A/R={{x1,x2},{x3,x4},{x5},{x6},{x7},{x8}}以及A/R中集合的并。

    下面考慮近似這個概念。假設給定了一個A上的子集合X={x2,x5,x7},那麼用我們的知識庫中的知識應該怎樣描述它呢?紅色的三角?****的大圓?都不是,無論是單屬性知識還是由幾個知識進行交、并運算合成的知識,都不能得到這個新的集合X,于是我們隻好用我們已有的知識去近似它。也就是在所有的現有知識裡面找出跟他最像的兩個一個作為下近似,一個作為上近似。于是我們選擇了{x5,x7}作為X的下近似。選擇{x1,x2,x5,x7}作為它的上近似,值得注意的是,下近似集是在那些所有的包含于X的知識庫中的集合中求并得到的,而上近似則是将那些包含X的知識庫中的集合求并得到的。

    整個粗集理論的核心就是上面說的有關知識、集合的劃分、近似集合等等概念。下面我們讨論一下關于粗糙集在資料庫中資料挖掘的應用問題。考慮一個資料庫中的二維表如下:

    元素   顔色   形狀   大小   穩定性

    ----------------------------------

    x1     紅     三角      大     穩定

    x2     紅     三角      大     穩定

    x3     黃     圓         小     不穩定

    x4     黃     圓         小     不穩定

    x5     蘭     方塊      大     穩定

    x6     紅     圓         中     不穩定

    x7     蘭     圓         小     不穩定

    x8     蘭     方塊      中     不穩定

    可以看出,這個表就是上面的那個例子的二維表格展現,而最後一列是我們的決策屬性,也就是說評價什麼樣的積木穩定。這個表中的每一行表示了類似這樣的資訊:紅色的大三角積木穩定,****的小圓形不穩定等等。我們可以把所有的記錄看成是論域A={x1,x2,x3,x4,x5,x6,x7,x8},任意一個清單示一個屬性構成了對論域的元素上的一個劃分,在劃分的每一個類中都具有相同的屬性。而屬性可以分成兩大類,一類叫做條件屬性:顔色、形狀、大小都是;另一類叫做決策屬性:最後一列的是否穩定。下面我們考慮,對于決策屬性來說是否所有的條件屬性都是有用的呢?考慮所有決策屬性是“穩定”的集合{x1,x2,x5},它在知識系統A/R中的上下近似都是{x1,x2,x5}本身,“不穩定”的集合{x3,x4,x6,x7,x8},在知識系統A/R中的上下近似也都是{x3,x4,x6,x7,x8}它本身。說明該知識庫能夠對這個概念進行很好的描述。下面考慮是否所有的基本知識:顔色、形狀、大小都是必要的?如果我們把這個集合在知識系統中去掉顔色這個基本知識,那麼知識系統變成A/(R-R1)={{x1,x2},{x3,x4,x7},{x5},{x6},{x8}}以及這些子集的并集。如果用這個新的知識系統表達“穩定”概念得到上下近似仍舊都是:{x1,x2,x5},“不穩定”概念的上下近似也還是{x3,x4,x6,x7,x8},由此看出去掉顔色屬性我們表達穩定性的知識不會有變化,是以說顔色屬性是多餘的可以删除。如果再考慮是否能去掉大小屬性呢?這個時候知識系統就變為:

A/(R-R1-R3)=A/R2={{x1,x2},{x5,x8},{x3,x4,x6,x7}}。同樣考慮“穩定”在知識系統A/R2中的上下近似分别為:{x1,x2}和{x1,x2,x5,x8},已經和原來知識系統中的上下近似不一樣了,同樣考慮“不穩定”的近似表示也變化了,是以删除屬性“大小”是對知識表示有影響的故而不能去掉。同樣的讨論對于“形狀”屬性也一樣,它是不能去掉的(?)最後我們得到化簡後的知識庫R2,R3,進而能得到下面的決策規則:大三角->穩定,大方塊->穩定,小圓->不穩定,中圓->不穩定,中方塊->不穩定,利用粗集的理論還可以對這些規則進一步化簡得到:大->穩定,圓->不穩定,中方塊->不穩定。這就是上面這個資料表所包含的真正有用的知識,而這些知識都是從資料庫有粗糙集方法自動學習得到的。是以,粗糙集是資料庫中資料挖掘的有效方法。

    從上面這個例子中我們不難看出,實際上我們隻要把這個資料庫輸入進粗糙集運算系統,而不用提供任何先驗的知識,粗糙集算法就能自動學習出知識來,這正是它能夠廣泛應用的根源所在。而在模糊集、可拓集等集合論中我們還要事先給定隸屬函數。

    目前,粗糙集理論已經廣泛的應用于知識發現、資料挖掘、智能決策、電子控制等多個領域。