• 沒有找到結果。

-以類神經網路BPN Model為例

N/A
N/A
Protected

Academic year: 2022

Share "-以類神經網路BPN Model為例"

Copied!
40
0
0

加載中.... (立即查看全文)

全文

(1)

-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轉換成直式-用Excel

(13)

< 方法一 方法一 方法一 方法一 >

Pattern轉換成直式-用Excel

(14)

< 方法一 方法一 方法一 方法一 >

Pattern轉換成直式-用Excel

資料

已轉

成直

(15)

存成文字 存成文字 存成文字 存成文字 檔並用 檔並用 檔並用 檔並用

tab 格式 格式 格式 格式

< 方法一 方法一 方法一 方法一 >

Pattern轉換成直式-用Excel

(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 Y 1 )代表辨識數字0的結果,

第2個輸出節點(output node Y 2 )代表辨識

數字1的結果,第3個輸出節點(output node

Y 3 )來代表辨識數字2的結果,以此類推.推,

則依每個training pattern的順序來建立

target檔. 以下依前面設計的10個input

(18)

3. Target Pattern設計(2)

Input Pattern

Target Pattern

9 8 7 6 5 4 3 2 1 0

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

{01100 00100 00100 00100 01110}

{01110 00010 01110 00010 01110}

{01110 01010 01110 00010 00100}

當 當 當

當ANN ANN ANN ANN網路訓練好時 網路訓練好時 網路訓練好時 網路訓練好時, ,, ,則須要檢測網路的準確性 則須要檢測網路的準確性 則須要檢測網路的準確性 則須要檢測網路的準確性, ,, ,所以 所以 所以 所以 須要另外再有一組

須要另外再有一組 須要另外再有一組

須要另外再有一組test patterns test patterns test patterns test patterns來檢驗網路的成效 來檢驗網路的成效 來檢驗網路的成效 來檢驗網路的成效. .. .

(20)

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

匯入所需資料 匯入所需資料 匯入所需資料 匯入所需資料:

1.Training data 2.Target data

(21)

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

於 於 於

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

將其匯入 將其匯入

(22)

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

(23)

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

(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”

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)

2.將欲分析的輸出 將欲分析的輸出 將欲分析的輸出 將欲分析的輸出 結果 結果

結果 結果Export 3.確定後 確定後 確定後 確定後,選擇 選擇 選擇 選擇“Export”

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

(40)

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

按滑鼠左鍵二下

按滑鼠左鍵二下

按滑鼠左鍵二下

按滑鼠左鍵二下,

以觀看其結果

以觀看其結果

以觀看其結果

以觀看其結果

參考文獻

相關文件

下列那一個保留字是

以下簡單介紹魔術三角形: 如圖 1, 若三角形每邊有 三個數且數字和都是定值, 稱為 3 階 (傳統) 魔術三角形; 如圖 2, 若每邊有三 個數且較大兩數和減最小數的差都是定值, 稱為

利潤指數 (PI) = 投資現值 (PV) / 投資成本 (IC)。..

sort 函式可將一組資料排序成遞增 (ascending order) 或 遞減順序 (descending order)。. 如果這組資料是一個行或列向量,整組資料會進行排序。

請舉出一個可以準確計算出根號值的數字。這類數字有什麼樣

「那麼國民黨和 共產黨是否志同 道合?有否合作 空間?」(學生 可就一己所知作 答,然後再細閱 工作紙的資料作

材料 C 可取代材料 B。該公司現有以每千克$20購入 的材料C 的存貨。 材料C

國際非政府組織「Girls Not Brides(女孩非新娘)」宣布統計資料,印尼已 經被列為世界上 10 個兒童新娘最多的國家之一,也就是在女孩未滿