模糊邏輯學習--模糊推理過程

這裏推薦搭建先看這個ppt,再看後面matlab的實現,這樣你會很清晰,爲了賺點積分,這裏設置一下積分,抱歉大家了。

詳細講解模糊邏輯的ppt

模糊推理是使用模糊邏輯制定從給定輸入到輸出的映射的過程。然後,映射提供了基礎,從中可以做出決策或識別出模式。模糊推理的過程涉及隸屬函數邏輯運算If-Then規則中描述的所有部分。

本節介紹了模糊推理過程,並使用雙輸入,單輸出,三規則小費問題的例子基本小費的問題,你在更詳細的介紹看到的。下圖顯示了此示例的基本結構:

 

信息從左到右,從兩個輸入流到一個輸出。規則的並行性質是模糊邏輯系統更重要的方面之一。邏輯不是從基於斷點的模式之間進行尖銳的切換,而是從系統行爲受一條規則或另一條規則支配的區域平穩地流動。

模糊推理過程包括五個部分:

模糊推理圖顯示模糊推理過程的所有部分-從模糊化通過去模糊化。

步驟1.模糊化輸入

第一步是獲取輸入,並通過隸屬函數確定輸入所屬的適當模糊集的程度。在Fuzzy Logic Toolbox™軟件中,輸入始終是一個清晰的數值,限於輸入變量的論述範圍(在這種情況下爲0到10之間的間隔),而輸出則是合格語言集中的模糊隸屬度(總是介於0和1之間的間隔)。輸入的模糊化等於表查找或功能評估。

該示例基於三個規則,每個規則都取決於將輸入分解爲許多不同的模糊語言集:服務差,服務好,食物腐爛,食物可口,等等。在評估規則之前,必須根據這些語言集中的每一個對輸入進行模糊處理。例如,食物在多大程度上真正美味?下圖顯示了假設餐廳的食物(等級從0到10)通過語言的隸屬度,其作爲語言變量的美味程度。在這種情況下,我們將食物的等級評定爲8,根據您對美味的圖形化定義,美味成員關係函數的µ = 0.7。

以這種方式,每個輸入都模糊了規則要求的所有合格成員資格函數。

步驟2.應用模糊運算符

在對輸入進行模糊處理之後,您將知道每個規則對前提的每個部分的滿意程度。如果給定規則的前提有一個以上的部分,則應用模糊算子獲得一個數字,該數字表示該規則的前提的結果。然後將此數字應用於輸出功能。模糊運算符的輸入是來自模糊輸入變量的兩個或多個隸屬度值。輸出是單個真值。

如“ 邏輯運算”部分所述,可以爲AND運算或OR運算填充任意數量的定義明確的方法。在工具箱中,支持兩種內置的AND方法:min(最小)和prod(產品)。還支持兩種內置的OR方法:max(maximum)和概率OR方法probor。的根據等式計算概率OR方法(也稱爲代數和)

probor a b)= a + b - ab

除了這些內置方法之外,您還可以通過編寫任何函數並將其設置爲選擇的方法來爲AND和OR創建自己的方法。

下圖顯示了工作中的OR運算符max,它評估了小費計算的規則3的前提。前項的兩個不同部分(服務非常好,食物也很美味)的模糊隸屬度值分別爲0.0和0.7。模糊或運算符只需選擇兩個值中的最大值0.7,即可完成規則3的模糊運算。概率OR方法仍將得到0.7。

步驟3.應用蘊涵方法

在應用隱含方法之前,必須確定規則的權重。每個規則都有一個權重(0到1之間的一個數字),該權重將應用於前一個給定的數字。通常,此權重爲1(如本例所示),因此對暗示過程完全沒有影響。您可能會不時地想通過將一個規則的權重值更改爲1而不是其他來加權。

在爲每個規則分配了適當的權重之後,便會實施隱含方法。結果是由隸屬度函數表示的模糊集,該模糊集適當地加權了歸因於該模糊集的語言特徵。結果使用與該前提關聯的功能(單個數字)進行整形。隱含過程的輸入是一個由先決條件給出的數字,而輸出是一個模糊集。隱含實現每個規則。支持兩種內置方法,它們與AND方法使用的功能相同:min(最小)將截斷輸出模糊集,而prod(乘積)將縮放輸出模糊集。

步驟4.彙總所有輸出

由於決策基於對FIS中所有規則的測試,因此必須以某種方式組合規則才能做出決策。聚合是將代表每個規則的輸出的模糊集組合爲單個模糊集的過程。對於每個輸出變量,聚合僅發生一次,就在第五個也是最後一步,即去模糊化之前。聚合過程的輸入是隱含過程爲每個規則返回的截斷輸出函數的列表。聚合過程的輸出是每個輸出變量的一個模糊集。

只要聚合方法是可交換的(始終應該如此),那麼執行規則的順序就不重要了。支持三種內置方法:

  • max (最大值)

  • probor (概率OR)

  • sum (僅是每個規則的輸出集的總和)

在下圖中,所有這三個規則已放在一起,以顯示每個規則的輸出如何組合或聚合到單個模糊集中,該模糊集的隸屬函數爲每個輸出(提示)值分配權重。

第5步。

輸入 解模糊處理是一個模糊集(合計輸出模糊集),並且輸出是單個數字。儘管模糊有助於中間步驟中的規則評估,但每個變量的最終期望輸出通常爲單個數字。但是,模糊集的集合包含一系列輸出值,因此必須對其進行去模糊處理,以便從該集中解析單個輸出值。

支持五種內置的反模糊化方法:質心,平分線,最大值的中間值(輸出集最大值的平均值),最大值的最大值和最小值的最大值。也許最流行的去模糊方法是質心計算,它返回曲線下方的區域中心,如下所示:

雖然總輸出模糊集的覆蓋範圍是從0%到30%,但去模糊值在5%到25%之間。這些限制分別對應於cheapgenerous隸屬函數的質心。

模糊推理圖

模糊推理圖是本節到目前爲止介紹的所有較小圖的合成。它同時顯示您檢查過的模糊推理過程的所有部分。信息流經模糊推理圖,如下圖所示。

在此圖中,流程從左下方的輸入開始向上,然後跨每一行或每個規則,然後向下的規則輸出在右下方完成。從語言變量的模糊化一直到總輸出的去模糊化,這種緊湊的流程可以立即顯示所有內容。

下圖顯示了實際的全尺寸模糊推理圖。在模糊推理圖中有很多可以看的東西,但是當您習慣了它之後,就可以很快地學習到很多關於系統的知識。例如,從帶有這些特定輸入的圖表中,您可以輕鬆地看到,蘊含方法是使用最小功能。該最大值函數被用於模糊或操作。規則3(前面顯示的圖中最底部的一行)對輸出的影響最大。等等。規則瀏覽器中所描述的規則瀏覽器是一個MATLAB ®模糊推理圖的實施。

 

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