40
-Artificial Neural Net work- Matlab 操操操操 - 操操操操操操 BPN Model 操操 操操操操操操 操操操操操 操操操 操操

-Artificial Neural Network- Matlab 操作介紹 - 以類神經網路 BPN Model 為例

  • Upload
    gail

  • View
    463

  • Download
    1

Embed Size (px)

DESCRIPTION

-Artificial Neural Network- Matlab 操作介紹 - 以類神經網路 BPN Model 為例. 朝陽科技大學 資訊管理系 李麗華 教授. 資料準備說明. 要訓練 ANN 前應先依解決的議題 , 準備好四組檔案 training data 檔 , Training data 的 Target 檔 , Test data 檔 , Test 的 Target 檔 . 每一筆資料都須轉置成 column 型式 ( 直式 ) 再匯入 matlab. 以下先介紹資料轉置的範例說明 . 1.Input Pattern 設計 - PowerPoint PPT Presentation

Citation preview

-Artificial Neural Network- Matlab 操作介紹

- 以類神經網路 BPN Model 為例

朝陽科技大學資訊管理系李麗華 教授

朝陽科技大學 李麗華 教授 2

資料準備說明•要訓練 ANN 前應先依解決的議題 , 準備好四組檔案

training data 檔 , Training data 的 Target 檔 , Test data 檔 , Test 的 Target 檔 .

•每一筆資料都須轉置成 column 型式 ( 直式 )

再匯入 matlab.

以下先介紹資料轉置的範例說明 .1.Input Pattern 設計 2.Input Pattern 轉換3.Target Pattern 設計4.Test Pattern 設定

朝陽科技大學 李麗華 教授 3

1. 以數字辨識為例 Pattern 的設計

1, 2, 3

4, 5, 6

7, 8, 9

0

朝陽科技大學 李麗華 教授 4

以 Word 進行設計

將 10 個 patterns做好並轉換

2. Pattern 轉換 ( 續 )

朝陽科技大學 李麗華 教授 5

2. Pattern 轉換 ( 續 )

•將每一個pattern 表格選取後 ,將表格去除 ,並轉成文字形式

朝陽科技大學 李麗華 教授 6

Pattern 轉換 ( 續 )

去除表格

朝陽科技大學 李麗華 教授 7

Pattern 轉換 ( 續 )

去除表格

朝陽科技大學 李麗華 教授 8

Pattern 轉換 ( 續 )

將每一個 pattern 轉為一列 ( 即一筆輸入資料 ), 如下例

0 1 1 0 0

0 0 1 0 0

0 0 1 0 0

0 0 1 0 0

0 0 1 0 0

01100 00100 00100 00100 00100

朝陽科技大學 李麗華 教授 9

Pattern 轉換 ( 續 )

所以 10 個數字 pattern 就產生 10 列資料 ( 每一橫列為一筆 training data )

朝陽科技大學 李麗華 教授 10

Pattern 轉換 ( 續 )

• 因 matlab 讀入資料是以直式 (column by column) 讀取 , 所以須將每一筆 data pattern 轉為直式– 方法一 (以 Excel為工具 )

• 將先前的 10 列資料 , 先行存成文字檔 (*.txt)• 再利用 Excel, 開啟該文字檔• 利用複製轉貼成直式• 存成文字檔並命名為 trainset.txt

– 方法二 (以Matlab為工具 )• 直接利用 matlab 工具 , 採用匯入方式轉換 data pattern• 於 Matlab 的命令列中 , 輸入 檔名‘ 即可進行轉換 , 例如 : 欲匯入一個 train pattern, 其檔名為 trainset.txt , 則在 Matlab 上輸入 trainset’

朝陽科技大學 李麗華 教授 11

Pattern 轉換成直式 - 用 Excel

複製並選擇性貼上

< 方法一 >

朝陽科技大學 李麗華 教授 12

< 方法一 >Pattern 轉換成直式 - 用 Ex

cel

朝陽科技大學 李麗華 教授 13

< 方法一 >Pattern 轉換成直式 - 用 Ex

cel

朝陽科技大學 李麗華 教授 14

< 方法一 >Pattern 轉換成直式 - 用 Ex

cel

資料已轉成直式

朝陽科技大學 李麗華 教授 15

存成文字檔並用 tab 格式

< 方法一 >Pattern 轉換成直式 - 用 Ex

cel

朝陽科技大學 李麗華 教授 16

1. 先利用 File 功能 ,將 training pattern檔 , 匯入 Matlab 中 2. 再輸入此命令 ,

以便轉換 pattern

Pattern 轉換 ( 續 ) < 方法二 >

朝陽科技大學 李麗華 教授 17

3. Target Pattern 設計 (1)

1. 依據先前所設計的辨識 0~9 的阿拉伯數字,依照 training pattern 的順序來製作 target 資料 .以數字辨識為例 ,我們可以設計 output 有 10 個節點 ,令第 1個輸出節點 (output node Y1) 代表辨識數字 0的結果 , 第 2個輸出節點 (output node Y2) 代表辨識數字 1的結果 ,第 3個輸出節點 (output node Y3) 來代表辨識數字 2的結果 ,以此類推 .推 ,則依每個 training pattern 的順序來建立 target 檔 . 以下依前面設計的 10個 input patterns 來設計 target檔如下 .

朝陽科技大學 李麗華 教授 18

3. Target Pattern 設計 (2)

當然 target 資料也是要再轉成直式才能匯入 matlab.

Input Pattern

Target Pattern9876543210

1

2

3

4

5...

0 1 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 1 0 0 0 0...

朝陽科技大學 李麗華 教授 19

4. Test Pattern 設計

1

3

9

0

{01100 00100 00100 00100 01110}

{01110 00010 01110 00010 01110}

{01110 01010 01110 00010 00100}

{00100 01010 01010 01010 00100}

當 ANN 網路訓練好時 ,則須要檢測網路的準確性 ,所以須要另外再有一組 test patterns 來檢驗網路的成效 .

朝陽科技大學 李麗華 教授 20

Matlab 操作 (1)– 先匯入所需資料

匯入所需資料 : 1.Training data 2.Target data

朝陽科技大學 李麗華 教授 21

Matlab 操作 (2) - 匯入所需資料

於 Train Pattern 所在位置 ,將其匯入

朝陽科技大學 李麗華 教授 22

Matlab 操作 (3) - 匯入所需資料

選擇“ Next”

朝陽科技大學 李麗華 教授 23

Matlab 操作 (4)- 匯入所需資料

選擇“ Finish”

朝陽科技大學 李麗華 教授 24

Matlab 操作 (5) – 呼叫 ANN建構工具

於命令列下“ nntool”以呼叫類神經網路模組

朝陽科技大學 李麗華 教授 25

選擇“ Import”,將所需資料匯入

Matlab 操作 (6) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 26

1. 將 Train Pattern 設定為“ Input” 型式2. 將 Target Pattern 設定為 Targets 型式

Matlab 操作 (7) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 27

待所需資料匯入後 ,即可選擇“ New Network”, 以建構類神經網路模組

匯入的資料

Matlab 操作 (8) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 28

設定網路的輸入資料來源

Matlab 操作 (9) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 29

選用網路 model

自訂網路名稱

Matlab 操作 (10) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 30

設定 BPN 隱藏層的神經元個數 (Layer 1)

Matlab 操作 (11) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 31

設定 BPN 輸出層所需的神經元個數 (Layer 2)

Matlab 操作 (12) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 32

設定網路所需的相關架構參數後 ,接著選擇“ Train..”,將 Train Pattern 輸入 ,以便網路進行學習模擬

Matlab 操作 (13) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 33

選擇 Training 所需的input pattern 選擇 target pattern

Matlab 操作 (14) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 34

1. 設定訓練次數

2. 設定學習速率 learning rate

3. 待設定完各相關參數後 , 即可選擇“ Train Network” 進行網路的 Training

Matlab 操作 (15) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 35

網路訓練過程

Matlab 操作 (16) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 36

匯入 test pattern,相關步驟如上所述

Matlab 操作 (17) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 37

選擇所建構的網路模組後 ,選擇“ Simulate..” 以進行模擬

Matlab 操作 (18) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 38

1. 選擇要進行測試的 test pattern

2. 進行模擬

Matlab 操作 (19) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 39

1. 選擇“ Export..”

2. 將欲分析的輸出結果 Export 3. 確定後 , 選擇“ Export”

Matlab 操作 (20) – 呼叫 ANN建構工具

朝陽科技大學 李麗華 教授 40

Matlab 操作 (21) – 呼叫 ANN建構工具

按滑鼠左鍵二下 ,以觀看其結果