Download presentation
Presentation is loading. Please wait.
Published by籴 裘 Modified 8年之前
1
2. 認知器 2.1 什麼是認知器 (Perceptrons)? 2.2 學習法則 (Learning algorithms) 2.3 轉移函數 2.4 範例
2
2.1 什麼是認知器 (Perceptrons)? 認知器的神經元數可 以是一個或數個。輸 入端也可以是一個至 數個。轉移函數為 hardlim 或 hardlims 。 n=W*P+b a=f(n)
3
2.1 什麼是認知器 (Perceptrons
4
Bipolar OR gate
5
2.2 學習法則 n=W*P+b a=hardlims(n) e = T – a ΔW= λ*e*P’; λ 為 0 至 1 的學習因子 Δb =λ*e; Wnew = Wold +ΔW; bnew = bold +Δb;
6
2.2 學習法則 Perceptron 除了輸入層外只有輸出層 ( 單層, 此處所指的層數係指含神經元的層次 ) ,故 功能有限。
7
2.2 學習法則 一條直 線可切 開成兩 塊區域, 稱之為 線性可 分離。
8
2.3 轉移函數 (Transfer Functions, TFs)
9
2.3 轉移函數 (Transfer Functions, TFs)
10
2.4 範例 認知器解 不了 XOR gate 問題, 因為它不 是線性可 分離。
11
2.4 範例
12
增加一個維 度 XOR 可以 用 Perceptron 解決
13
2.4 範例 [ 例題 2.4-2] 水果分類 (see sort_fruits.m) 這個例子是取自 Hagan 等三人所著 Neural Network Design 書中的例 子 (P.3-2) 。如果有一些感應器 (sensors) 可以掃描滚帶上經過的水果的 特徵 (Features) ,如 形狀 (Shape) , +1 代表圓的, -1 代表不太圓 感觸 (Texture) , +1 代表表皮平滑, -1 代表粗糙 重量 (weight) , +1 表示超過一磅重, -1 代表輕於一磅 [ 註: [1 2 3] 代表橫向量,那 (1 2 3) 代表縱向量 ] P_orange=(1 -1 -1) 指圓、粗、輕的水果,那就是橘子 ( 美國榴丁 ) 。 P_apple=(1 1 -1) 指圓、細滑、輕的水果,那就是蘋果。 P_banana=(-1 1 -1) 指不圓、細滑、輕的水果,那就是香蕉。 P_grape_fruit=(1 -1 1) 指圓、粗、超過一磅的水果,那就是葡萄柚。
14
2.4 範例 如果吾人用一具有三輸入、兩輸出之認知 器當做水果分類器,首先把分類定義清楚, 圖 2.4-2 為 3-2 Perceptron 示意圖: a1 -1 -1 1 1 a0 -1 1 -1 1 Class 1 2 3 4 水果名 橘 蘋果 香蕉 葡萄柚
15
2.4 範例 W=[w11 w12 w13 w21 w22 w23] b=[b1;b2;b3] P=[p1;p2;p3] a=hardlims(W*P+b)
16
2.4 範例 % sort_fruits.m % Sort 4 different fruits such as orange, apple, % banana and grape fruit. % Input vector (shape, texture, weight) % shape: 1=round, -1=not round % texture: 1=smooth, -1=coarse % weight: 1=over 1 pound, -1=under 1 pound % output code:(a1 a0) % (-1 -1) = orange % (-1 1) = apple % ( 1 -1) = banana % ( 1 1) = grape fruit % Written by PenChen Chou, 7-11-2002
17
2.4 範例 % Input and Target P=[ 1 1 -1 1 -1 1 1 -1 -1 -1 -1 1]; T=[-1 -1 1 1 -1 1 -1 1]; % Initial W and b W=[ 0 0 0 0 0 0]; b=[ 0 0]; % Call learn_p [FW Fb]=learn_p(P,T,W,b,1,0.2,1) % Check result A=hardlims(FW*P+Fb*ones(1,4)); E=T-A % Check unlearned input patterns P2=[-1 1 1]'; % Pinapple A2=hardlims(FW*P2+Fb)
18
2.4 範例 執行程式結果 >> sort_fruits FW = -0.8000 0 0.8000 0.4000 0.4000 0.4000 Fb = 0 -0.4000 E = % 分類完全正確 0 0 0 0 A2 = % 沒學過的鳳梨 (-1 1 1) 1 % 被分類成為葡萄柚,還不太離譜吧! 1
19
2.4 範例 [ 例題 2.4-3] 男女分類 (see sort_sex.m) 這個例子取自 Herve’ Abdi 等三人所著 Neural Networks, a Sage University Paper, 1999, P.14 。 把人依特徵分成 編碼 +1 -1 頭髮 長 短 眼睛 大 小 鼻子 小 大 嘴形 微笑 平常 耳朶 秀小 粗大 分類 女生 男生 圖 2.4-3 為特徵對照圖,圖 2.4-4 為男女生圖像範例。
20
2.4 範例
22
假設男女特徵向量共有六組,今以認知器做為人 的性別辨識,六組向量為 (+1 +1 +1 -1 -1) 女性 (+1 -1 +1 +1 +1) 女性 (-1 +1 -1 +1 +1) 女性 (-1 -1 +1 -1 -1) 男性 (-1 +1 -1 +1 -1) 男性 (+1 -1 +1 -1 -1) 男性 認知器的架構如圖 2.4-5 所示。
23
2.4 範例
24
sort_sex.m file 詳如下: % sort_sex.m % According to 5 features (hair, eyse, nose, mouth, ears) % of a person, a Perceptron is used to recognize whether % an input pattern is a male or a female. % Input pattern: (-1 -1 1 1 1) i.e., a female % Output class : +1 is a female, 0 is a male. % Written by PenChen Chou, 7-11-2002 % I/O patterns P=[ 1 1 1 -1 -1 1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1]' T=[1 1 1 0 0 0]
25
2.4 範例 % Initial W and b [S,R]=size(P); W=randn(1,S); b=randn; % Call [FW, Fb]=learn_p(P,T,W,b,1,0.3,0) % Check error A=hardlim(FW*P+Fb*ones(1,R)); E=T-A % Unlearned patterns P2=[1 1 1 -1 -1 1 -1 -1 -1 1]' T2=[0 1] A2=hardlim(FW*P2+Fb*ones(1,2))
26
2.4 範例 執行結果顯示: >> sort_sex P = 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 T = 1 1 1 0 0 0 FW = 1.2593 0.5044 -0.2323 0.2944 0.4638 Fb =0.1143 % Perceptron 分辨正確 E = 0 0 0 0 0 0 % 如果有沒學習過的特徵向量兩個,它是否能分辨? P2 = 1 1 1 -1 -1 -1 -1 1 T2 =1 0 % 應分類 A2 =1 1 % 結果第二個特徵向量應為女生,誤判為男生
27
2.4 範例 造成誤判的原因是因為沒有學習過這個輸 入。認知器的學習法則是只要對目前訓練 的所有輸入圖樣判別正確以後就不再修正 權重及偏壓,所以沒訓練過的輸入,認知 器不一定能判出正確的結果。 本例其實最佳的為 W=[1 1 1 1 1], b=0; 這 樣就不會對未學過輸入做出誤判 (Why? 讀者 可以想一想 ) 。
Similar presentations