類神經網路 在智慧型管理決策之應用 盧 坤 勇 1

Download Report

Transcript 類神經網路 在智慧型管理決策之應用 盧 坤 勇 1

類神經網路
在智慧型管理決策之應用
盧 坤 勇
1
第一部份
類神經網路介紹
壹、導論
貳、類神經網路架構
參、類神經網路演算法
肆、類神經網路之應用
2
壹、導論
一、類神經網路簡介
二、類神經網路之類型
三、類神經網路之運作
四、類神經網路之需求能力
3
一、類神經網路簡介
類神經網路之定義:
「類神經網路是一種由軟體和硬體所組成之計算系統,
使用許多相連的人工神經元來模仿生物神經網路。
透過人工神經元從外界環境或其它神經元取得所需
資訊,經過簡單的運算之後,將結果輸出到外界環
境或其它神經元,這些資訊可作進階使用。」
4
一、類神經網路簡介(續)
類神經網路之背景
‧早在1957年即有人提出此觀念
‧早期是一種感知機(perception)之型式
‧在1960年代中期即告沒落
‧在1980年代中期之後又再度流行
5
一、類神經網路簡介(續)
生物神經網路之組成元素
神經核(soma)
軸索(或稱神經軸)(axon)
樹突(或稱神經樹)(dendrites)
突觸(或稱神經節)(synapse)
6
一、類神經網路簡介(續)
生物神經元模型示意圖
神經樹
神經節
神經核
神經軸
7
一、類神經網路簡介(續)
人工神經元模型
輸入訊號
處理單元
淨值
連結加權值
轉換函數
閥值
X1
輸出訊號
X2
Wij
θj netj
f
Yj
Xn
8
一、類神經網路簡介(續)
人工神經元資訊處理模型
Y j  f ( Wij X i   j )
i
其中
Yj 表模仿生物神經元模型的輸出訊號
f 表模仿生物神經元模型之轉換函數(transfer function)
Wij 表模仿生物神經元模型之神經節強度,又稱為連結
加權值
Xi 表模仿生物神經元模型之輸入訊號
θj 表模仿生物神經元模型之閥值
9
一、類神經網路簡介(續)
類神經網路組成單元
輸入層:用來輸入外在環境之資訊
隱藏層(有些網路模型無此層) :
提供類神經網路表現處理單元間之交互作用,
以及所處理問題之內在結構能力
輸出層:用來輸出訊息給外在環境
10
一、類神經網路簡介(續)
倒傳遞類神經網路模型
輸入層
輸
入
向
量
隱藏層
輸出層
輸
出
向
量
11
二、類神經網路之類型
可綜合為四大類
‧監督式學習模型(Supervised learning network)
‧非監督式學習模型(Unsupervised learning network)
‧聯想式學習(Associated learning network)
‧最適化應用網路(Optimization application network)
12
二、類神經網路之類型(續)
監督式學習
從問題領域中取得所需之學習範例(必須有輸入
變數值和輸出變數值),透過範例之學習以取得
輸入變數與輸出變數之對應規則,再以此規則應
用於新案例之推論(只有輸入值,輸出值 則以推
論方式取得)。
13
二、類神經網路之類型(續)
監督式學習常用模型
感知機網路(Perception)
倒傳遞網路(Back-propagation Network,簡稱BPN)
機率神經網路(Probabilistic Neural Network,簡
稱PNN)
學習向量量化網路(Learning Vector Quantization,
簡稱LVQ)
反傳遞網路(Counter- propagation Network,簡稱
CPN)
14
二、類神經網路之類型(續)
非監督式學習
從問題領域中取得所需之學習範例(只有輸入變
數值),透過範例學習找出內在之聚類規則,再
以這個聚類規則應用於新的案例之分析。
15
二、類神經網路之類型(續)
非監督式學習常用模型
自組織映射網路(Self-Organization Map,簡
稱SOM)
自適應共振理論網路(Adaptive Resonance
theory Network,簡稱ART)
16
二、類神經網路之類型(續)
聯想式學習
從問題領域中取得所需之學習範例(狀態變數
值),透過學習範例導出內在記憶規則,再以
這個規則應用於新的案例之分析。
17
二、類神經網路之類型(續)
聯想式學習常用模型
霍普菲爾網路(Hopfield Neural Network,
簡稱HNN
雙向聯想記憶網路(Bi-directional
Associative Memory,簡稱BAM)
18
二、類神經網路之類型(續)
最適化應用網路
類神經網路除可應用於學習過程外,也可依問
題本質來決定其設計變數值, 在滿足設計之
限制條件下,使得所設計之目標可達於最佳狀
態。
19
二、類神經網路之類型(續)
最適化應用網路常用模型
霍普菲爾-坦克網路(Hopfield –Tank Neural
Network,簡稱HTN)
退火神經網路(Annealed Neural Network,
簡稱ANN)
20
三、類神經網路之運作
學習與訓練
類神經網路之運作方式乃模擬人類之學習過
程,事前透過學習以取得一些經驗法則,事
後則透過聯想方式,比對待解決問題與所記
憶之類型。
21
三、類神經網路之運作(續)
學習與回想型態
監督式:範例資料是由代表範例特徵輸入變數
向量和代表範例分類或預測目標值之輸出變數
共同組成。
非監督式:範例資料僅由代表範例特徵輸入變
數向量所組成。
22
三、類神經網路之運作(續)
學習與回想型態
聯想式:範例資料僅由代表範例特徵之狀態變
數向量所組成(變數同時具有輸入和輸出之特
性,是以迭代方式來決定變數值,故稱為狀態
變數)。
23
三、類神經網路之運作(續)
類神經網路運作過程
訓練範例
學習演算法
測試範例
回想演算法法
待推案例
回想演算法法
未學習
網路
已學習
網路
(調整加權值)
已學習
網路
已學習
網路
(確認精度)
已學習
網路
待推案
例
(輸出推論結果)
24
四、類神經網路之需求能力
優良的類神經網路應具備
高速計算能力
龐大的記憶容量
學習能力
容錯能力
25
貳、類神經網路架構
一、網路構成元素
二、處理單元
三、網路層的規劃
四、網路處理過程
五、網路設計綜合探討
26
一、網路構成元素
類神經網路之組成單元
處理單元(processing element)
層(layer)
網路(network)
27
一、網路構成元素(續)
處理單元(processing element)
為網路最基本單元,通常透過下列函數來
處理資料:
‧集成函數
‧作用函數
‧及轉換函數
28
一、網路構成元素(續)
層(layer)
由具有相同作用之若干個處理單元所組成,
作用特性可分成三類:
‧輸入層
‧輸出層
‧學習層
29
一、網路構成元素(續)
網路(network)
‧網路是由「層」集合而成
‧通常具有學習和回想兩種作用
30
二、處理單元
處理單元之類型
‧集成函數(summation function)
‧作用函數(activity function)
‧轉換函數(transfer function)
31
二、處理單元(續)
處理單元間作用關係示意圖
其它處理
單元輸出
網路
連結
W
X
Y
處理單元輸出
集成
函數
f1
轉換
函數
f3
作用
函數
I
集成函數值
f2
net
作用函數值
32
二、處理單元(續)
集成函數
集成函數之功能在於將從其它處理單元轉來之資訊加
以綜合,可用下式表示:
I  f (W , X )
常用的集成函數有下列型式:
‧加權乘積和 I j   Wij X i
i
‧歐式距離
I j   ( X i  Wij ) 2
i
33
二、處理單元(續)
作用函數
作用函數之功用在於將集成函數值與處理單元目前
之狀態加以綜合,函數型式如下:
net j  f ( I nj , I nj1 , net n1j )
常用的作用函數有三種型式:
n
n
‧直接使用集成函數之輸出 net j  I j
n
n
n 1
‧加入前次集成函數之輸出 net j  I j  c . I j
n
n
n 1
net

I

c
.
net
‧加入前次作用函數之輸出
j
j
j
34
二、處理單元(續)
轉換函數
轉換函數的功用是將作用函數之輸出值轉換成處理單
元之輸出值,函數型式為:
Y  f ( net j )
常用的轉換函數型式:
‧硬限函數
‥Perceptron函數(又稱為階梯函數step function)
Y j  1 如果 net j  0
 0 如果 net j  0
35
二、處理單元(續)
‥Hopfield函數
Y jn  1 如果 net j  0
 Y jn 1 如果 net j  0
 0 如果 net j  0
‥Signum函數
Y j  1 如果 net j  0
  1 如果 net j  0
36
二、處理單元(續)
‥Signum0函數
Y j  1 如果 net j  0
 0 如果 net j  0
  1 如果 net j  0
‥BAM函數
Y j  1 如果 net j  0
 Y jn 1 如果 net j  0
0
如果 net j  0
37
二、處理單元(續)
‧線性函數
‥門限型函數
Y j  net j 如果 net j  0
0
如果 net j  0
‥無門限型函數
Y j  net j
38
二、處理單元(續)
‧非線性函數
‥雙彎曲函數(Sigmoid function)
1
Yj 
net
1 e j
‥雙曲線正切函數(Hyperbolictangent function)
 net j
e e
Y j  net j net j
e e
net j
39
三、網路層的規劃
隨不同的網路模式而有不同的的作用形態,
常用的「層」作用有三種形式:
‧正規化輸出
‧競爭化輸出
‧競爭化學習
40
三、網路層的規劃(續)
正規化輸出
正規化輸出是將同一層中的處理單元之原始輸出
向量予以正規化,轉成單位長度向量後,才作
為層的輸出。
41
三、網路層的規劃(續)
競爭化輸出
競爭化輸出是從同一層中的處理單元之原始輸出
向量選擇若干個最強的處理單元,將其值設為1,
其餘值設為0,然後將結果作為層的輸出。
42
三、網路層的規劃(續)
競爭化學習
競爭化學習是從同一層中的處理單元之原始輸出
向量選擇若干個最強的處理單元(優勝單元),
網路只調整與優勝單元相連的下層網路連結。
43
四、網路處理過程
運作過程可分成兩個階段:
‧學習階段(Learning)
學習階段乃將適量的學習範例套入學習演算法,經
逐次的學習之後,調整網路連結之加權值。
44
四、網路處理過程(續)
‧回想階段(Recalling)
回想階段乃將適量的測試範例套入回想演算法內,
用來測試所建構之網路品質。
45
四、網路處理過程(續)
類神經網路學習演算法
從能量函數(Energy function)的觀點推導演算
法,能量函數可用來測度網路之學習效果,學習過
程則在於求得能量函數之最小化。
46
四、網路處理過程(續)
常見的學習演算法有三種型態:
‧監督式學習演算法
‧非監督式學習演算法
‧聯想式學習演算法
47
四、網路處理過程(續)
能量函數型式
監督式學習演算法
2
1
E   ( Tj  Yj )
2 j
非監督式學習演算法
1
E   ( X i  Wij ) 2
2 i
聯想式學習演算法
1
E    X i Wij X j
2 i j
48
四、網路處理過程(續)
學習過程
‧通常採用最陡坡降法來求取能量函數之最小化
‧結果通常會收斂於一個鄰近起始值之局部最小化
‧實務上需要用許多不同的起始值去搜尋總體最小值
‧學習之目的在於調整網路連結加權值
49
四、網路處理過程(續)
各種學習演算法之推導結果如下:
‧監督式學習演算法
‥差距法則(Delta Rule)
Wij   .  j . X
‥通用差距法則(General Delta Rule)
Wik   . 
k
. Xi
50
四、網路處理過程(續)
‧非監督式學習演算法
Wij    . ( X i  Wij )
‧自聯想式學習法
Wij   ( X ip . X jp )  Wijp
p
p
‧異聯想式學習法
Wij   ( X ip . Y jp )  Wijp
p
p
51
四、網路處理過程(續)
本節使用符號之意義
Wij  網路連結加權修正值
Wkj= 處理單元k的上層處理單元j之連結加權值
ij  學習速率,用於控制每次加權值改變量之幅度
 j  差距量,可作為修正加權值之依據
Xi = 連結輸入側之單元輸入值
52
四、網路處理過程(續)
本節使用符號之意義
Tj = 連結輸出側之單元目標輸出值
Yj = 連結輸出側之單元推論輸出值
= 第p個式樣(訓練範例特徵向量)前部第i個
Xi
p
元素質
= 第p個式樣(訓練範例特徵向量)後部第j個
Y jp 元素質
53
五、網路設計綜合探討
在規劃類神經網路時,不同的參數設計會得到不同
的運作效率。 重要影響參數為:
‧隱藏層之處理單元數
‧隱層層數
‧學習效率
54
五、網路設計綜合探討(續)
隱藏層之處理單元數
‧處理單元數越多,則網路收斂速度越慢,但是卻可
得到更小的誤差值
‧超過某個限度之後,對於訓練之誤差度之縮小就沒
有多大的助益
55
五、網路設計綜合探討(續)
隱藏層之處理單元數計算公式
輸入單元數  輸出單元數
單元數 
2
或是
單元數  輸入單元數 . 輸出單元數 
1/ 2
56
五、網路設計綜合探討(續)
隱層層數
‧隱藏層數目以一到兩層具有最好的收斂效果
‧太多或太少其收斂效果較差
‧簡單問題取一層即可,複雜問題則取兩層
57
五、網路設計綜合探討(續)
學習效率
‧學習速率會影響網路加權值之修正量
‧太大或太小對於網路之收斂效果均有不例之影響
‧依經驗值,學習速率可設定在0.5或0.1到1之間
58
參、類神經網路演算法
一、網路架構
二、網路演算法
三、評估網路學習效果
四、網路學習過程
五、網路回想過程
59
一、網路架構
以倒傳遞網路為例
倒傳遞網路是由輸入層、隱藏層、輸出層所構成,其
網路架構下圖所示。
輸入層
輸
入
向
量
隱藏層
輸出層
輸
出
向
量
60
一、網路架構(續)
輸入層
用來呈現網路之輸入變數,處理單元之個數
依實際問題而定,通常使用線性函數作為轉
換函數,亦即:f(x) = x。
61
一、網路架構(續)
隱藏層
用來呈現輸入處理單元間之交互作用,處理單元數
之設定並無一定準則可供參考,實務上通常是以試
驗方式來決定,轉換函數通常採用非線性函數。
網路架構可以沒有隱藏層之設計,也可以具有一層
以上之隱藏層。
62
一、網路架構(續)
輸出層
用來呈現網路之輸出變數,處理單元之個數依實
際問題而定,通常使用非線性函數作為轉換函數。
63
一、網路架構(續)
隱藏層與輸出層通常選用雙彎取函數作為轉換函數
f ( x) 
1,0
0,0
a.雙彎曲函數
1
1  ex
1,0
-1,0
b.雙曲線正切函數
64
二、網路演算法
倒傳遞神經網路之演算法,是透過訓練範例
之輸入向量X與目標輸出向量T來修正網路連
結加權值W,達到學習之目的。
演算法之推導過程如下四個步驟:
65
二、網路演算法(續)
1. 設Aj表第j個單元推論輸出值,Tj表第j個單元目標輸
出值,第n層之第j個輸出值與第n-1層單元輸出值之
關係可表示為:
Anj  f ( net nj )
其中 net nj 表集成函數,f表轉換函數,且
net nj   Wij Ain 1   j
i
66
二、網路演算法(續)
2.透過能量函數來降低網路輸出單元之目標輸出值與
推論輸出值之差距,
2
1
E   ( T j  Aj )
2 j
再以最陡坡降法求取能量函數之最小值
Wij    .
E
Wij
67
二、網路演算法(續)
3.透過微積分之連鎖率(chain rule),將 E / Wij
轉成下式
n
E  E   net j 


n 
Wij  net j   Wij 
及
n
n
E  E   A j   net j 
 n


Wij  A j   net nj   Wij 
68
二、網路演算法(續)
3-1 第n層即為最終層,相當於網路之輸出層
E

 n
n
A j A j
1
n 
n
(
T

A
)


(
T

A
k 
j
j )
2  k
 k

3-2 第n層不是最終層,而是網路之隱藏層之一
E
n 1



W jk

k
n
A j
k
69
二、網路演算法(續)
4. 總結
4-1 Wij介於輸出層與隱藏層間
  (T j  A ) . f (net )
n
j
n
j
'
n
j
4-2 Wij非介於輸出層與隱藏層間


n 1
'
n
    k . W jk  . f .(net j )
k

n
j
70
二、網路演算法(續)
倒傳遞演算法關鍵公式
Wij   .  jn . Ain1
如果所使用之轉換函數為雙彎曲函數形式,如下式:
則
1
f (net j ) 
net j
1 e
f ' (net j )  f (net j ) . 1  f (net j )
71
三、評估網路學習效果
‧學習過程通常需要邊學習邊檢驗學習效果
‧事前可將收集資料分成兩個部分,一半作為訓練範
例用,另一半作為測試用
‧訓練過程可在每學習幾個學習循環,即將測試範例
載入,以供檢視網路之誤差程度是否收斂
72
三、評估網路學習效果(續)
誤差程度之評估方式
‧誤差均方根法
M
N
p
j
p
p 2
(
T

Y
 j j )
M.N
‧總錯誤率
總錯誤率 
錯誤分類之範例總數
範例總數
73
四、網路學習過程
學習過程可分成八個步驟
1.設定網路參數:諸如網路種類、層樹、處理單元樹、
網路連結等。
2.使用均勻分配隨機亂數,產生加權值矩陣與閥值向
量初始值。
3.輸入一個訓練範例之輸入向量X,以及一個目標輸
出向量T。
74
四、網路學習過程(續)
4.計算推論輸出向量Y
5.計算差距量δ
6.計算加權值矩陣修正量,以及閥值向量修正量
7.更新加權值及閥值
8.重複步驟3到7,直到收斂為止。
75
五、網路回想過程
回想過程在於求取待求解問題之輸出向量值
可依下述四個步驟來進行
1.設定網路相關參數值。
2.讀入訓練過程所得之加權值矩陣及閥值。
3.輸入待求解問題之輸入向量X。
4.計算推論輸出向量Y
76
肆、類神經網路之應用
實例一:信用卡持卡者之信用判斷
實例二:從技術面預測證交所隔日收盤指數之
變化率
實例三:從技術面預測證交所隔日收盤指數之
變化
77
肆、類神經網路之應用(續)
實例四:從穩定液之成分及濃度來預估黏度
實例五:從取得之樣本值來診斷乳癌之良惡性
情形
實例六:依據施工條件及地層基礎選擇適合的
建築基樁型式
78
實例一
信用卡持卡者之信用判斷
說明:可利用歷史案例之關鍵變數,以類神經網路來判定信用
卡持卡者之信用狀態。
用途:金融診斷
實作:
1.輸入變數分類:小孩人數、職業、房屋數、每月收入、每月
支出、銀行帳戶數、持卡張數、前幾月付款情形。
2.輸出變數分類:以有序分類多神經元來表示可能發生問題、
有能力還款但會拖延及準時付款等三類。
3.分類模型:非模糊分類。
4.網路模式:倒傳遞網路。
5.網路架構:14 – 14 - 3。
79
實例二
從技術面預測證交所隔日收盤指數
之變化率
說明:利用歷史收盤指數變化情形,預估隔日收盤指數之變化。
用途:投資決策
實作:
1.輸入變數分類:以單神經元編碼方式,將前數日之開盤指數、
最高指數、最低指數、收盤指數、成交量列為輸入變數。
2.輸出變數分類:以實數之單神經元表示隔日收盤指數之變化率。
3.分類模型:時間數列型。
4.網路模式:倒傳遞網路。
5.網路架構:30 – 30 - 1。
80
實例三
從技術面預測證交所隔日收盤
指數之變化
說明:可利用歷史之收盤指數變化情形,預估隔日收盤指數
之變化。
用途:投資決策
實作:
1.輸入變數分類:以單神經元編碼方式,將前十日之收盤指
數列為輸入變數。
2.輸出變數分類:以實數值之單神經元表示隔日收盤指數。
3.分類模型:時間數列型。
4.網路模式:倒傳遞網路。
5.網路架構:10 – 10 - 1。
81
實例四
從穩定液之成分及濃度來預估黏度
說明:可利用投入之化學成分,預估成品之黏度。
用途:化學分析
實作:
1.輸入變數分類:將高分子濃度、分散劑濃度及皂土濃度以
單神經元方式編碼。
2.輸出變數分類:以實數值之單神經元表示漏斗之黏滯度。
3.分類模型:非時間數列型。
4.網路模式:倒傳遞網路。
5.網路架構:3 - 3 - 1。
82
實例五
從取得之樣本值來診斷是否罹患乳癌
說明:可利用取得之樣本值來診斷乳癌之良惡性情形。
用途:醫學診斷
實作:
1.輸入變數分類:以模糊邏輯變數單神經元編碼方式,將下列
因素列為輸入變數,
clump-thickness,
cell-size-uniformity
cell-shape—uniformity,
marginal-adhesion,
single-epithelial-cell-size, bare-nuclei,
bland-chromatin,
normal-nucleoli,
mitosis,
83
實例五
(續 )
1.輸出變數分類:以邏輯變數單神經元表示乳癌是否為惡
性(0=偽, 1=真)。
2.分類模型:非模糊分類型。
3.網路模式:倒傳遞網路。
4.網路架構:9 – 9 - 1。
84
實例六
依據施工條件及地層基礎選擇適
合的建築基樁型式
說明:利用給定之施工條件及地質基礎資料,選定合適的基樁
形式。
用途:工程決策
實作:
1.輸入變數分類:以單神經元編碼方式,將上部結構、土層型
態、鄰近結構、噪音管制、施工空間、基礎形式、工期要求、
地下水位、交通狀況、貫入能力、含大礫石及土壤種類等十
二項因素列為輸入變數。
85
實例六
(續)
2.輸出變數分類:以無序分類多神經元編碼方式,將基樁型式
分成八類:
展式基腳、H-鋼樁、場鑄混凝土樁、預鑄混凝土樁、乾孔無
套管鑽掘式基樁、穩定液套管鑽掘式基樁、穩定液無套管鑽
掘式基樁及鋼管樁。
3.分類模型:非模糊分類模型。
4.網路模式:倒傳遞網路。
5.網路架構:12 – 12 - 8。
86
伍、未來發展 與限制
一、待突破之問題點
二、未來發展方向
87
一、待突破之問題點
‧大型化的問題
‧可靠度方面的問題
‧欠缺智慧型的決策能力
‧欠缺高等智慧能力
88
二、未來發展方向
‧擬生物神經網路之研究
‧基本理論之研究
‧電腦硬體架構之配合
‧網路模式之改良與創新
‧新的應用開發
89