-Artificial Neural Network-
Matlab操作介紹
-以類神經網路BPN Model為例
朝陽科技大學
資訊管理系
李麗華 教授
資料準備說明
•要訓練ANN前應先依解決的議題,準備好四組檔案
training data 檔, Training data的Target 檔, Test data 檔, Test 的Target檔.
•每一筆資料都須轉置成column型式(直式) 再匯入matlab.
以下先介紹資料轉置的範例說明.
1.Input Pattern設計
2.Input Pattern轉換
3.Target Pattern設計
4.Test Pattern設定
1.以數字辨識為例Pattern的設計
1, 2, 3
4, 5, 6
7, 8, 9
0
以 以 以
以 Word 進行設計 進行設計 進行設計 進行設計 將 將 將
將 10 個 個 個 個 patterns
做好並轉換 做好並轉換 做好並轉換 做好並轉換
2. Pattern轉換(續)
2. Pattern轉換 (續)
•將每一
個pattern
表格選取
後,將表格
去除,並轉
成文字形
Pattern轉換 (續)
去除表格
去除表格
去除表格
去除表格
Pattern轉換 (續)
去除表格
去除表格
去除表格
去除表格
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
Pattern轉換 (續)
所以 所以 所以
所以 10 個數字 個數字 個數字 個數字 pattern 就產生 就產生 就產生 就產生 10 列資料 列資料 列資料 列資料 ( 每一橫 每一橫 每一橫 每一橫 列為一筆
列為一筆 列為一筆
列為一筆 training data )
Pattern轉換 (續)
• 因matlab讀入資料是以直式(column by column) 讀取, 所以須將每一筆data pattern轉為直式 直式 直式 直式
– 方法一 ( 以 Excel 為工具 )
• 將先前的10列資料,先行存成文字檔(*.txt)
• 再利用Excel, 開啟該文字檔
• 利用複製轉貼成直式
• 存成文字檔並命名為 trainset.txt
– 方法二 ( 以 Matlab 為工具 )
• 直接利用matlab工具,採用匯入方式 匯入方式 匯入方式轉換data pattern 匯入方式
• 於Matlab的命令列中, 輸入 檔名‘ 即可進行轉換, 例如:欲匯入一個train pattern,其檔名為trainset.txt
, 則在Matlab上輸入 trainset’
Pattern轉換成直式-用Excel
複製並選擇性貼上 複製並選擇性貼上 複製並選擇性貼上 複製並選擇性貼上
< 方法一 方法一 方法一 方法一 >
< 方法一 方法一 方法一 方法一 >
Pattern轉換成直式-用Excel
< 方法一 方法一 方法一 方法一 >
Pattern轉換成直式-用Excel
< 方法一 方法一 方法一 方法一 >
Pattern轉換成直式-用Excel
資料
已轉
成直
式
存成文字 存成文字 存成文字 存成文字 檔並用 檔並用 檔並用 檔並用
tab 格式 格式 格式 格式
< 方法一 方法一 方法一 方法一 >
Pattern轉換成直式-用Excel
1. 先利用File功能, 將training pattern
檔,匯入Matlab中 2. 再輸入此命令,
以便轉換pattern
Pattern轉換 (續) < 方法二 方法二 方法二 方法二 >
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
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
. . .
。
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來檢驗網路的成效 來檢驗網路的成效 來檢驗網路的成效 來檢驗網路的成效. .. .
Matlab操作(1) – 先 匯入所需資料
匯入所需資料 匯入所需資料 匯入所需資料 匯入所需資料:
1.Training data 2.Target data