模糊集与模糊聚类
數據挖掘講課任務梳理:? ?
目錄
西大數據挖掘講課任務梳理:? ?
模糊集的歷史
模糊集基本概念
模糊集定義
隸屬函數
模糊集的表示方法
模糊集的運算
模糊集的特性
模糊關系
模糊邏輯與模糊推理
數據挖掘中的模糊方法:
模糊聚類
模糊集的歷史
19世紀以前,是傳統邏輯的時代,主要是就是亞里士多的的精確數學,后來柏拉圖反對這種非此即彼的思維方法,他認為真假之間應該存在一種灰色地帶,經過不斷探索之后,1965年,扎特創立了一種描述模糊現象的方法,模糊集合論,并進行了進一步的研究。
其實,在我們的日常生活中存在著很多模糊的現象,比如“好與壞,暖和、很大”等概念,但是這些概念在我們的頭腦中有一個標準并被人們普遍接受。
??
模糊集基本概念
模糊集定義
接下來,在介紹模糊集的定義之前,先介紹幾個簡單的概念:首先,論域表示我們處理某個問題是我們所討論的限制范圍,集合表示在論域中具有某個屬性的事物的集合。比如,我們討論白梨與鴨梨可以分別表示為兩個集合,而梨就可以表示為論域。
對于特征函數,我們以二值集合為例,假設在論域X中,A是論域X中的一個集合,對于任意的x屬于X,我們會有,x要么是A中的元素,要么不是A中的元素,因此,由集合A可以確定一個映射,??::?→{0,1},因此,映射函數可以用下面的公式表示
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
如果x是A 中的元素,那么就定義為1,如果x不是A中的元素,就用0表示,這就是A的特征函數。隸屬度,就表示元素x屬于A的可能性大小。,最后,我們引出模糊集的概念,假定論域為X,x是X種的一個特定元素,那么模糊集A有一個隸屬度映射函數刻畫:??:?→[0,1]。?? 就稱為隸屬函數,??(?)稱為?對?的隸屬度.
? ? ? ? ? ? ? ??
那么模糊集與傳統的經典集合是什么關系呢?模糊集表示的是一個抽象的概念,我們通過uA(x) 來表示一個元素屬于A的確定性,的值越接近1表示x隸屬于A的可能性越大,相反,越低,而對于二值集合而言,或者為1,即完全隸屬于A,或者為0,即完全不屬于A,因此,可以認為二值集合是模糊集合的一種特殊情況。
? ? ? ? ? ? ? ? ? ??
隸屬函數是模糊集合的實質,隸屬函數可以是任何的類型的函數,根據具體的模糊集特征進行定義。但需要滿足以下一些約束:1......,2......,3.......
隸屬函數
? ? ? ? ? ? ? ? ? ? ? ? ?
模糊集的表示方法
可以對離散(有限)域或者連續(無限)域定義模糊集。模糊集一般有三種表示方法。扎德表示,序偶表示法,以及隸屬函數表示法。隸屬函數表示法就是直接使用隸屬函數來表示模糊集。我們用扎德表示法的時候:對于離散級,我們使用求和符號表示,如下式,....,式中的+/表示的是分隔符號,這里的表示x隸屬于A的程度。對于無限集我們用這個式中表示。
當論域為有限集的時候,定義在論域上的模糊集還可以用序偶的形式表示,即
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
這就是模糊集的三種表示方法,下面我們舉個簡單的例子進行說明:
? ? ? ? ? ? ? ??
模糊集的運算
接下來我們介紹模糊集合的一些基本的運算規則:我們首先介紹一下經典集合的運算:屬于,交、并、補、相等。對于模糊集,兩個模糊集的相等不能僅由兩個集合的元素相等而判斷,還應該確保兩個集合中元素對應的隸屬度也是相同的,同樣,元素的包含關系也是一樣的。對于模糊集的交,實現交的算子稱為t范數,最常用的交算子是最小算子,模糊集的并,實現并的算子稱為s范數,最常用的算子是最大算子。二值集合的補是包含除該集合之外的整個域中的其他元素,但是對于模糊集,一個集合A 的補包含集合A 中的所有元素,但隸屬度不同。因此,模糊集A 與他的補的交集不等于空集,并不等于整個域X。下面的四個圖是就是表示模糊集基本運算的示意圖。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
對于模糊集合之間的運算規律而言,除了我們剛剛提到的互補律不成立之外,其他運算規律都是與二值函數的運算規律一樣成立的。
模糊集的特性
接下來我們介紹模糊集的幾個特性,首先最重要的就是λ-截集。在論域X中,給定一個模糊集合A,由對于A的隸屬度大于某一水平值λ(閾值)的元素組成的集合,叫做該模糊集合的λ水平截集。用公式可以描述如下: ? ? ? ??(λ-截集)A =? ? ???????
正規化,一個集合A 中具有隸屬度為1 的元素,那么A就是正規。
高度就是表示一個模糊集隸屬度的上確界,,也就是屬于A的集合中隸屬度的值最大為多少。
支持 就是所有屬于模糊集A中隸屬度大于0 的集合。
核 表示模糊集A中所有隸屬度為1的元素組成的集合。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
基數 :對于二值函數而言基數就是集合元素的個數,對于模糊集而言,有限域中:基數是屬于模糊集A的所有元素對應的隸屬度的和。
歸一化: 用模糊集的高度除以隸屬函數就可以實現對模糊集的歸一化。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
我們經常會混淆模糊與概率的概念,接下來就簡單的介紹一下概率和模糊的區別與相同點。相同點是都在[0,1]之間表示不確定性。不同點是概率表示的確定性程度是在事件發生之前,而模糊在事件發生之后任然有意義。概率假定事件之間是相互獨立的,而且是在假定任何事件都已知的封閉模型中,概率表示的是一個事件發生頻度的度量。模糊按照隸屬函數度量,而且也不需要假定事情已知。這就是概率和模糊的區別。因此,模糊并不是概率,概率也并不是模糊。例如下面兩個例子。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
模糊關系
關系也是集合中一個重要的概念。它反應了不同集合之間的相互關系。模糊關系中,例如母子之間是否長得像?家庭是否和睦之類的,都屬于模糊關系。我們假設x是論域U中的元素,y是論域V中的元素,U到V的一個模糊關系是指定義在上的一個模糊子集,其隸屬度??? 代表x和y對于該模糊關系的關聯程度。 ???????例如,.......
模糊關系也經常用矩陣的形式表示,U到V的模糊關系可以用矩陣描述為.....。因此,上例中的模糊關系又可以用矩陣描述為:........。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
模糊關系的合成,就類似于矩陣的乘法,但是運算符不是取乘號與加號而是取交和并。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
我們通過一個例題來進一步熟悉。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
下面介紹模糊變換
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
我們同樣通過一個例子來進行說明。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
模糊邏輯與模糊推理
扎德將模糊邏輯定義為一個邏輯系統,該系統是多值邏輯的一個擴展。在模糊邏輯中最為重要的兩個概念就是語言學變量和模糊規則if-then 。
首先,我們介紹語言變量,語言變量來源于自然語言中詞匯這句子,并具有值,但是它的取值不是通常的數,而是用模糊語言來表示。例如,對于年齡這個模糊變量,他的取值為年幼,年輕,年老等集合。我們在定義一個語言變量的時候要包括以下幾個內容:一是變量名稱,比如“速度”,然后定義變量的論域,例如定為【0,200】km/h然后定義語言值,在論域[0,200]上定義變量的語言值為 {慢,中,快};最后定義每個模糊集合的隸屬函數:u(快)、u(中)、u(慢)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????
模糊規則
模糊規則,對于一般的模糊系統,系統的動態行為由一組模糊規則描述,這些規則是基于其領域中人類專家的知識和經驗。這部分與我們之前學過的專家系統很類似,因此,我們只做簡單的介紹。模糊規則一般表示為:??if? 前提? then? 結論。這里的前提和結論都是包含語言變量的命題。含有多個前提條件的稱為多維模糊規則,可以表示為:如果u1是A1,且u2是A2,…,且um是Am,則v是B。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
模糊推理
模糊推理我們簡單的介紹通過模糊關系進行模糊推理,推理的合成規則CRI法。推理合成規則法關鍵有兩步,一步是根據模糊規則到處模糊關系矩陣R,然后是模糊關系的合成運算。我們已知一個前提是:。。。另一個前提是:,,,我們要得出結論y是B’。也就是如圖所示。具體實現時,我們先根據前提1 求A--->B 的關系矩陣,然后利用前提2 進行模糊關系的合成運算,得到y.具體的合成運算的規則前面已經介紹,在此就不再展開。關于模糊關系矩陣元素的計算,我們采用瑪達尼方法進行計算,具體如下,隸屬函數就可以表示為:。
? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ????????
例題:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
數據挖掘中的模糊方法:
這部分的介紹與前面的相對應進行講解。
? ? ? ? ? ? ? ?
模糊聚類
最后,我們介紹一下模糊聚類。目標函數中c表示c類,n表示樣本的數量,m為加權指數,一般取1.5-3.5 。u表示隸屬函數,d用于計算樣本點與中心點之間的歐幾里德距離,通過這個公式,我們就可以計算每個樣本點屬于哪一類。對于目標函數的求解,我們可以使用拉格朗日乘子法進行求解,對所有輸入參量求導,使式達到最小的必要條件為:u...c.....
最終得到隸屬函數與聚類中心。dij與dkj都是表示距離。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
模糊C均值聚類算法是一個簡單的迭代過程。在批處理方式運行時,FCM用下列步驟確定聚類中心ci和隸屬矩陣U[1]:......用值在0,1間的隨機數初始化隸屬矩陣U,計算c個聚類中心,計算價值函數。如果它小于某個確定的閥值,或它相對上次價值函數值的改變量小于某個閥值,則算法停止。
實驗中我們使用的是iris數據集,這個數據集.........通過算法我們的出了聚類的結果,0,1,2就表示聚類的類別,我們可以看到,0類都標記正確,1類有13個錯誤標記,2類有3個標記錯誤。因此我們得到最終的聚類準確率為89.33%,右圖是橫縱坐標分別為特征2和特征3時對應的聚類結果。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????
?
模糊聚類代碼:
https://download.csdn.net/download/qq_28266311/11022838
?
總結
- 上一篇: Unity3d笔记——制作简单动画
- 下一篇: Unity 录制简单的动画