bài giảng Điều khiển mờ và neural

50
Phần I Bài giảng Điều Khiển Mờ GS-TS Nguyễn Trọng Thuần C9- phòng 104- B/m TĐH -------------------- Bài 1 : Tập Mờ ( 10 h) &1- Khái niệm chung . 1- Logic rõ và sự xuất hiện Logic mờ . 2- Lịch sử phát triển và khả năng ứng dụng . &2- Một số vấn đề cơ sở toán học của tập mờ . 1- Khái niệm về tập rõ . Tập A , B , C , ..... ; Tập cơ sở E , A E , Ví dụ E:= {190 , 200 , 210 , 220 , 230 , 240 , 250 } ; (1) A:= {210, 220, 230 } ; (2) B:= { 200 , 210 , 220 , 240 , 250 }; (3) Hàm chỉ thị I A (x) = {1 khi x E ; (4) 0 khi x E Như vậy có thể viết : A: = {190/0, 200/0, 210/1 , 220/1 ,230/1, 240/0, 250/0 } ; (5) B:= { 190/0, 200/1 , 210/1 , 220/1 , 230/0, 240/1 , 250/1 }; (6) 2- Định nghĩa A:= {x/I A (x)} với mọi x thuộc E , I A (x) chỉ lấy giá trị 0 hoặc 1; (7) 3- Phép toán : Giao , Hợp , Bù cho tập rõ . + Hợp : A(x)VB(x) = C(x) thì : I AvB = I c với x hoặc thuộc A hoặc thuộc B (với mọi x thuộc E) Ic = Max (I A, I B ) với mọi x E . + Giao : A(x) Λ B(x) = C(x) thì : I A Λ B = I c với x vừa thuộc A vừa thuộc B (với mọi x thuộc E) Ic = Min (I A, I B ) với mọi x E

Upload: le-xuan-thang

Post on 14-Aug-2015

289 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bài giảng Điều Khiển Mờ và Neural

Phần I Bài giảng Điều Khiển Mờ

GS-TS Nguyễn Trọng Thuần C9- phòng 104- B/m TĐH --------------------

Bài 1 : Tập Mờ ( 10 h)&1- Khái niệm chung .

1- Logic rõ và sự xuất hiện Logic mờ .2- Lịch sử phát triển và khả năng ứng dụng .

&2- Một số vấn đề cơ sở toán học của tập mờ .1- Khái niệm về tập rõ .Tập A , B , C , ..... ; Tập cơ sở E , A E ,Ví dụ E:= {190 , 200 , 210 , 220 , 230 , 240 , 250 } ; (1) A:= {210, 220, 230 } ; (2) B:= { 200 , 210 , 220 , 240 , 250 }; (3)Hàm chỉ thị IA(x) = {1 khi x E ; (4) 0 khi x E

Như vậy có thể viết :A: = {190/0, 200/0, 210/1 , 220/1 ,230/1, 240/0, 250/0 } ; (5)

B:= { 190/0, 200/1 , 210/1 , 220/1 , 230/0, 240/1 , 250/1 }; (6)2- Định nghĩa A:= {x/IA(x)} với mọi x thuộc E , IA(x) chỉ lấy giá trị 0 hoặc 1; (7)

3- Phép toán : Giao , Hợp , Bù cho tập rõ .+ Hợp : A(x)VB(x) = C(x) thì : IAvB = Ic với x hoặc thuộc A hoặc thuộc B (với mọi x thuộc E) Ic = Max (IA,IB) với mọi x E .+ Giao : A(x) Λ B(x) = C(x) thì : IA Λ B = Ic với x vừa thuộc A vừa thuộc B (với mọi x thuộc E)

Ic = Min (IA,IB) với mọi x E+ Bổ sung (Bù) : Gọi /A là tập bổ sung của A khi x thuộc A thì x không thuộc /A và x không thuộc A thì x thuộc /A (với mọi x thuộc E)

I/A = 1- IA với mọi x thuộc E.Định lý De Morgan cho tập rõ .

&3- Tập con mờ .1- Đặt vấn đề .

E:= {190 , 200 , 210 , 220 , 230 , 240 , 250 }A: = {190/0, 200/0, 210/1 , 220/1 ,230/1,240/0 ,250/0} ;

Gỉa thiết quan hệ của phần tử x với tập hợp A không chỉ lấy 2 giá trị (0,1) mà lại có nhiều giá trị khác trong khoảng (0 ... 1) và như vậy quan hệ này ta gọi là liên thuộc . Với mức độ liên thuộc khác nhau , tùy theo sự vật và hiện tượng, ta có thể viết lại quan hệ (4),(5) như (7),(8)

Am:={190/0 ,200/0.5, 210/0.9 , 220/1 ,230/0.8, 240/0.6, 250/0.4 } ; (8)Bm:= {190/0.1,200/0.5 ,210/1 , 220/1 ,230/0.7, 240/0.4 , 250/0.3 }; (9)

2- Định nghĩa Hàm liên thuộc , tập con mờĐịnh nghĩa :- Hàm liên thuộc : μA(x) = (0,...,1) với mọi x thuộc tập cơ sở E ; (10)

Page 2: Bài giảng Điều Khiển Mờ và Neural

- Tập mờ : Am := {x/μA(x) } với mọi x thuộc E , μA(x) = (0,...,1) ; (11)Như vậy μA(x) đã ánh xạ mỗi một phần tử x thuộc tập cơ sở E thành một giá trị liên thuộc

liên tục trong khoảng từ 0-1 thuộc tập A . Hàm liên thuộc đã “mềm hóa” và “linh hoạt hóa” một tập hợp . Tùy theo quan niệm và ngữ cảnh mà con người có thể lựa chọn các hàm và giá trị μA(x) cụ thể để diễn đạt mức độ liên thuộc-“mức độ mờ”, nếu μA(x) = IA(x) thì tập mờ A trở thành tập rõ A .

- Một số biểu diễn toán học về hàm liên thuộc .3- Một số hàm liên thuộc thường dùng .

- Hàm liên thuộc tuyến tính ( Tam giác , Hình thang )- Các hàm liên thuộc phi tuyến(Gaus , Chuông , Sigmoid ,... )

4- Phép toán trên tập mờ : - Giao , Hợp , Bù .

Cho E là tập nền ; E:= {190 , 200 , 210 , 220 , 230 , 240 , 250 }Am , Bm là các tập con mờ thuộc E như sau :Am:={190/0 ,200/0.5, 210/0.9 , 220/1 ,230/0.8, 240/0.6, 250/0.4 } ; (7)Bm:= {190/0.1,200/0.5 ,210/1 , 220/1 ,230/0.7, 240/0.4 , 250/0.3 }; (8)+ Phép hợp mờ :

Am V Bm = Cm := {x/μcm} = {[x/μAm V Bm], x E }Với μcm = μAmV Bm = Max [ μAm ,μ Bm] , x E

+ Phép giao mờ :Am Λ Bm = Cm := {x/μcm} = {[x/μAm Λ Bm], x E } Với μcm = μAm Λ Bm = Min[ μAm ,μ Bm] , x E

+ Phép bù mờ (Bổ sung mờ): Cho Am , gọi /Am là bù mờ của Am là : /Am :{(x/ /μAm ) ; x E}

Với μ/Am =1- μAm

- Định lý De Morgan cho tập mờ .5- Biến mờ , hàm biến mờ , biến ngôn ngữ

- Biến mờ (fuzzy variable) :Biến mờ được đăc trưng bởi bộ 3 yếu tố : X, U , R(x) , trong đó X là tên của biến, U là tập nền , R(X) là tập con mờ của U . Ví dụ X= “tuổi già” với U là tập tuổi già của con người với U ={10, 20,.....,80,100} và R(X) = {20/0.1, 30/0.2, 40/0.4, 50/0.5,60/0.8, 70/1, 80/0.7 , 100/0.2} .

Như vậy :Nếu có Am :={x/μA(x)}, Bm :={x/μB(x)}, ... , với tập nền E ,đặt μA(x)= am , μB(x)}= bm ,... thì a ,b , ... gọi là các biến mờ với giá trị am ,bm, ... = [0,1]

- Hàm biến mờ : f(am ,bm , .... ) = [0,1] với mọi x thuộc E .Các phép toán :

Các tập con Các phép toán

AmΛBm am.bm

AmV Bm am + bm

/Am 1 -am

Thực hiện các phép : Giao hoán , kết hợp , phân phối Định lý De Morgan :Lưu ý : Rõ a/a = 0 và a +/a =1

Mờ am./am ≠ 0 (chỉ bằng 0 khi am=0,1), am + /am ≠ 1(chỉ bằng 1 khi am=0,1) - Biến ngôn ngữ (Linguistic variable) : Biểu diễn các khái niệm ngôn ngữ , các đo

lường ngôn ngữ thành các biểu thức toán học . Biến ngôn ngữ là một khái niệm quan trọng trong logic mờ , suy luận xấp xỉ

(approximate reasoning) và đóng vai trò chính trong các ứng dụng về mờ , đặc biệt trong lĩnh vực điều khiển và hệ chuyên gia .

Biến ngôn ngữ là môt biến mà giá trị của nó là từ ngữ hay câu .

Page 3: Bài giảng Điều Khiển Mờ và Neural

Khái niệm về biến ngôn ngữ do Zadeh đề xuất để tạo ra ý nghĩa cho các đặc trưng xấp xỉ của một hiện tượng quá phưc tạp hoăc là được xác định sơ sài (too ill-defined) mà ta phải dựa theo đó (amenable) để mô tả ở dang lượng hóa .

Biến ngôn ngữ được đặc trưng bằng bộ 5: (x ,T(x), U ,G,M , trong đó X là tên của biến , T(x) là tập các tên của biến (giá trị ngôn ngữ) , U là tập nền, G là qui tắc cú pháp (syntactic) để tạo thành tên của giá trị của x ,M là luật ngôn ngữ (semantic) để kết hợp các giá trị của x .

Ví dụ :Cho biến ngôn ngữ là Tốc độ , lúc đó :x = “ Tốc độ” , U = [0 ,100 ] – các giá trị tốc độ từ 0 – 100km/hT(x) = ( Rất chậm , Chậm , Vừa, Nhanh , ... )

Qui tắc cú pháp G là cách gọi tên các phần tử của tập T(x) , ở đây gọi theo trực quan (intuitive) .

Qui tắc ngôn ngữ (Semantic) M là các định nghĩa :M(chậm) = Tập mờ cho tốc độ chậm khoảng 30km/h với hàm liên thuộc μch .M (nhanh)= Tập mờ cho tốc độ nhanh khoảng 70km/h với hàm liên thuộc μnh

Ta có thể biểu diễn biến “Tốc độ” như Hình .1Ví dụ khác : gọi x là biến ngôn ngữ chỉ chiều cao ngừời Việt Nam, ta có thể mô tả biến x

với các giá trị như Hình 5.16 ( Trang 146)

Câu hỏi ôn tập :1) Nêu các khái niệm chung về : Rõ và Mờ2) Khái niệm về Tập hợp Rõ và Tập hợp mờ 3) Trình bày hàm chỉ thị , hàm liên thuộc .4) Định nghĩa tập rõ (tập con) và tập mờ (tập con).5) Trình bày các hàm liên thuộc phổ dụng .6) Các phép toán và Định lý De Morgan trên tập Rõ và tập mờ .7) Trình bày các khái niệm về Biến mờ , Hàm biến mờ , Biến ngôn ngữ .8) Làm bài tập số 3 trang 160 ( TL – Điều khiển logic và ứng dụng)

---------------------------------------------------- Bài giảng 2 : LOGIC MỜGS-TS Nguyễn Trọng Thuần

&1- Đặt vấn đề .Logic là gì ? Logic theo ý nghĩa thông thường chính là tập các qui tắc tư duy

có tính hệ thống ,chính xác , chặt chẽ , chắc chắn và luôn luôn phù hợp với thực tế khách quan . Để diễn đạt khái niệm logic có thể dùng các công cụ toán học , chẳng hạn như tập rõ để có hệ logic rõ (0,1 – trong đó có đại số logic ) và hiển nhiên có thể xuất phát từ tập mờ để xây dựng nên logic mờ . Khi xây dựng một hệ logic hay một hệ mô tả toán học ta phải dùng các tiên đề ( chẳng hạn như tiên đề cho hình học phẳng , tiên đề cho biến logic rõ : 0,1 , v.v... ) . Khi đã có hệ thống tiên đề cụ thể thì mọi mệnh đề xây dựng tiếp theo đều phải tuân theo một cách nghiêm ngặt các qui tắc được suy diễn từ hệ thống tiên đề mà không được gặp mâu thuẩn . Như vậy , rất tự nhiên , ta xây dựng hệ logic mờ dựa trên cơ sở về tập mờ (tập con mờ - phép toán cho tập mờ , biến mờ , biến ngôn ngữ ) . Rõ ràng rằng khái niệm mờ không làm mờ đi các khái niệm đã rõ, mà ngược lại nó làm rõ ra các hiện tượng đang bị mờ .

Lấy ví dụ : Chuyện « Tấm-Cám » ‘Vàng ảnh vàng anh, có phải vợ anh – chui vào tay áo’ – Theo khái niệm logic , ta

diễn đạt ý của mệnh đề trên như thế nào .Gọi P1 là mệnh đề thuộc về chim Hoàng Anh , P2 là mệnh đề thuộc về lớp chim

chui vào tay áo hoàng tử . Như vậy , để mệnh đề trên (gọi là p) là đúng thì :

Page 4: Bài giảng Điều Khiển Mờ và Neural

P = P1 Λ P2 , Tập E là tập gồm các loài chim.Với P1 :A :={ Bồ câu , sẻ , Vàng Anh , Sáo sậu , Vịt trời }Với P2 : B :={ Bồ câu , sẻ , Vàng Anh , Sáo sậu , chiền chiện ,Vịt trời }Rõ P = P1 Λ P2 ; C = A Λ BMờ P = P1 Λ P2 ; Cm = Am Λ Bm

Qua ví dụ về : suy luận theo Logic rõ ta thấy mệnh đề P là chỉ đúng cho chim Vàng Anh , nhưng theo Logic mờ thì mệnh đề P cũng thể hiện chim Vàng anh là có ưu thế nhất , nhưng cũng có khả năng cho các loài chim khác . Sự đời là như vậy!

&2- Mệnh đề tương đương , mệnh đề kéo theo .1- Khái niệm .Tương đương (Chấp nhận) Kéo theo (Chấp nhận)

P q p ≡ q p q p → qSai Sai Đúng Sai sai ĐúngSai Đúng Sai Sai Đúng ĐúngĐúng Sai Sai Đúng Sai SaiĐúng Đúng Đúng Đúng Đúng Đúng

Với hai : Mệnh đề p kết với tập A , mệnh đề q kết với tập B và mệnh đề kết với A≡B sẽ thỏa mãn luật tương đương p ≡ q với thuật toán Logic tương đương : ( AV B¯ )Λ(A¯ V B)

Với hai :Mệnh đề p kết với tập A , mệnh đề q kết với tập B và mệnh đề kết với A → B sẽ thỏa mãn luật kéo theo p → q với thuật toán Logic kéo theo : ( A¯ V B)

Khi Xem p là mệnh đề điều kiện , còn q là kết quả thì p → q tương đương với suy luận “ Nếu ... Thì ”

Như vậy trong kỹ thuật điều khiển , Mệnh đề p → q với p là điều kiện và q là kết quả sẽ hoàn toàn tương ứng với luật điều khiển “Nếu .... Thì ”

Nếu x là A Thì y là B . ( Nếu x thuộc A Thì y thuộc B ) 2- Ví dụ  : Xét 2 tập : A, B :

A = {x1,x2,x3,x4,x5,x6,x7} , B={y1,y2 ,y3 ,y4,y5,y6} ;(m - x và n- y) Khi quan hệ giữa hai tập A và B là quan hệ Rõ theo luật R dưới đây :

R y1 y2 y3 y4 y5 y6x1 0 1 0 0 0 0x2 0 0 0 0 0 1x3 1 0 0 0 0 0x4 0 1 0 0 0 0x5 0 0 1 0 0 0x6 0 0 0 0 1 0x7 0 0 1 0 0 0

Nếu x = x1 thuộc A Thì y = y2 thuộc BNếu x = x2 Thì y = y6Nếu x = x3 Thì y = y1Nếu x = x4 Thì y = y2Nếu x = x5 Thì y = y3Nếu x = x6 Thì y = y5Nếu x = x7 Thì y = y3

Page 5: Bài giảng Điều Khiển Mờ và Neural

Khi quan hệ giữa hai tập A, B là quan hệ mờ như Rm dưới đây:Rm y1 y2 y3 y4 y5 y6x1 0.8 1 0.3 1 0.9 0.9x2 0.2 0.9 1 0 0.6 1x3 0.3 0.8 0.9 1 0.8 0x4 0.5 0 1 1 0.8 0.9x5 1 0.2 0.9 0.6 0 0.5x6 0.6 0.8 1 1 0.8 1x7 0.1 1 0 0.9 0.3 1

Nếu x=xi thuộc A Thì B : ={y1/xi,y2/xi , .... ym/xi} ; (i=1...m , y1 ... yn ) Nếu x=x1 Thì B : ={y1/0.8,y2/1 ,y3/0.3, y4/1,y5/0.9, y6/0.9} ;

Nếu x=x2 Thì B : ={y1/0.2,y2/0.9 ,y3/1, y4/0,y5/0.6, y6/1} ;........................

Nếu x=x7 Thì B : ={y1/0.1,y2/1 ,y3/0, y4/0.9,y5/0.3, y6/1} ;Nếu cho A là A’ là tập con của A có dạng :

A’ : = {(x1/0.2), (x2/0.3), (x3/0.5),(x4/1),(x5/0),(x6/0),(x7/0.8)} , Thì theo định nghĩa mệnh đề kéo theo mờ (p → q) được hiểu là :

Nếu x là A Thì y là B được xác định là : μB(yj ) = Max [Min {μA(xi ), μB(yj /xi )}] ; γ x Є A và (i=1...m , j =1…n )

Như vậy ta tính được :μB(y1) = Max[ min(0.2,0.8),min(0.3/0.2),min(0.5,0.3),min(1/0.5),min(0/1),min(0/0.6),min(0.8/0.1)]

μB(y1) = Max [ 0.2 , 0.2 , 0.3 , 0.5 , 0 , 0 , 0.1) = 0.5μB(y2) = Max[ min(0.2,1),min(0.3/0.9),min(0.5,0.8),min(1/0),min(0/0.2),min(0/0.8),min(0.8/1)]

μB(y2) = Max [0.2 , 0.3 , 0.5 ,0 , 0 , 0 , 0.8] = 0.8μB(y3) = Max[ min(0.2,0.3),min(0.3/1),min(0.5,0.9),min(1/1),min(0/0.9),min(0/1),min(0.8/0)]

μB(y3) = 1 μB(y4) = 1,μB(y5) = 0.8 ,μB(y6) = 0.9 ; Phép lấy Max- Min tương ứng với phép nhân ma trận :

x1,x2,x3,x4,x5,x6,x7 y1, y2 , y3 , y4, y5 , y6.2 , .3 ,.5, 1, 0 , 0 , .8 .5 ,.8, 1 , 1 , .8 , .9

Rm y1 y2 y3 y4 y5 y6x1 0.8 1 0.3 1 0.9 0.9x2 0.2 0.9 1 0 0.6 1x3 0.3 0.8 0.9 1 0.8 0x4 0.5 0 1 1 0.8 0.9x5 1 0.2 0.9 0.6 0 0.5x6 0.6 0.8 1 1 0.8 1x7 0.1 1 0 0.9 0.3 1

Nhìn quan hệ kiểu nhân ma trận yj = x1i*Rm ij (bằng phép thay lấy tích số bằng phép lấy MIN và tổng bằng phép lấy Max ở trên ) , ta thấy : Nếu : A’ = {(x1/0.2), (x2/0.3), (x3/0.5),(x4/1),(x5/0),(x6/0),(x7/0.8)} ; Thì : B’ = {(y1/0.5), (y2/0.8), (y3/1),(y4/1),(y5/0.8),(y6/0.9)} ; Ma trận trên cũng đúng cho trường hợp rõ : Nếu A’ = {(x1/0), (x2/0), (x3/0),(x4/1),(x5/0),(x6/0),(x7/0)} , Thì : B’ = {(y1/0), (y2/1), (y3/0),(y4/0),(y5/0),(y6/0)} = y2  ;

Nếu A là x4 Thì B là y2

Page 6: Bài giảng Điều Khiển Mờ và Neural

x1,x2,x3,x4,x5,x6,x7 y1, y2 , y3 , y4, y5 , y60 , 0 , 0 , 1, 0 , 0 , 0 0 , 1, 0 , 0 , 0 , 0

R y1 y2 y3 y4 y5 y6 x1 0.8 1 0.3 1 0.9 0.9x2 0.2 0.9 1 0 0.6 1x3 0.3 0.8 0.9 1 0.8 0x4 0.5 0 1 1 0.8 0.9x5 1 0.2 0.9 0.6 0 0.5x6 0.6 0.8 1 1 0.8 1x7 0.1 1 0 0.9 0.3 1

Rõ ràng khi x= x4 thì y= y2

&3- Suy luận mờ và Luật hợp thành.1- Khái niệm cơ sở .Suy luận mờ hay suy luận xấp xỉ (fuzzy reasoning or

approximate reasoning)là thủ tục suy luận để suy ra kết quả từ tập các qui tắc: Nếu ---Thì theo một hay nhiều điều kiện .

2-Thủ tục suy luận mờ .- Khái niệm trực quan hình học y=f(x) và ym=f(xm) (Vẽ hình !) - Bây giờ ta có các tập Am := {x/µAm(x)} , qui tắc Rm và kết quả là

Bm := {x/µBm(y)} , như vậy : µBm(y)} = Max[min {µA(x),µRm(y/x)}] ;Dạng như là B = A*R ;

- Thủ tục suy luận theo qui tắc ‘Nếu--- Thì’ :Lấy ví dụ : ‘Nếu cà chua đỏ thì cà chua chín’ Gán A là tập cà chua Đỏ , còn B là tập cà chua Chín thì :Mệnh đề 1 (thực tế) : x là AMệnh đề 2 (qui tắc) : Nếu x là A thì y là B

Hệ quả : y là B Thức tế thì khai thác ở khía canh : Nếu cà chua ít Đỏ Thì cà chua ít Chín , nghĩa là :

Mệnh đề 1 ( thực tế ) : x là A’Mệnh đề 2 (qui tắc) : Nếu x là A Thì y là B Hệ quả : y là B’

3- Suy luận mờ với luật hợp thành Max- Min .Cho Am,A’m và Bm cùng thuộc tập nền X và Y . Giả thiết luật kéo theo Am→Bm

được thể hiện như một quan hệ Rm trên XxY ,thì từ x là A’ với luật x là A Thì y là B thì sẽ có y là B’ cho bởi :

µB’m(y)= Max[min {µA’(x),µRm(x,y)}] ;

- Trường hợp một qui tắc một điều kiện : Nếu x là A Thì Y là B .Mệnh đề 1 (thực tế) : x là A’Mệnh đề 2 (qui tắc kéo theo) : x là A Thì y là BHệ quả: y là B’

µB’m(y) = Max[min {µA’(x),µRm(x,y)}]= Max[{µA’(x)Λ µA(x)} ΛµB(y)] = Max[min {µA’(x)Λ µA(x)}= H

Cho nên : µB’m(y) = {H ΛµB(y)} 

Page 7: Bài giảng Điều Khiển Mờ và Neural

(vẽ hình !)- Trường hợp một qui tắc với nhiều điều kiện .

« Nếu x là A và y là B thì z là C »Các mệnh đề là :Mệnh đề 1 (thực tế ) :Nếu x là A’ và y là B’Mệnh đề 2(qui tắc) : Nếu x là Ai và y là Bi thì z là Ci Hệ quả (Kết luận ) : Z là C’

- Trường hợp nhiều qui tắc nhiều điều kiện .4- Ma trận hợp thành .

Theo luật ‘Nếu ….. Thì’ và có thể hợp thành theo kiểu Max-Min hay Max-prod , ta có thể phát biểu : Nếu x thuộc A Thì y thuộc B và quan hệ này được thể hiện ở sơ đồ khối như Hình dưới : A := {x/µA(x)} B := {x/µB(x)}

Một cách suy luận tự nhiên , ta viết được :A* R = B

Trong đó R là : Ma trận quan hệ giữa A và B .Ở Logic rõ thì R là quan hệ rõ , còn ở Logic mờ là quan hệ mờ , dấu ‘* ’ để chỉ

tác động của A vào R để tạo thành B .Ở đây ta chỉ xét đơn giản :quan hệ mờ R với một điều kiện : x là A Thì y là B .Về nguyên tắc : Khi cho biết A và quan hệ R thì ta xác định được B , ở đây ta giả

thiết :cho biết A và B hãy xác định quan hệ R .Xét qua một ví dụ cụ thể :Để điều khiển tốc độ xe máy , ta có thể dùng luật : Nếu tốc độ Chậm xuống Thì ta

Tăng tay ga lên ( Tốc độ chậm thì tăng ga – để tốc độ nhanh lên ) , quan hệ này cho bởi hàm liên thuộc như hình dưới :

µA µB

Chậm Tăng

x yGiả thiết : A := (x1/a1 ; x2/a2 ; x3/a3 ; x4/a4 ; x5/a5 ) Thì B := (y1/b1 ;y2/b2 ; y3/b3 ) .Với qua hệ A* R = B , theo luật hợp thành mờ Max – Min , ta có :

µR (x1 ,y1 ) = Min (µA (x1),µB (y1 )) = Min (a1 ,b1) ;µR (x1 ,y2) = Min (µA (x1) µB(y2 )) = Min (a1 ,b2) ;µR (x1 ,y3) = Min (µA (x1) µB(y3 )) = Min (a1 ,b3) ;

µR (x2 ,y1) = Min (µA (x2) µB(y1)) = Min (a2 ,b1) ;µR (x2 ,y2) = Min (µA (x2) µB(y2 )) = Min (a2 ,b2) ;µR (x2 ,y3) = Min (µA (x2) µB(y3 )) = Min (a2 ,b3) ;

………………………………………………….µR (x5 ,y1) = Min (µA (x5) µB(y1 )) = Min (a5 ,b1) ;µR (x5 ,y2) = Min (µA (x5) µB(y2 )) = Min (a5 ,b2) ;µR (x5,y3) = Min (µA (x5) µB(y3)) = Min (a5 ,b3) ;

Page 8: Bài giảng Điều Khiển Mờ và Neural

Ta có thể diễn đạt quan hệ trên bằng ma trận R như dưới đây :R Y1 Y2 Y3X1 (a1,b1) (a1,b2) (a1,b3)X2 (a2,b1) (a2,b2) (a2,b3)X3 (a3,b1) (a3,b2) (a3,b3)X4 (a4,b1) (a4,b2) (a4,b3)X5 (a5,b1) (a5,b2) (a5,b3)

Theo quan hệ R , ta có thế tính B= A*R

&4- Thủ tục suy luận mờ trong Toolbox Fuzzy Rule  : if x is A then y is B Trong đó A , B là biến ngôn ngữ xác định bởi tập mờ trên tập cơ sở X,Y ( khoảng

cơ sở ) , Phần Nếu là phần tiền tố ( điều kiện) , phần Thì là phần kết luận .Ví dụ : Tipper ( service ( excellent ) , food (delicious) , Tip (generous) .

Bảng suy luận If-Then như hình dưới :

Page 9: Bài giảng Điều Khiển Mờ và Neural

Thủ tục suy luận mờ theo 3 bứớc :- Bước 1 : xác định giá trị mờ đầu vào cho mỗi luật (qui tắc ).

Giả thiết (Theo luật 1 ) thức ăn là Ngon ở mức 8 (food=8) thì µfood = 0.7)

- Bước 2 : Xác định tổ hợp các điều kiện .Ở đây là 2 điều kiện :Nếu phục vụ là Tuyệt Hoặc thức ăn là Ngon .Phần phục vụ Excellent có độ 3 thì µe =0 ,còn µF = 0.7 , vậy Hoặc giũa 2 giá trị này là :0V0.7 = 0.7 .

- Bước 3 : Tìm kết quả (Phần Thì ) cho một luật (miền giá trị- xem hình vẽ ) .

Page 10: Bài giảng Điều Khiển Mờ và Neural

Bước 4 : Hợp các luật lại (Mỗi luật đã có một hàm liên thuộc kết quả), bây giờ cho hợp lại sẽ được Hàm liên thuộc đầu ra cuối cùng như Hình trên ( Result of aggregation)

&3- Suy luận mờ và Luật hợp thành.1- Khái niệm cơ sở .

What are Fuzzy Interference Systems? : Suy luận mờ (Fuzzy Inference) là quá trình công thức hoá ánh xạ từ tập đầu vào thành tập đầu ra bằng cách dùng Fuzzy logic .

2- Thủ tục suy luận mờ .Quá trình này liên quan đến : Hàm liên thuộc , Thao tác logic , Luật Nếu -Thì . Có 2 kiểu suy luận mờ được dùng ở đây , đó là : Kiểu Mamdani và Kiểu Sugeno .

Suy luận mờ kiểu Mamdani là kiểu chung nhất ( Do Mamdani nêu ra năm 1975) .A- Suy luận mờ kiểm Mamdani :

Ví vụ Dinner for Two :

Page 11: Bài giảng Điều Khiển Mờ và Neural

Hình 11 .

Làm theo 3 bước :- Mờ hoá đầu vào(fuzzify Hình 12)- Áp dụng thao tác mờ ( Apply Fyzzy Operator) : Dùng các thao tác logic ( AND ,

OR) . Trong Toolbox thì AND dùng : Min, Prod , OR dùng : Max , Probabilistic –probor(Probor(a,b) = a +b- ab) , Ở ví dụ này Tiền tố dùng 3 luật và dùng OR

Hình 12

Page 12: Bài giảng Điều Khiển Mờ và Neural

- Appy Implication Method ( Tìm hàm liên thuộc đầu ra ) : Lưu ý có thể cài đặt trọng số cho mỗi luật : Tìm hàm liên thuộc đầu ra cho mỗi luật khi đã biết giá trị hàm liên thuộc đầu vào . .

Hình 13- Phối hợp đầu ra : Toolbox giới thiệu 3 dạng : Max , probor , Sum ( Cộng đơn

giản)Hình 14

- Giả mờ : Trọng tâm , điểm giữa max , Lớn nhất của Max , nhỏ nhất của Max Hình 15

Đồ thị suy luận mờ . Hình 16

Bài – Suy luận mờ kiểu Sugeno- Type Fuzzy Inference &1- What is Sugeno-Type Fuzzy Interference ?

Quá trình trình bày ở trên là suy luận kiểu Max-Min hay gọi là suy luận mờ Mamdani , ở đây ta khảo sát về suy luận mờ Sugeno hay thường gọi là suy luận mờ Takagi-Sugeno-Kang - đây là công trình được đề xuất bằng các giả trên vào năm 1986 . Phần Nếu là không thay đổi : (Mờ hoá đầu vào và thao tác tính toán tổ hợp đầu vào thì như Mamdani) , Phần Thì là khác nhau : Hàm liên thuộc đầu ra của Sugeno thì hoặc là Hằng số hoặc là Hàm tuyến tính .

Luật suy luận trong mô hình Sugeno là :If input 1 = x and Input 2 = y , then Output is z = ax + by + c Khi mô hình Sugeno ở cấp zero thì z = c ( nghĩa là a=b=0) Mức đầu ra zi của mỗi một luật có trọng số wi

Ví dụ dùng thao tác AND,2 đầu vào x , y thì trọng số wi = AND Method(F1(x),F2(y)) Trong đó F1(x) ,F2(y) là hàm liên thuộc của đầu vào x và y .

Đầu ra cuối cùng của hệ là trung bình trọng số của tất cả các luật đầu ra :

Thao tác tính toán của luật Sugeno như hình 10 dưới đây :

Page 13: Bài giảng Điều Khiển Mờ và Neural

Hình 10 Ưu điểm suy luận Sugeno :

- Rất hiệu quả cho tính toán - Dùng cho kỹ thuật điều khiển tuyến tính .- Dùng cho kỹ thuật điều khiển tối ưu và thích nghi .- Thích hợp cho toán phân tích – Đảm bảo sự liên tục Mặt đầu ra.

Ưu điểm của Mamdani :-Trực giác – Được dùng rộng rãi

- Phù hợp suy nghĩ đầu vào con người (Human Input) -----------------------------------------------------------------------------

Bài giảng 3 : Bộ Điều khiển mờ . GS-TS Nguyễn Trọng Thuần

&1- Khái niệm và Sơ đồ khối chức năng bộ điều khiển mờ .Được dùng : - Hệ điều khiển phi tuyến ,

-Hệ thiếu thông tin : vào và ra .- Hệ không có mô hình toán

Sơ đồ khối chức năng của bộ ĐKM :

Page 14: Bài giảng Điều Khiển Mờ và Neural

&2- Mờ hóa (Fuzzifiers)

- Biến đổi từ không gian rõ không gian mờ : Từ giá trị rõ sang giá trị mờ - Việc mờ hóa góp phần khử nhiễu .- Đơn giản cho tính toán .

Thường con họn các hàm liên thuộc mờ hóa sau :+ Đơn trị (Singleton).µA(x) = { 1 nếu x= x’

0 nếu x ≠ x’+ Mờ hóa tuyến tính : Hàm liên thuộc hình tam giác hay hình thang

µA(x,a,b,c) = max(min[x-a/b-a ,c-x/c-b)],0) ;µA(x,a,b,c,d) = max(min[x-a/b-a ,1,d-x/d-c],0) ;

Hình tam giác :

Page 15: Bài giảng Điều Khiển Mờ và Neural

Hình thang :

+ Nhóm hàm phi tuyến :

Page 16: Bài giảng Điều Khiển Mờ và Neural

Hình chuông :

Page 17: Bài giảng Điều Khiển Mờ và Neural

Hàm sigmoid :

Page 18: Bài giảng Điều Khiển Mờ và Neural

&3- Giải mờ (Defuzzifiers). 3.1- Ý nghĩa của giải mờ : Đó là việc tìm điểm đại diện y ( thuộc tập cơ sở V) từ

tập mờ kết quả B’ sau quá trình suy luận xấp xỉ ‘Nếu … Thì ’ . Điểm đại diện y phải đạt các yêu cầu :

. Sự hợp lý của kết quả .. Tính toán đơn giản . . Tính liên tục ( sự thay đổi nhỏ trong B’ chỉ làm thay đổi nhỏ kết quả giải

mờ ) .3.2-Các phương pháp thường dùng :

+ Phương pháp cực đại .+ Phương pháp trọng tâm .+ Phương pháp trung bình tâm.

Page 19: Bài giảng Điều Khiển Mờ và Neural

3.2.1- Phương pháp cực đại :- Xác định miền chứa giá trị đầu ra : Đó là miền G mà giá trị y có hàm liên

thuộc đạt giá trị cực đại : G := {y thuộc Y|µB’(y) = max} .- Xác định y từ miền G .(Trung bình , Cận trái , Cận phải) 3.2.2- Phương pháp trọng tâm .3.2.3- Phương pháp trung bình tâm .

&4- Khối luật mờ : Đó là If ---- Then , có dạng cụ thể là :Ru

(1) = Nếu x1 là A11 Và ...Và xn là A n

1 Thì y là B1 ;

Hoặc : Ru(1) = Nếu x1 là A1

1 Hoặc ...Hoặc xn là A n1 Thì y là B1 ;

.............................................(Hình 4 vào :X1,X2,X3,X4 và 3 ra Y1,Y2,Y3)

Xây dựng theo kiến thức người thiết kế , theo kinh nghiệm chuyên gia và điều kiện thực tế . & 5-Khối hợp thành .

Thường thì dùng Max- Min(Mamdani) hay Sugeno để tính luật Hợp thành .&6- Hệ thống mờ như một bộ xấp xĩ vạn năng1- Ý nghĩa : Cho 1 hàm thưc liên tục g(x) trên nền U , có thể tìm được một hệ

mờ f(x) để : Sup|f(x)-g(x)| ≤ ε ; ε >0 , x€ U .2- Một số chú ý : Định nghĩa hàm liên thuộc hình thang :

-I(x) , với x€ U . µ(x,a,b,c,d,H) = - H , với x€ (b,c) . -D(x) , với x€ (c,d) .

- 0 ,với x€ R- (a,d) .3- Xác định f(x) xấp xỉ g(x) :Giả thiết g(x) có 1 tín hiệu vào thuộc tập nền U =[α, β] thuộc tập số thực R , lúc

đó hệ mờ f(x) cũng có một tín hiệu vào X1 .-Nếu g(x) là hàm khả vi thì cần tìm f(x) để :

||g-f|| ≤ || dg/dx||h ≤ ε ;Trong đó : ε -là sai số đã cho .

h- là gia số của biến mờ ( giá trị cụ thể có thể lấy khoảng cách tâm giữa 2 hàm liên thuộc gần nhau nhất ). Nếu chọn hàm liên thuộc kiểu tam giác thì có thể tính :

hi = | ei+1 - ei | với ei+1 và ei tâm của hàm liên thuộc thứ i+1 và i .-Số lượng giá trị mờ N (số lượng hàm liên thuộc) trong miền xác định của x là từ

α đến β có thể tính : N= (β - α )h +1 ;

|| dg/dx||- là chuẩn vô cùng của đạo hàm của g(x) .-Luật mờ : Nếu xi là Ai Thì y là Bi .

Y được chọn bằng Bi là : yi = gi(ei)Hệ mờ f(x) có thể tính toán theo giải mờ trung bình tâm :

f(x) = (∑µAi ×gi )/ (∑µAi ) ; (1)Trong đó : µAi là chiều cao của hàm liên thuộc với giá trị mờ Ai ;

x là giá trị đầu vào ứng với Ai .Dựa theo (1) ta tính được hệ mờ f(x) xấp xỉ hàm 1 biến g(x)

Page 20: Bài giảng Điều Khiển Mờ và Neural

Ví dụ :cho g(x) = sin(x) xác định trong khoảng U=[-3,3] , tìm hệ mờ f(x) xấp xỉ g(x) với sai số ε = 0,2 .

Cách làm :+ Tính số lượng giá trị mờ N(chính là số lượng các hàm liên thuộc N ) và khoảng

cách giữa tâm các hàm liên thuộc h .Dựa theo định nghĩa : ||g-f|| ≤ || dg/dx||h ≤ ε ;Ở đây đã cho : ε = 0,2 ; Tính || dg/dx|| = || dsin(x)/dx|| =|| cos(x)|| = 1 ;Khoảng cách h là : || dg/dx||h ≤ ε → 1.h = 0,2 → h =0,2 ;Số giá trị mờ là : N = (β - α )h +1 = 1+(3- (-3))/0,2 = 31  ; Các hàm liên thuộc (giá trị mờ biến vào ) được tính (xem Hình vẽ) :µA1 =(x,-3,-3,-2.8) và µA31 =(x,+2.8,3,3) ;Các giá trị trung gian : µAi =(x,ei-1,ei ,ei+1) , ei = -3+0,2(i-1) với i = 2,3,…,30 + Hệ mờ f(x) :

f(x) = (∑µAi ×gi )/ (∑µAi ) = (∑131 µAi ×sin(ei)/ (∑1

31 µAi ) ; Hình vẽ :…..

&7- Cách xây dựng bộ điều khiển mờ dùng Fuzzy Toolbox

Câu hỏi ôn tập : 1)Trình bày sơ đồ khối của bộ điều khiển mờ cơ bản .2)Giải thích khâu : mờ hóa , giải mờ , hợp thành và luật mờ .3)Trình bày các luật hợp thành bằng các hình vẽ hàm liên thuộc .4)Ý nghĩa của hệ mờ xấp xỉ hàm . Cho ví dụ .5)Cách xây dựng một bộ điều khiển mờ bằng cách dùng hộp công cụ logic mờ

trong MATLAB . -------------------------------------------------------------------------------

Bài giảng 4 : Một số ví dụ về ứng dụng bộ điều khiển mờ .GS-TS Nguyễn Trọng Thuần

&1- Bộ điều khiển mờ cho máy điều hòa không khí .&2 – Bộ điều khiển mờ cho máy giặt .

Câu hỏi : Trình bày cách xây dựng bộ điều khiển mờ cho máy điều hòa không khí

--------------------------------------------------------------------------------------------------------

Phần 2

MẠNG NƠRON ( NEURAL NETWORK )Bài giảng 1

Khái niệm về mạng Nơron .&1- Đặt vấn đề :Mạng nơron là tổ hợp của các phần tử đơn giản làm việc song song , những phần

tử này là được gợi ý bởi hệ thống nơron sinh học . Về bản chất thì chức năng mạng được xác định bởi độ rộng sự kết nối giữa các phần tử . Ta có thể luyện một mạng nơron để thực hiện hàm (chức năng) riêng bằng cách chỉnh định các trọng số liên kết giữa các phần tử .

Nói chung thì các mạng nơron là được rèn luyện ( được chỉnh định)và như vậy với một đầu vào riêng biệt sẽ đưa đến một đầu ra có một tiêu chí xác định . Hình 1 dưới đây mô tả khái quát về luyện mạng . Ở đây mạng được luyện dựa theo cách so sánh đầu

Page 21: Bài giảng Điều Khiển Mờ và Neural

ra với mục tiêu , sai khác đó được đưa về hiệu chỉnh lại trọng số liên kết của mạng theo các đầu vào cho đến khi đầu ra đạt được như mục tiêu .

Hình 1Một loạt các cặp Vào/Ra được dùng để luyện mạng như vậy và cách luyện này

(cách học này ) gọi là cách học có giám sát .Các mạng Nơron được luyện để hoàn thành các chức năng phức tạp trong các lĩnh

vực khác nhau như để nhận dạng mẫu , nhận dạng , phân loại sản phẩm , xử lý tiếng nói , hình ảnh và hệ điều khiển .

Ngày nay mạng nơron đang được dùng để giải quyết nhiều bài toán khó mà với máy tính truyền thống hay suy nghĩ của con người không giải quyết được.

Phương pháp luyện mạng có giám sát là phương pháp thường dùng nhất , nhưng ngày nay cũng có cách luyện mạng ‘không giám sát’ hay ‘phương pháp thiết kế trực tiếp’

Mạng không giám sát cũng vẫn được dùng để nhận dạng nhóm dữ liệu . Một số mạng tuyến tính và mạng Hopfield là các mạng được thiết kế trực tiếp ( không giám sát) . Như vậy có rất nhiều kỹ thuật thiết kế và luyện mạng mà ta có thể lựa chọn .

Mạng nơron đã xuất hiện khoảng 50 năm , nhưng việc ứng dụng chỉ mới khoảng 15 năm .Chương này sẽ đưa vào khái niệm về sử dụng Toolbox nơron , cuối chương đưa ra một

vài ứng dụng cụ thể . &2- Mô hình Nơron .1- Mô hình Nơron .1-1- Mô hình 1 nơron . Neural với một đầu vào vô hướng p và một đầu ra a=f(wp) như hình 1a , trong đó

w là trọng số , còn f là hàm biến đổi . Khi có thêm hệ số đặt trước b thì dạng như hình 1b và tín hiệu ra a= f(wp+b) .

Page 22: Bài giảng Điều Khiển Mờ và Neural

Hình 1a : n =wp = ∑ wipi Hình 1b

1.2- Các hàm chuyển đổi ( Transfer functions)

Hình 2a

Hình 2b

Lưu ý :-Hàm Logsiga(n) =1/(1+e-an) =y1  ;khi lấy đạo hàm theo n ta được y1

’ =ay1(1-y1) ;- Hàm tansig : Hàm ngưỡng và hàm Logsig có giá trị đầu ra từ 0-1, còn hàm

tansig có giá trị từ -1 đến +1 : Tansiga(n) = (ean –e-an)/(eau+e-an) = 2logsig2a(n) -1 = y2 ; Đạo hàm của hàm tansiga(n) là y2’ = a(1- y2) ;

Hàm chuyển đổi f hay hàm truyền đạt ( Transfer function ) thường dùng 3 dạng như Hình 2a,2b,2c . Hình 2a là hàm có giới hạn cứng (Hard limit Transfer function) , Hình 2b là hàm truyền đạt tuyến tính (Linear Transfer function) .

1.3- Nơron với vectơ đầu vào (nhiều đầu vào ,một đầu ra) .

Page 23: Bài giảng Điều Khiển Mờ và Neural

Hình 3a - Đầu vào R phần tử :P1... Pr

Trọng số W1,1 , W1,2 ,... W1,r

n=w1,1p1 + w1,2p2 +w1,RpR +b = w*p+b

Hình 3b- Đầu vào là vectơ P có R thành phần , trọng số WlxR , blx1- hằng số 1 đưa vào nhân với số vô hướng b .

Ví dụ : Tính toán đáp ứng đầu ra của 1 Nơron với các hàm truyền đạt khác nhau .Cho biết :Nơron có 2 đầu vào x1 ,x2 và một bias b , 3 trọng số ban đầu là w0 =-0,2 ; w1

=0.7 ; w2 =0,5 .Kết quả tính toán như bảng dứới đây :

x1 x2 d n = w0x0+ w1x1+ w2x2 y =logsig(n) y =tansig(n) y=satlin(n) y=1(n)0 0 0 -0.2 0.450 -0.197 0 00 1 1 0.3 0.574 0.291 0.3 11 0 1 0.5 0.623 0.462 0.5 11 1 1 1 0.731 0.762 1 1

2-Quá trình học của Nơron .2.1- Khái niệm .Phải nói ngay là : Đặc trưng của Nơ ron là quá trình học , phải học thì Nơron mới

có khả năng thực hiện được nhiệm vụ của mình . Giả thiết cho hàm y=f(x) , khi đó nếu cho biết x thì ta xác định được y theo quan hệ f (hàm f(x)) . Bây giờ ta đặt vấn đề ngược lại : cho biết các cặp quan hệ :x/y , hãy tìm quan hệ giữa x và y . Đây là bài toán khó và trong kỹ thuật về Mạng nơron thường thực hiện theo 2 phần :

Phần một là xây dựng một cấu trúc mạng ( Có thể thực hiện theo một cấu trúc chuẩn hay một cấu trúc kinh nghiệm nào đó .

Phần thứ hai là tìm các quan hệ liên kết (gọi là trọng số liên kết) giữa các nơron trong cấu trúc để cho khi ta cho tập đầu vào x thì được tập đầu ra như mong muốn .

Muốn thực hiện được phần thứ hai này (Khi đã có cấu trúc mạng từ phần 1) thì thường thực hiện như mô hình ở Hình 1. Lúc đó với các cặp mẫu xi/yi , mạng sẽ tính được các đầu ra , so sánh các giá trị đầu ra này với các giá trị mẫu y i , dùng sai lệch đó để hiệu chỉnh các liên kết (trọng số liên kết ) để cuối cùng có sai lệch nhỏ nhất . Quá trình làm như vậy chính là quá trình cho Mạng nơron học hay là quá trình luyện mạng .

Quá trình luyện mạng đại thể lại chia ra 3 bước :Bước 1 : Bứớc học . Lúc này cho các cặp mẫu xi/yi vào mạng và mạng sẽ tính giá

trị ra , giá trị ra này sẽ có sai lệch với giá trị mong muốn (giá trị mẫu) , dùng sai lệch đó hiệu chỉnh lại trọng số liên kết , cứ làm như vậy cho đến khi nhận được giá trị ra so với mẫu có sai lệch nằm trong giá trị cho phép .

Page 24: Bài giảng Điều Khiển Mờ và Neural

Lưu ý là : dù sai lệch đầu ra của mạng so với mẫu đã đạt yêu cầu , nhưng đó là ứng với các đầu vào mẫu ( với các x i/yi) đã cho . Khi gặp các tập giá trị x vào khác thì chưa chắc với các trọng số liên kết đã luyện như vậy sẽ đảm bảo đầu ra đúng yêu cầu . Do vậy khi học xong cần phải thử (Test).

Bước 2 : Thử . Lúc này ta dùng một tập dữ liệu x/y khác với tập dữ liệu đã dùng để luyện mạng . Nếu kết quả Thử mà tốt thì mới chấp nhận ,nếu không phải Học lại .

Bước 3 : Kiểm chứng (Validation) .Sau khi Thử xong , tốt rồi , có thể phải kiểm chứng thực tế , có như vậy mới dùng được .

2.2- Thuật toán học .Quá trình học sẽ được thực hiện theo những qui trình chặt chẽ được gọi là thuật

toán học .Có nhiều thuật toán học khác nhau và thuật toán học cho một nơron thuộc nhóm thuật toán học có hướng dẫn (giám sát ,có thầy) .Quá trình học thực chất là quá trình tìm kiếm hiệu chỉnh các tham số của Nơron sao cho với một tập số liệu vào x cho trước Nơron sẽ cho ra đáp ứng y theo mong muốn .

Với số đồ chức năng như Hình 1 ,với tập số liệu học gồm p mẫu {x i,di}với i=1…p (xi giá trị vào và di giá trị đích mong muốn) , ta cần xác định Nơron có N đầu vào và 1 đầu ra với hàm chuyển đổi f () sao cho : f(xi) ≈ di với mọi xi .

Ta có thể dùng hàm mục tiêu là tổng bình phương sai số E ,với E →min,nghĩa là :

E=(1/2)∑ (f(xi)-di)2 →Min ;

Quá trình học ở đây là cho vectơ vào x , nơron sẽ cho ra giá trị f(x) = y , tương ứng sẽ tính ra giá trị E . Quá trình học sẽ dừng lại khi E→Emin cho phép . Quá trình tìm Emin thực chất là quá trình tìm lời giải tối ưu cho hệ phi tuyến , thường dùng là thuật toán lặp để tìm nghiệm cận tối ưu .

Ví dụ : xây dựng một Nơron mô phỏng hàm OR với 2 đầu vào x1, x2 .Lúc này y = x1 OR x2 và giả thiết sử dụng các trọng số liên kết khởi đầu như ở

trên (w0 =-0,2 ; w1 =0.7 ; w2 =0,5) và dùng hàm chuyển đổi là hàm ngưỡng .Qua tính toán ta được kết quả như bảng dưới :

x1 x2 d n = w0x0 + w1x1+ w2x2 y= 1(n) e= y-d0 0 0 -0,2 0 00 1 1 0,3 1 01 0 1 0,5 1 01 1 1 1,0 1 0

Nhìn bảng ta thấy : Nếu dùng Nơron 3 đầu vào và 1 đầu ra với tham số khởi đầu w0 =-0,2 ; w1 =0.7 ; w2 =0,5 , hàm chuyển đổi là hàm ngưỡng 1(n) thì hoàn toàn mô phỏng chính xác hàm OR hai biễn x1 ,x2 .

Nếu cũng như trên nhưng dùng hàm chuyển đổi là hàm logsig ( kết quả như bảng dưới) thì sai lệch e sau lần học đầu tiên còn rất lớn , ta phải cho học tiếp các mẫu khác để hiệu chỉnh các trọng số mới giảm được e .

x1 x2 d n = w0x0+ w1x1+ w2x2 y= logsig(n) e= y-d0 0 0 -0,2 0,450 0,4500 1 1 0,3 0,574 -0,4261 0 1 0,5 0,623 -0,3771 1 1 1,0 0,731 -0,269

Page 25: Bài giảng Điều Khiển Mờ và Neural

Với 1 Nơron có 1 đầu ra thì số đầu vào chính là số biến (các thành phần vectơ đầu vào ), còn hàm chuyển đổi được lựa chọn trước .

Lưu ý : + Nếu đầu ra là giá trị logic :0,1 thì có thể chọn hàm chuyển đổi dạng 1(n)+ Nếu đầu ra là giá trị liên tục (0,1) thì có thể chọn hàm logsig(n).+ Nếu đầu ra là giá trị liên tục (-1,1) thì có thể chọn hàm tansig(n).+ Nếu đầu ra có cả giá trị nằm ngoài (-1,1) thì có thể chọn hàm purelin(n).

Trong thực tế ta có thể chuẩn hóa số liệu ra để giá trị chỉ nằm trong khoảng (-1,1) và có thể sử dụng hàm tansig(n) .

&3- Thuật toán học có hướng dẫn của Nơron .Phần này chỉ trình bày thuật toán học có hướng dẫn (supervised learning ) trên cơ

sở tính toán sai số theo cách lan truyền ngược (error backpropagation) . Thuật toán này đươc phát triển dựa trên thuật tóan bước giảm cực đại) (steppest descent) để xác định giá trị cực tiểu của một hàm số .

3.1- Thuật toán bước giảm cực đại (steppest descent) .Nội dung thuật toán là : cho một hàm f(x) bất kỳ ,cần tìm điểm xmin để hàm f(x)

đạt giá trị cực tiểu , trong khi không thể thực hiện việc giải phương trình f ‘(x) =0 !(Trường hợp hàm f(x) là khả vi và đơn giản thì xác định đạo hàm f’(x) và giải

phương trình f’(x)=0 để tìm xmin ) . Nội dung của phương pháp bước giảm cực đại là : xuất từ điểm x(0) ta đi tìm

điểm x(1) để f(x(1)) < f(x(0)) , tiếp theo tìm điểm x(2) để f(x(2)) < f(x(1)) , cứ tiếp tục như vậy ta sẽ thu được một chuổi kết quả {x(t)}để các giá trị f(x(t)) giảm dần và sẽ giảm đến một trong các cực tiểu của hàm f(x) .Khi đó :

x(t) → xmin khi t đến một giá trị hữu hạn nào đó .Thuật toán bước giảm cực đại sẽ xác định cho ta công thức tính bước tiếp theo là :

x(t+1) = x(t) – η(df/dx)|x=x(t) ; (1)

Trong đó :η gọi là hệ số bước học .Công thức trên có thể chứng minh là : theo khai triển Tay-lo thì :

f (x(t) +∆) = f(x(t)) +∆ .f’(x(t)) +O(∆2) ; (2)Nếu chọn ∆ = -η.f’(x(t)) với η đủ nhỏ thì :

f (x(t) +∆) = f(x(t)) -η.(f’(x(t)))2 +O(∆2) < f(x(t)) ; (3)Với việc chọn :

x(t+1) = x(t) +∆ = x(t) – η(df/dx)|x=x(t) thì đảm bảo f(x(t+1)) < f(x(t)) .

Nếu (df/dx)|x=x(t) <0 thì f(x) giảm , lúc đó x(t+1) >x(t) , nếu (df/dx)|x=x

(t) >0 thì f(x) tăng, lúc đó x(t+1) < x(t) (nghĩa là phải lấy x lùi lại) .

Lưu ý  : Phải chọn η đủ nhỏ ,vì Điểm cực tiểu f(x) là cực tiểu cục bộ . Khi hàm f(x) có nhiều điểm cực tiểu ,nếu chọn η quá lớn thì ∆ sẽ quá lớn thì giá trị hàm có thể nhảy sang vùng khác và kết quả là sai !

3.2-Sử dụng Thuật toán bước giảm cực đại để tính toán bước học cho Nơron .Trong quá trình học của Nơron ta phải luôn luôn tìm cực tiểu của hàm sai số .Với

Nơron như Hình vẽ ,ta có :

yi = f [∑Wj xij] ; (4)Trong đó i : số mẫu cho với các cặp (xi,di ) , i = 1…p mẫu ; J : số đầu vào , j = 1… N ;

Sai số trên bộ số liệu học là :

Page 26: Bài giảng Điều Khiển Mờ và Neural

E = (1/2)∑(yi – di)2 (5)

Ta cần xác định các trọng số Wj (j = 0 ,1 ,… ,N) để giảm sai số E . Tương ứng với (4) , ta có thể diễn tả thành phép nhân Matrix như Bảng 1 : Bảng 1W0 W1 W2 - Wj - WN

X

x10 x20 x30 x40 - xi0 - xp0

x11 x21 x31 x41 - xi1 - xp1

x12 x22 x32 x44 - xi2 - xp2

-x1j x2j x3j x4j - xij - xpj

-x1N x2N x3N x4N - xiN - xpN

=

y1

y2

y3

-yi

yp

Với trường hợp hàm OR với 2 đầu vào x1,x2 và 4 cặp mẫu , ta có matrix như Bảng 2: Bảng 2

W0 W1 W2

XX10 :1 X20 :1 X30 :1 X40 :1X11 :0 X21 :0 X31 :1 X41 :1X12 :0 X22 :1 x32 :0 X42 :1

=d1 :0d2 :1d3 :1d4 :1

Ta cần xác định các trọng số Wj (j =0 ,1,…,N) để giảm sai số E theo (5) . Xuất phát từ một bộ giá trị ban đầu của Wj là : [W](0) = [W0

(0) , W1(0) , …,WN

(0) ] , ta xác định các trọng số tiếp theo ở thời điểm (t+1) là :

Wj(t+1)

= Wj(t) –η(dE/dWj)|[w] =[w]

(t) với t= 0,1,… ; (6)

Trong đó gradient của sai số theo trọng số của các công thức (5),(6) tính bằng :dE/dWα=∑ (yi-di) (dyi/dwα)=∑(yi –di)f’[∑wjxij][d(∑wjxij)/dwα]=∑(yi –di)f’[∑wjxij]xiα ; (7)

Lưu ý : Công thức (7) dùng đạo hàm của hàm chuyển đổi , nên không nên sử dụng hàm ngưỡng dạng 1(n) .

Ví dụ : Tính toán cho việc học hàm OR với hai đầu vào x1,x2 .- Khi học với 1 mẫu (p=1) : x1 = x2 =1 và d=1.Các trọng số ban đầu đã chọn :

[W](0) = [W0(0) W1

(0) W2(0) ] =[-0,2 0,7 0,5] , hàm chuyển đổi :Logsig(n) .

Khi đó : y(0) = f(n)=f(w0(0)

x0+ w1(0)

x1+ w2(0)

x2) = f(1,0) = 0,731 ; E(0) = (1/2)(y(0) –d1)2 = (1/2)(0,731-1)2 = 0,0362 ; Các giá trị gradien tính theo (7): dE/dW0 |[w]=[w]

(0) = (y(0) –di)f’(w0(0)

x0+ w1(0)

x1+ w2(0)

x2)x0 = (y(0)-d)y(0)(1-y(0))x0 = =(0,731-1).0,731.(1-0,731).1= -0.0529 ;

dE/dW1 |[w]=[w](0) = (y(0) –di)f’(w0

(0) x0+ w1

(0) x1+ w2

(0) x2)x1 = (y(0)-d)y(0)(1-y(0))x1 =

=(0,731-1).0,731.(1-0,731).1= -0.0529 ; dE/dW2 |[w]=[w]

(0) = (y(0) –di)f’(w0(0)

x0+ w1(0)

x1+ w2(0)

x2)x2 = (y(0)-d)y(0)(1-y(0))x2 = =(0,731-1).0,731.(1-0,731).1= -0.0529 ;

Chọn hệ số học η=1 , ta tính được các trọng số liên kết mới :W0

(1) = W0

(0) –η(dE/dW0)|[w] =[w](0) = -0,2 -(1.(-0,0529)) = -0,147 ;

W1(1)

= W1(0) –η(dE/dW1)|[w] =[w]

(0) = 0,7 -(1.(-0,0529)) = 0,753 ;

Page 27: Bài giảng Điều Khiển Mờ và Neural

W2(1)

= W2(0) –η(dE/dW2)|[w] =[w]

(0) = 0,5 -(1.(-0,0529)) = 0,553 ; Vậy sau bước học thứ nhất, bộ trọng số mới là :  [W](1) = [W0

(1) W1(1) W2

(1)] = [ -0,147 0,753 0,553] ;Giá trị đầu ra sau bứớc học thứ nhất là : Y(1) = f(w0

(1) x0+ w1

(1) x1+ w2

(1) x2) = f(1,159) =0,761 ;

Sai số E sau bước thứ nhất là : E= (1/2)(y(1)-d)2 = (1/2)(0,761-1)2 = 0,0286 < 0,0362 = E(0) ; (10)

Cứ tiếp tục tính toán cho các bước học tiếp theo , ta được quan hệ giữa E và số bước như Hình 10 (Để vẽ được Hình 10 , cần dùng máy tính để tính toán biểu thức 10, tuy vậy chưa biết thuật toán này ở đâu) , ta thấy sau 100 bước học thì E(100) = 0,00947 . Ta cũng có thể vẽ quan hệ các trọng số W0 ,W1 ,W2 với số bước học như Hình11 (Chưa biết thuật toán cho Máy tính để vẽ các quan hệ này ) .

Trên đây là xét với học một mẫu ,thực tế phải học nhiều mẫu hơn , chẳng hạn học với 3 mẫu :p=3 , nghĩa là : (x1x2 = 00,d=0) ,(x1x2 = 01,d=1) (x1x2 = 11,d=1) và giữ x0 =1 .

Các đầu ra của Nơron cho 3 mẫu trước khi học là :

y1 =0,45 ; y2 =0,574 ; y3 =0,731 ; Và sai số tính theo (5) là :

E= (1/2)∑13(yi- di)2 =(1/2)[(0,45-0)2 +(0,574-1)2 +(0,731-1)2] = 0,228 ;

Sau 100 bước học với 3 mẫu ta có : y1 =0,456 ; y2 =0,604 ; y3 =0,76 và E bằng :

E= (1/2)∑13(yi- di)2 =(1/2)[(0,456-0)2 +(0,604-1)2 +(0,76-1)2] = 0,211.

Ta thấy lúc này sai số còn lớn , do vậy phải học nhiều nữa !

&4- Thuật toán học Levenberg-Marquad (L-M) :

Đây là thuật toán dựa trên khai triển Taylor bậc 2 , độ chính xác cao hơn nhưng cũng tính toán phức tạp hơn . Học viên có thể xem tài liệu thao khảo .

&5- Nâng cao chất lượng quá trình học .

5.1- Học với hệ số học thích nghi .

Hệ số học η liên quan trực tiếp đến gia số ∆ của hàm , do vậy nếu ở bước học mà E đang giảm thì ta có thể tăng hệ số học η , ngược lại nếu ở bước học mà E tăng thì cần giảm η . Do vậy ta có thể tính sai lệch E giữa 2 bước học để tăng/giảm η , theo kinh nghiệm hệ số tăng nên khoảng 1,02-1,05 , còn hệ số giảm nên là 0,5-0,7 . Học với sự điều chỉnh η như vậy gọi là học thích nghi . Xem thêm tài liệu.

5.2- Học với hệ số quán tính .

Trong học với hệ số quán tính các trọng số liên kết được hiệu chỉnh theo gia số :

∆W(t) = -η▼E(t) +α(t)∆W(t-1) ; (8)

Page 28: Bài giảng Điều Khiển Mờ và Neural

Trong đó :∆W(t) = W(t+1) - W(t) và α(t) là hệ số quán tính có giá trị (0,1) .

Ta thấy thành phần đầu tiên ở vế phải của (8) chính là Gradient của E(t) tính theo phương pháp bước giảm cực đại, thành phần thứ hai phụ thuộc vào độ cập nhật bước trước (ảnh hưởng của bứớc trước) và không phụ thuộc vào gradient của bước hiện tại . Hệ số α(t) càng lớn thì ảnh hưởng quán tính càng lớn. Quán tính này có ảnh hưởng càng rõ rệt ở các khoảng hàm có dạng bằng phẳng (gradient nhỏ và không đổi) hoặc tại các điểm gần cực tiểu .

Tại các vùng hàm bằng phẳng , gradient có giá trị hầu như không đổi , nghĩa là :

∆W(t) ≈ ∆W(t-1) , do vậy :

∆W(t) ≈ (η/1-α(t)) ▼E(t) ;

Với α(t) = (0,1) thì (1/(1-α(t) ) > 1 , thì việc sử dụng hệ số quán tính tương đương với hệ số học lớn hơn , quá trình học sẽ nhanh hơn .Nếu α(t) = 0,9 thì tốc độ học tăng 10 lần . Việc chọn giá trị quán tính α(t) cần phải thử nghiệm nhiều lần với các giá trị khác nhau mới cho kết quả tốt .

Ví dụ khi học hàm OR với 3 mẫu như trên và sử dụng α (t) thì kết quả như Bảng 3. Bảng 3

Hệ số quán tính α(t) Các giá trị đầu ra Các giá trị đích Sai số

α(t) =0 (thuật toán bước giảm cực đại)

y1 = 0,456

y2 = 0,604

y3 = 0,760

d1 = 0

d2 = 1

d3 = 1

E = 0,211

α(t) = 0,5 y1 = 0,185

y2 = 0,863

y3 = 0,956

d1 = 0

d2 = 1

d3 = 1

E = 0,0275

α(t) =0,9 y1 = 0,17

y2 = 0,873

y3 = 0,863

d1 = 0

d2 = 1

d3 = 1

E=0,0319

&6- Qúa trình kiểm tra mạng Nơron và Khả năng tổng quát hóa .

Ứng dụng của mạng Nơron phụ thuộc quan trọng vào khả năng tổng quát hóa , nghĩa là ứng dụng được vào môi trường thực tế mà các thông tin đầu vào và ra là hoàn toàn mới , không giống như các cặp mẫu (xi ,di) đã luyện mạng . Mạng có khả năng tổng quát hóa cao nếu như đưa ra đáp ứng với sai lệch cho phép khi có các đầu vào mới . Giả sử có hàm logic N biến f(xi) với i=1-N , như vậy có 2N bộ giá trị và có d=f(x) với 2N giá trị . Nếu ta sử dụng K <2N cặp (x,d) để học , còn (2N- K) để kiểm tra và mạng đạt kết quả yêu cầu thì ta nói :Mạng đã học tốt bài toán hàm logic N biến này .

Ví dụ : xét hàm OR với 2 biến x1,x2 ,cho học mẫu 4 với x=[x1 ,x2] =[1,1] và d4 =1. Khi kiểm tra với 3 mẫu còn lại ta có kết quả như Bảng 4 Bảng 4

x1 x2 d n = w0x0 + w1x1 + w2x2 y= logsig(n) e=y-d

Page 29: Bài giảng Điều Khiển Mờ và Neural

0 0 0 3,627 0,974 0,9740 1 1 7,954 1,000 01 0 1 8,154 1,000 0

Ta thấy mẫu 1 có kết quả hoàn toàn sai , như vậy mạng đã nhầm ! Cần tăng số mẫu học ! --------------------------------------------------------

Bài II – MẠNG NƠ RON &2.1- Khái niệm .+ Bài 1 ta đã khảo sát về mô hình 1 Nơron nhân tạo và hiệu quả ứng dụng rất thấp,thực tế Nơron chỉ có hiệu quả khi liên kết thành mạng , đó là Mạng Nơron.(Hệ thần kinh người có 1011 nơ ron và có thể đến 1014 liên kết ) .

+ Định nghĩa đơn giản là : Mạng NN là một tổ chức gồm nhiều nơron được nối ghép với nhau để tạo được (mô phỏng) các hàm phức tạp hơn so với từng nơron đơn lẻ .+ Mỗi nơron hoạt động ở tốc độ không cao , nhưng với mạng có nhiều nơron hoạt động song song nên tốc độ xử lý thông tin của mạng cao hơn .

&2.2- Cấu trúc của mạng NN .+ Người ta phân chia nơron trong mạng

thành lớp (Layer), trong đó có lớp vào (gắn với tín hiệu vào), lớp ra (đưa tín hiệu ra), các lớp ở giữa gọi là lớp ẩn (hidden layer) .

+ Tổng thể , theo kiến trúc có thể phân mạng thành 3loại : Mạng 1 lớp , mạng truyền thẳng nhiều lớp , mạng có phản hồi .

2.2.1- Mạng một lớp .

Page 30: Bài giảng Điều Khiển Mờ và Neural

Hình 4a- Mạng một lớp với véctơ đầu vào p có R thành phần và s nơron . Lớp của mạng gồm : trọng số , bộ phận tính tích wp , tính tổng ∑ , các hằng số đặt b và hàm biến đổi f . Vectơ đầu vào P không gọi là lớp .

Hình 4b .Vẽ ký hiệu mạng một lớp với s nơron và đầu vào P có R thành phần

Cách ghi chỉ số ma trận trọng số là : Chỉ số hàng theo số Nơron :1...s ( các trọng số đặt vào Nơron) , chỉ số cột là các thành phần từ 1...R của véc tơ vào.Qui ước :a,b,c số vô hướng ; a,b,c là vectơ ; A,B,C là ma trận.

Hình 5 :Ví dụ ghi chỉ số matrice cho lớp 1

Gọi : ma trận trọng số nối với tín hiệu vào là trọng số vào , ma trận trọng số nối với tín hiệu ra là trọng số ra .Các chỉ số viết ở phía trên của ma trận : Chỉ số thứ nhất chỉ đích , chữ số thứ 2 chỉ nguồn . Ví dụ như vẽ ở Hình 5 . Ký hiệu trọng số lớp là (LW) , trọng số Vào là (IW) .

2.2.2- Mạng nhiều lớp .Mạng có thể có nhiều lớp , trước tiên ta sẽ nói về mạng truyền thẳng nhiều lớp .

Hình 5 là mô tả một mạng 3 lớp : Lớp 1 , lớp 2 và lớp 3 . Mỗi lớp lại có Ma trận trọng số W , Vectơ giá trị đặt b và Vectơ đầu ra a của lớp đó . Vì là mạng truyền thẳng cho nên đầu ra của lớp trước là đầu vào của lớp sau, nghĩa là các lớp nối tiếp nhau .

Qui ước các chỉ số để phân biệt các lớp như sau : chỉ số lớp được ghi ở phía trên của mỗi biến trong lớp ( các chỉ số ghi ở phía dưới của biến để chỉ tính chất của lớp : số nơ ron , số đầu vào , v.v... ) .

Page 31: Bài giảng Điều Khiển Mờ và Neural

Hình 5 : Mạng truyền thẳng 3 lớp .

Ví dụ : Trong Hình 5 thì :Mạng có :+ đầu vào ( đầu vào cho lớp 1 có R phần tử : P1 …PR ) và S1 ( có s nơ

ron đầu ra cho lớp 1) +S2 : Lớp 2 có S nơron , và hiển nhiên có S1 đầu vào . +S3 : Lớp 3 có S nơron , và hiển nhiên có S2 đầu vào .

+iwi,1 i ,1 trọng số liên kết của của nơ ron lớp1 và lớp vào i(chỉ số duới i,1 thì i

là đầu vào ,còn 1 là nơ ron 1 ) +iwi,1

s1, R : Trọng số liên kết của nơ ron lớp 1 lớp vaò i (chỉ số dưới : s1,R thì s1

là của nơ ron s lớp 1 ,R là của đầu vào R ) +lw2,1

1, 1 : Trọng số liên kết của lớp 2 đầu vào là lớp 1(chỉ số dưới : 1,1 chỉ là của nơ ron 1 , đầu vào 1)

+lw2,1 s2 ,s

1 : Trọng số liên kết của lớp 2 đầu vào là lớp 1(chỉ số dưới : s 2 ,s1 chỉ

là của nơ ron s lớp 2 , đầu vào là lớp 1) +lw3,2

s3 ,s

2 : Trọng số liên kết của lớp 3 đầu vào là lớp 2(chỉ số dưới : s 3 ,s2 chỉ

là của nơ ron s lớp 2 , đầu vào là lớp 1) +a1 1 , a1

s1 : đầu ra của nơron lớp 1 của nơron1,đẩu ra nơron lớp 1 của nơron s

+ IWi,1: Ma trận trọng số đối với nơron lớp 1 , đầu vào i+LW2,1 : ma trận trọng số đối với nơ ron 1 , lớp 2+LW3,1: ma trận trọng số đối với nơ ron 1 , lớp 3

+ IWi,1: Ma trận trọng số đối với nơron lớp 1 , đầu vào i+LW2,1 : ma trận trọng số đối với nơ ron 1 , lớp 2+LW3,1: ma trận trọng số đối với nơ ron 1 , lớp 3

Như vậy mạng 3 lớp này có các thông số :

Page 32: Bài giảng Điều Khiển Mờ và Neural

R1 đầu vào và S1 nơ ron cho lớp 1 , S2 và S3 nơron cho lớp 2 và lớp 3 . Các giá trị đặt bias đều là 1 .Lớp 2 có S1 vào S2 ra với ma trận trọng số S1xS2 là w2 . Đầu vào lớp 2 là a1 và ra là a2 . Ta thâý các tham số lớp 2 đã được nhận dạng và do vậy có thể được xữ lý như một lớp đơn . Các lớp khác cũng xữ lý tương tự .

Các lớp của mạng sẽ đóng vai trò khác nhau . Lớp để tạo ra kết quả ra thì gọi là lớp ra , các lớp còn lại là lớp ẩn ( Với mạng 3 lớp thì lớp 1 và lớp 2 là lớp ẩn . Toobox này dùng như vậy ) .

Với mạng 3 lớp truyền thẳng ta có thể biểu diễn vắn tắt như Hình 6 .

Hình 6 .

Mạng nhiều lớp là cực mạnh . Nếu chỉ xét mạng 2 lớp với lớp đầu dùng hàm sigmoid và lớp hai dùng hàm tuyến tính thì đã có thể luyện để xấp xỉ bất kỳ hàm nào . Loại mạng hai lớp được dùng cực nhiều trong thuật toán Lan truyền ngược. ( Lưu ý xem đầu ra của lớp 3 là a3 với ký hiệu là y )

Hàm xữ lý trước các dữ liệu vào và ra .Đầu vào của mạng có thể được xử lý trước để thuận lợi hơn cho tính toán trong

mạng ,3 hàm sau sẽ góp phần vào việc đó :- Đầu tiên là dùng biến đổi mapmimax để biến đổi tất cả giá trị đầu vào vào trong khoảng [-1, 1] ,- Hàm removeconstantrows : Bỏ đi các giá trị đầu vào giống nhau ,- Hàm fixunknowns để mã hoá lại dữ liệu chưa biết thành dạng số cho mạng dễ

xữ lý , nghĩa là phân biệt ra trước : dữ liệu nào đã biết , dữ liệu nào chư biết .Với dũ liệu ra : xử lý dữ liệu đầu ra như các vectơ mục tiêu và biến đổi ngược lại

cho tương tự như hàm nguyên bản . Hai hàm mapmimax và removeconstantrows thường phối hợp dùng cho xữ lý dữ

liệu đầu ra .3- Cấu trúc dữ liệu (Data structures) .Ở đây bàn về cách tạo cấu trúc dữ liệu vào như thế nào để có hiệu quả lúc mô

hình hoá mạng . Xét mạng tĩnh rồi sẽ đến mạng động .Vectơ dữ liệu vào có 2 dạng chính : Loại dữ liệu cạnh tranh (concurently , nghĩa

là loại dữ liệu không cùng xuất hiện ở cùng thời điểm ) , loại dữ liệu này chỉ xuất hiện theo trình tự (sequentially ) thời gian . Với loại dữ này thì thứ tự tác động là không quan trọng , lúc này nếu có các mạng chạy song song thì thì có thể đặt vectơ vào cho mỗi mạng riêng biệt . Loại dữ liệu thứ hai là dữ liệu kiểu nối tiếp , lúc này thứ tự tác động của các vectơ vào là quan trọng .

Page 33: Bài giảng Điều Khiển Mờ và Neural

3.1- Mô hình hoá với đầu vào Concurrent ở mạng tĩnh .Mô hình hoá Trạng thái tĩnh là đơn giản nhất ( Mạng không có phản hồi hay trễ ) .

Lúc này ta không quan tâm vectơ đầu vào nào tác động trong trình tự thời gian , và đơn giản hơn khi ta xét mạng chỉ có một vec tơ vào .Ví dụ như mạng dưới đây ( Hình 7)

Hình 7Giả thiết ta mô hình hoá mạng có tập dữ liệu vào là 4 mẫu (Q=4) và không phụ

thuộc trình tự tác động : 1 2 2 3P1 = 2 , p2 = 1 , p3 = 3 , p4 = 1 ( Phư vậy là đầu vào p1 có 4 giá trị p1 : 1 2 2 3 , còn p2 = 2 1 3 1 ) hay các

tín hiệu viết ở dạng vec tơ concurrent đặt vào mạng là : P =[ 1 2 2 3 ; 2 1 3 1] ;Giả thiết giá trị ra của mạng là T :T = [-100 50 50 100 ] ; Đây là mạng truyền thẳng , dùng lệnh sau :Net = newlin(p,T) ;Gán trọng ma trận trọng số và bias là : W =[ 1 2] và b =[0] Lệnh để gán các giá trị này là : Net.IW(1,1)= [1 2] ;Net .b(1) = 0 ;Ta mô phỏng bằng lệnh : A = sim(net,p) thì được : A= 5 4 8 5Kết quả cũng như trên nếu ta dùng 4 mạng hoạt động song song và mỗi mạng

nhận một vectơ vào và cho ra một kết quả . Thứ tự kết quả ra là không quan trọng vì chỉ tuỳ thuộc vào việc đặt vectơ vào .

3.2- Mô hình hoá với đầu vào trình tự ở mạng động .Khi mạng có trễ , thì tác đông đầu vào đối với mạng là có trễ và phụ thuộc trình tự Ví dụ xét mạng đơn giản như hình dưới ( Hình 8)

Page 34: Bài giảng Điều Khiển Mờ và Neural

Hình 8 Giả thiết trình tự vào là :P1 =[1] , p2 =[2] , p3= [3] , p4 = [4] Biểu diễn thành mãng :T = (10 3 3 7] ;Vậy lệnh tạo ra mạng là :Net = newlin(p,T,[0 1] ) ; Net.biasConnect= 0 ; Gán trọng số :W =[ 1 2] ,Lúc đó viết lệnh : net.iw (1,1) =[1 2] ; Nếu thực hiện lệnh mô hình hoá sau :A = sim(net,p) thì được A =

[1] [4] [ 7] [10] Như vậy ta đặt vào một mảng chứa trình tự các tín hiệu vào thì mạng sinh ra một

mảng ra theo trình tự . Trình tự mảng vào là quan trọng .3.3- Mô hình hoá với đầu vào concurrent ở mạng động .Nếu ta đặt vào mạng một tập vào concurrent (mặc dù giá trị như tập trình tự ) thì

kết quả đầu ra mạng sẽ khác .Nếu ta dùng tập vào kiểu concurrent :P1 =[1] , p2 =[2] , p3= [3] , p4 = [4] Và được tạo bởi mã sau :P = [ 1 2 3 4] ;Khi mô phỏng bởi lệnh :A = sim(net,p) thì được :A =

1 2 3 4

Page 35: Bài giảng Điều Khiển Mờ và Neural

&3- Cấu trúc dữ liệu net = newlin([-1 1 :-1 1] , 1) ;Để đơn giản ta gán ma trận trọng số và bias là :w = │1 2 │ , b= │0│ Điều khiển cho việc gán này là net. IW{