---
# System prepended metadata

title: 20201029-Fuzzy 模糊理論
tags: [presentation]

---

---
title: 20201029-Fuzzy 模糊理論      # 簡報的名稱
tags: presentation   # 簡報的標籤
slideOptions:        # 簡報相關的設定
  # theme: solarized   # 顏色主題
  transition: 'fade' # 換頁動畫
  # parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'
---
<style>
.reveal, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Arial, PingFangTC-Light, "Microsoft JhengHei", "微軟正黑", sans-serif, "Apple Color Emoji" }
.reveal article { font-size:25px !important; }
.reveal .left { text-align:left; }
.reveal li { font-size:20px !important; }
</style>

## Fuzzy 模糊理論
<!-- .slide: data-background="https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-2.jpg" -->
 2020/10/29
###### Presenter： 蔡易霖

---

## 人工智慧的分級
<img src="https://i.imgur.com/z1cxaIM.png" width=100/>

<article>人工智慧依照機器能夠處理與判斷的能力大致分為四級：<br><br>

1. 第一級人工智慧：自動控制
2. 第二級人工智慧：探索推論
3. 第三級人工智慧：機器學習
4. 第四級人工智慧：深度學習
</article>


---

## 第一級人工智慧：自動控制

----

##### 第一級人工智慧：自動控制
- 機器含有自動控制的功能，可以經由感測器偵測外界的溫度、濕度、亮度、震動、距離、影像、聲音等訊號，經由控制程式自動做出相對的反應，例如：吸塵器、冷氣機等...

- 程式設計師必須先把所有可能的情況都考慮進去才能寫出控制程式。

![](https://i.imgur.com/zCeDQaY.png)<!-- .element: class="fragment" data-fragment-index="1" -->

---

### 第二級人工智慧：探索推論、運用知識

----

#### 第二級人工智慧：探索推論、運用知識
<article class="left">
    <span><!-- .element: class="fragment highlight-red" -->探索推論</span>、<span><!-- .element: class="fragment highlight-red" -->運用知識</span>，是基本典型的人工智慧，利用演算法將輸入與輸出資料產生關聯，可以產生極為大量的輸入與輸出資料的排列組合，可能的應用包括推論解析程式、醫學診斷程式等。
<article/>


![](https://i.imgur.com/wzZ6eVc.png)

---

### 第三級人工智慧：機器學習
### 第四級人工智慧：深度學習

<span>略 :stuck_out_tongue_winking_eye:</span><!-- .element: class="fragment" data-fragment-index="1" -->

---

## 模糊應用
<article class="left">
模糊理論可以運用在現實生活周遭。例如：洗衣機、冷氣、機台控制、微環境控制、汽車防撞系統、飛行模擬...等。
<article/>

相關論文應用：
- [Diet/ Healthcare/ Travel](https://ieeexplore.ieee.org/document/6979249)
- [E-Learning/ Education/ IRT/ Ontology Construction](https://www.sciencedirect.com/science/article/pii/S2405535215000595)
- [Game/ Go](https://ieeexplore.ieee.org/document/9177654)
- [Energy Management](https://ieeexplore.ieee.org/document/6891744)
- [Patent Evaluation](https://ieeexplore.ieee.org/document/7256899)
- [Information Security](https://link.springer.com/article/10.1007/s00500-013-1056-0)
- [University Assessment](https://link.springer.com/article/10.1007/s12652-012-0139-6)

---

## 邏輯 VS. 模糊

----

#### 邏輯 VS. 模糊
- 人工智慧的方法非常多樣，早期的人工智慧研究聚焦在邏輯推論的方法
- 邏輯推論方法，需要百分之百確定的事實配合，因此在實務上不容易使用
- 模糊推論方法，雖然在理論上較不優美，但是在實務上卻很有用！

![](https://i.imgur.com/usDUos5.png)

---

#### 布林邏輯與模糊邏輯

![](https://i.imgur.com/E5Gj92i.png)

---

#### 用模糊來調和對立
<article class="left">模糊是可以用來調和對立的。譬如說：如果硬要規定180公分以上才叫高的人，那麼身高179公分的人就要抗議了。但是如果高的定義是由模糊的隸屬函數來定義的話，179公分已經相當高了！</article>

![](https://i.imgur.com/tkxuUzx.png) 

----

![](https://i.imgur.com/TQxeiP4.png)

---

### 自然語言的模糊邏輯表示
- 模糊邏輯處理變數的歸屬度(membership)和確定度(degrees of certainty)：

![](https://i.imgur.com/h5RqeyQ.png)

---

### 模糊(Fuzzy) 起源
<article class="left">Fuzzy 起源於1965年美國加州柏克萊大學的L.A. Zadeh教授，在 Information and Control 學術期刊上所發表的論文-模糊集合(Fuzzy Sets) 。是為了解決真實世界中普遍存在的模糊現象而發展的ㄧ門學問，用一種數學模型來描述語意式的模糊資訊的方法。
</article>

![](https://i.imgur.com/FM445Lw.png)


---

#### Why use Fuzzy Logic for control?
<article class="left">
    1. 非線性或不易明白理解(Vague模糊)的事物，並處理解決複雜的系統 <br>
    2. 易於描述人類的知識
</article>

![](https://i.imgur.com/LAOdFX3.png)

---

#### 模糊系統有哪些元素？
- 知識庫：模糊控制系統具有哪些知識
    - (Ex.食物好不好吃、學生成績高還低......)
    
- 規則庫：規定變數(知識)的條件組合結果
    - (Ex.食物好吃，價格便宜，環境好→給的小費就高)

![](https://i.imgur.com/iTsPqTA.jpg)<!-- .element: class="fragment" data-fragment-index="1" -->

---

#### Fuzzy Control Systems: The Tipping Problem

### 以下以小費系統為例 :smiley:

---

### The Tipping Problem
<article class="left">這邊以小費系統建立模糊標記系統，依據食物(food)、服務(service)、環境(enviroment)作為模糊變數為輸入，最後輸出一個需要給予的小費(pay_tips)。<br><br>

- Input
    - food、service、enviroment
- Output
    - pay_tips
</article>

![](https://i.imgur.com/4AzellT.png)


---

## Step 1. 知識庫建立

- 模糊集合 (Fuzzy set)
- 隸屬度函數 (Membership function)

----

### Step 1-1. 模糊集合
<article class="left">這裏以變數 food 為例，食物好不好吃分為三個等級。就是有三個 fuzzy set: bad、normal、delicious。</article>

![](https://i.imgur.com/tWKCRjz.png)

----

![](https://i.imgur.com/61heDPN.png)

----

### Step 1-2. 隸屬度函數
<article class="left">
常見的隸屬函數有：<br>

- Trapezoidal (梯形)
- Triangular (三角形)
- Gaussian (高斯)
- Piecewise linear (分段線性)
- Singleton (單例模式)
</article>

![](https://i.imgur.com/JS6FVgF.png)

---

## Step 2. 建置規則庫
![](https://i.imgur.com/yvTuzkK.png)


----

### 語意式模糊規則 

![](https://i.imgur.com/F6wiv2K.png)

----

#### Mamdani 模糊推理模型
<article class="left">假設模糊規則庫中，只有以下三個模糊規則：<br><br>

- If  x is small	     Then  y is large
- If  x is medium	     Then  y is medium
- If  x is large         Then  y is small 
</article>

![](https://i.imgur.com/CANPbSK.png)

---

### 模糊推論 (inference)

![](https://i.imgur.com/RfOuU4I.png)

----

推論機制？以 Mamdani 方法為例
<img src="https://i.imgur.com/JuZSpJW.png" width=700>

---

人給的規則不一定是最好的！
可能還有你沒發現的規則在實務上會發生:confused:

---

這時候就交給機器學習吧！那...機器如何學習？
<span>我想不用解釋了:joy:</span><!-- .element: class="fragment" data-fragment-index="1" -->

---

### 基因演算法(GA)學習
機器學習的第一步：搜集訓練資料

![](https://i.imgur.com/BohcHPm.png)

----

### 基因演算法
<article class="left">基因演算法是計算數學中用於解決最佳化的搜尋演算法，是進化演算法的一種。進化演算法最初是借鑑了進化生物學中的一些現象而發展起來的，這些現象包括遺傳、突變、自然選擇以及雜交等等。
</article>

![](https://i.imgur.com/aSnHOJB.png)

----

![](https://i.imgur.com/twSkxZ0.png)
![](https://i.imgur.com/ZdXr2ue.png)

----

學習後的知識庫
![](https://i.imgur.com/vIXWYZd.png)

----

規則庫

![](https://i.imgur.com/RgjhIvj.png)

---

### 模糊化類神經網路
<article class="left">
三種最典型的「模糊化類神經網路」分別為： <br><br>

- 適應性網路架構的模糊推論系統(adaptive network-based fuzzy inference system 簡稱為 ANFIS) 
- 模糊適應性學習控制網路(fuzzy adaptive learning control network 簡稱為 FALCON) 
- 倒傳遞模糊系統(backpropagation fuzzy system) 
</article>

![](https://i.imgur.com/aYu8KED.png)

---

### Thanks!

<article class="left">

Reference:
1. [模糊理論簡介及其在家電與工業上的應用](https://www.tiri.narl.org.tw/Files/Doc/Publication/InstTdy/129/01290620.pdf)
2. [FML for Real-World Applications](http://oase.nutn.edu.tw/fuzz2019-fmlcompetition/files/FML%20for%20Real-World%20Applications-02192016.pdf)
3. [當傳統AI遇見現代AI](https://medium.com/ai-academy-taiwan/%E7%95%B6%E5%82%B3%E7%B5%B1ai%E9%81%87%E8%A6%8B%E7%8F%BE%E4%BB%A3ai-ac51d6814918)
4. [用模糊邏輯實現可解釋的深度神經網絡](https://kknews.cc/zh-tw/tech/e3bvjby.html)
</article>