0% found this document useful (0 votes)
4 views

Soft Computing

Soft Computing

Uploaded by

Trieu Do Minh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Soft Computing

Soft Computing

Uploaded by

Trieu Do Minh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 96

soft computing

Công nghệ Tính toán mềm

PGS.TS. Dương Hoài Nghĩa


Khoa Điện – Điện Tử
Đại học Bách Khoa, ĐHQG tp. HCM
web site: www4.hcmut.edu.vn/~dhnghia
email: [email protected]
[email protected]
phone: 0918 416 425
soft computing
2

MỤC LỤC
Chương 1 Logic mờ và ứng dụng …............................................................................. 5
1.1 Tập hợp mờ
1.1.1 Tập hợp rõ
1.1.2 Tập hợp mờ
1.1.3 Các phép toán trên tập hợp mờ
1.1.4 Biến ngôn ngữ
1.2 Quan hệ mờ
1.2.1 Quan hệ rõ
1.2.2 Quan hệ mờ
1.2.3 Hình chiếu
1.2.4 Kết hợp các quan hệ rõ
1.2.5 Kết hợp các quan hệ mờ
1.3 Suy diễn mờ
1.3.1 Mệnh đề mờ
1.3.2 Diễn dịch luật IF … THEN …
1.3.3 Logic cổ điển
1.3.4 Logic mờ
1.4 Hệ thống xử lý mờ
1.4.1 Khối mờ hóa
1.4.2 Khối suy diễn mờ
1.4.3 Khối giải mờ
1.4.4 Tính phi tuyến của hệ thống xử lý mờ
1.4.5 Hệ thống xử lý mờ loại 2
1.5 Điều khiển mờ
1.6 Nhận dạng hàm thành viên và luật hợp thành
1.6.1 Nhận dạng luật hợp thành
1.6.2 Nhận dạng hàm thành viên
1.6.3 Nhận dạng hệ thống động dùng mô hình mờ
1.6.4 Mô phỏng và dự báo
1.6.5 Cân bằng kênh thông tin
1.7 Phân nhóm mờ
soft computing
3
1.7.1 Phân nhóm rõ
1.7.2 Phân nhóm mờ
1.8 Hướng dẫn sử dụng phần mềm Matlab/Fuzzy toolbox
Bài tập

Chương 2 Mạng neuron và ứng dụng ......................................................................... 44


2.1 Khái niệm cơ bản
2.1.1 Mạng neuron nhân tạo
2.1.2 Neuron
2.1.3 Kết nối
2.1.4 Huấn luyện mạng neuron
2.2 Perceptron
2.2.1 Đơn vị tuyến tính (linear unit, LU)
2.2.2 Đơn vị phân loại tuyến tính (linear graded unit, LGU)
2.2.3 Đơn vị ngưỡng tuyến tính (linear threshold unit, LTU)
2.2.4 Ứng dụng trong phân nhóm
2.2.5 Ứng dụng trong nhận dạng hệ thống động
2.2.6 Ứng dụng trong điều khiển
2.2.7 Ứng dụng trong nhận dạng ký tự
2.3 Mạng truyền thẳng nhiều lớp
2.3.1 Tổng quan
2.3.2 Giải thuật huấn luyện lan truyền ngược (back propagation)
2.3.3 Các thông số của luật học lan truyền ngược
2.4 Mạng hồi quy
2.5 Mạng Hopfield
2.5.1 Mạng Hopfield rời rạc
2.5.2 Mạng Hopfield liên tục
2.5.3 Bộ nhớ kết hợp (associative memory)
2.5.4 Hopfield recurrent associative memory
2.5.5 Bộ nhớ kết hợp hai chiều (bidirectional associative memory BAM)
2.6 Các giải thuật học không giám sát
2.6.1 Luật học Hebb
soft computing
4
2.6.2 Luật học cạnh tranh
2.6.3 Differential Hebbian learning rule
2.6.4 Differential competitive learning rule
2.7 Self-organizing feature maps
2.8 Mạng RBF
2.9 Hướng dẫn sử dụng phần mềm Matlab/Neural networks toolbox
2.9.1 Ví dụ
2.9.2 Neural Network Toolbox
2.9.3 Các hàm tiêu biểu
Bài tập

Chương 3 : Hệ thống neuron - mờ và mờ - neuron …...................................................79


3.1 Hệ thống mờ trên cơ sở mạng neuron
3.2 Mạng neuron trên cơ sở logic mờ
3.3 Các ứng dụng tiêu biểu
Bài tập

Chương 4 : Giải thuật di truyền …................................................................................ 87


4.1 Giải thuật di truyền
4.2 Các thông số của giải thuật di truyền
4.3 Các ứng dụng tiêu biểu
Bài tập

Bài tập lớn .....................................................................................................................94

Tài liệu tham khảo .......................................................................................................96


soft computing
5

Chương 1 LOGIC MỜ VÀ ỨNG DỤNG

Trong nhiều trường hợp con người, với các kinh nghiệm của mình, có thể vận hành điều khiển các hệ
thống, thiết bị với kết quả mà các hệ thống điều khiển tự động truyền thống khó có thể đạt được. Ví dụ
người đi xe đạp quan sát chướng ngại vật, đánh giá tình trạng cân bằng của xe, tình trạng của đường …
và ra các quyết định điều khiển như đạp xe, thắng, bẻ lái ... Trong lĩnh vực hàng không, phi công tự
động chỉ được sử dụng trong chế độ bay đều, sự can thiệp của phi công là không thể thiếu trong các
quá trình cất cánh và hạ cánh.
Từ các nhận xét trên, một xu hướng tự nhiên, là mô phỏng các quyết định của chuyên gia (con người có
kinh nghiệm vận hành thiết bị) để tạo ra các bộ điều khiển trong trường hợp khó xác định mô hình toán
học của đối tượng điều khiển.
Các quyết định của con người thường dựa vào các thông tin mang tính định tính. Ví dụ đối với người
lái xe các thông tin về độ trơn của con đường, về mật độ xe trên đường, về độ sáng, về tốc độ xe … ít
khi được lượng hóa. Vì vậy để có thể mô hình hóa cách thức ra quyết định của con người, ta phải sử
dụng một công cụ là logic mờ đã được Zadeh phát triển trong thập niên 1960.

1.1 TẬP HỢP MỜ (fuzzy set)


1.1.1 Tập hợp rõ (crisp set): là tập hợp truyền thống quen thuộc.
Hàm thành viên (membership function) µA(x) của tập hợp rõ A được định nghĩa như sau
1, x ∈ A
µA(x) =  (1.1)
0, x ∉ A
Vì µA(x) chỉ có thể có một trong hai giá trị 1 hoặc 0 nên phần tử x chỉ có thể hoặc thuộc về tập hợp A
(µA(x) = 1) hoặc không thuộc về tập hợp A (µA(x) = 0).
Ví dụ: Tập hợp A = [1, 3] có hàm thành viên µA(x) trên hình 1.1. Tập hợp B = {1, 2, 3} có hàm thành
viên µB(x) trên hình 1.2.

Hình 1.1 Hình 1.2


Các phép hội, giao, hiệu, bù và tích của hai tập hợp A và B có thể được định nghĩa thông qua các hàm
thành viên như sau
- Hội của A và B, ký hiệu A∪B, là tập hợp của các phần tử thuộc A hoặc B. Hàm thành viên của tập
hợp A∪B được xác định bởi
µAUB(x) = max{µA(x), µB(x)} = min{1, µA(x) + µB(x)} (1.2)
- Giao của A và B, ký hiệu A∩B, là tập hợp của các phần tử thuộc A và B đồng thời. Hàm thành viên
của tập hợp A∩B được xác định bởi
µA∩B(x) = min{µA(x), µB(x)} = µA(x)µB(x) (1.3)
soft computing
6
- Hiệu của A và B, ký hiệu A\B, là tập hợp của các phần tử thuộc A và không thuộc B. Hàm thành
viên của tập hợp A\B được xác định bởi:
µA\B(x) = µA(x)[1 - µB(x)] (1.4)
- Bù của A, ký hiệu A , là tập hợp của các phần tử không thuộc A. Hàm thành viên của tập hợp A
được xác định bởi:
µ A (x) = 1 - µA(x) (1.5)
- Tích của A và B, ký hiệu AxB, là tập hợp của các cặp thứ tự (x,y) với x thuộc A và Y thuộc B. Hàm
thành viên của tập hợp AxB được xác định bởi:
µAxB(x,y) = µA(x)µB(y) (1.6)

1.1.2 Tập hợp mờ


Khác với tập hợp rõ, hàm thành viên của tập hợp mờ có thể có giá trị bất kỳ trong khoảng [0, 1]. Giá trị
của hàm thành viên µA(x) xác định ‘mức độ thành viên’ của phần tử x đối với tập mờ A. µA(x) = 1 có
nghĩa x ∈ A với độ chắc chắn 100%. µA(x) = 0 có nghĩa x ∉ A. Hình 1.3 trình bày hàm thành viên của
tập mờ A trên cơ sở R (các phần tử của A là các số thực) và tập mờ B trên cơ sở Z (các phần tử của B
là các số nguyên)

Hình 1.3: Tập mờ xác định trên cơ sở R (hình A) và Z (hình B)

1.1.3 Các phép toán trên tập hợp mờ


a) Hội (union)
Hội của hai tập mờ cùng cơ sở
Xét hai tập mờ A và B với các hàm thành viên µA(x) và µB(x). Hội của A và B là tập mờ, ký hiệu AUB,
xác định bởi hàm thành viên
µAUB(x) = s(µA(x),µB(x))
trong đó s(a,b) là ánh xạ [0,1]x[0,1]→ [0,1] thoả các điều kiện sau
1) s(1,1) = 1, s(0,a) = s(a,0) = a
2) s(a,b) = s(b,a)
3) nếu a ≤ a’ và b ≤ b’ thì s(a,b) ≤ s(a’,b’)
4) s(s(a,b),c) = s(a,s(b,c))
s(a,b) được gọi là s-norm.
soft computing
7
Một số s-norm thông dụng
Luật SUM: µAUB(x) = min {1, µA(x) + µB(x)}
Luật MAX: µAUB(x) = max {µA(x), µB(x)}
Luật EINSTEIN: µAUB(x) = [µA(x) + µB(x)]/[1+ µA(x)µB(x)]
Luật khác: µAUB(x) = µA(x) + µB(x) - µA(x)µB(x)

Ví dụ : Hội hai tập mờ A và B dùng luật SUM và luật MAX (hình 1.4 và bảng 1.1)

Hình 1.4 : Hội của hai tập mờ

Bảng 1.1
x -1 -0,5 0 1 1,5 2 4 4,5 5
µA(x) 0 0,5 1 1 0,5 0 0 0 0
µB(x) 0 0 0 0 0,5 1 1 0,5 0
µAUB(x) (luật SUM) 0 0,5 1 1 1 1 1 0,5 0
µAUB(x) (luật MAX) 0 0,5 1 1 0,5 1 1 0,5 0

Hội của hai tập mờ khác cơ sở


A: tập mờ trên cơ sở X với hàm thành viên µA(x)
B: tập mờ trên cơ sở Y với hàm thành viên µB(y)
A: tập mờ mở rộng của A là tập mờ trên cơ sở XxY với hàm thành viên µA(x,y) = µA(x), ∀y
B: tập mờ mở rộng của B là tập mờ trên cơ sở XxY với hàm thành viên µB(x,y) = µB(y), ∀x
Hội của 2 tập mờ khác cơ sở A và B là hội của hai tập mờ mở rộng A và B với hàm thành viên
µAUB(x,y) = µAUB(x,y)

Hình 1.5
Ví dụ: Cho hai tập mờ A và B (hình 1.5). Các tập mờ mở rộng A và B được xác định bởi các bảng 1.2
và 1.3. Bảng 1.4 cho hội của A và B dùng luật SUM. Bảng 1.5 cho hội của A và B dùng luật MAX.
soft computing
8
Bảng 1.2 : µA(x,y) = µA(x), ∀y
y
0 1 2 3 4 5 6
-2 0 0 0 0 0 0 0
-1 0,5 0,5 0,5 0,5 0,5 0,5 0,5
x 0 1 1 1 1 1 1 1
1 0,5 0,5 0,5 0,5 0,5 0,5 0,5
2 0 0 0 0 0 0 0

Bảng 1.3 : µB(x,y) = µB(y), ∀x


y
0 1 2 3 4 5 6
-2 0 0,5 1 1 1 0,5 0
-1 0 0,5 1 1 1 0,5 0
x 0 0 0,5 1 1 1 0,5 0
1 0 0,5 1 1 1 0,5 0
2 0 0,5 1 1 1 0,5 0

Bảng 1.4 : µAUB(x,y) = µAUB(x,y) dùng luật SUM


y
0 1 2 3 4 5 6
-2 0 0,5 1 1 1 0,5 0
-1 0,5 1 1 1 1 1 0,5
x 0 1 1 1 1 1 1 1
1 0,5 1 1 1 1 1 0,5
2 0 0,5 1 1 1 0,5 0

Bảng 1.5 : µAUB(x,y) = µAUB(x,y) dùng luật MAX


y
0 1 2 3 4 5 6
-2 0 0,5 1 1 1 0,5 0
-1 0,5 0,5 1 1 1 0,5 0,5
x 0 1 1 1 1 1 1 1
1 0,5 0,5 1 1 1 0,5 0,5
2 0 0,5 1 1 1 0,5 0

b) Giao (intersection)
Giao của hai tập mờ cùng cơ sở
Xét hai tập mờ A và B với các hàm thành viên µA(x) và µB(x). Giao của A và B là tập mờ, ký hiệu
A∩B, xác định bởi hàm thành viên
µA∩B(x) = t(µA(x),µB(x))
Trong đó t(a,b) là ánh xạ [0,1]x[0,1]→ [0,1] thoả các điều kiện sau
1) t(0,0) = 0, t(1,a) = t(a,1) = a
soft computing
9
2) t(a,b) = t(b,a)
3) nếu a ≤ a’ và b ≤ b’ thì t(a,b) ≤ t(a’,b’)
4) t(t(a,b),c) = t(a,t(b,c))
t(a,b) được gọi là t-norm.

Một số t-norm thông dụng


Luật PROD : µA∩B(x) = µA(x)µB(x)
Luật MIN : µA∩B(x) = min {µA(x), µB(x)}
Luật Lukasiewicz: µA∩B(x) = max{0, µA(x) + µB(x) - 1}
Luật khác : µA∩B(x) = µA(x)µB(x)/[2 - µA(x) - µB(x) + µA(x)µB(x)]

Ví dụ: Giao của hai tập mờ A và B dùng luật PROD và luật MIN (hình 1.6 và bảng 1.6)

Hình 1.6: Giao của hai tập mờ

Bảng 1.6
x 0 2 4 5 6 7 8 16 18 20
µA(x) 0 0,5 1 0,75 0,5 0,25 0 0 0 0
µB(x) 0 0 0 0,25 0,5 0,75 1 1 0,5 0
µA∩B(x) (luật PROD) 0 0 0 0,1875 0,25 0,1875 0 0 0 0
µA∩B(x) (luật MIN) 0 0 0 0,25 0,5 0,25 0 0 0 0

Giao của hai tập mờ khác cơ sở


A : tập mờ trên cơ sở X với hàm thành viên µA(x)
B : tập mờ trên cơ sở Y với hàm thành viên µB(y)
Giao của 2 tập mờ khác cơ sở A và B là giao của hai tập mờ mở rộng A và B với hàm thành viên
µA∩B(x,y) = µA∩B(x,y)

Ví dụ : Giao hai tập mờ A và B (hình 1.5, bảng 1.2 và 1.3) dùng luật PROD (bảng 1.7) và luật MIN
(bảng 1.8)
soft computing
10
Bảng 1.7 : µA∩B(x,y) = µA∩B(x,y) dùng luật PROD
y
µA∩B(x,y) 0 1 2 3 4 5 6
-2 0 0 0 0 0 0 0
-1 0 0,25 0,5 0,5 0,5 0,25 0
x 0 0 0,5 1 1 1 0,5 0
1 0 0,25 0,5 0,5 0,5 0,25 0
2 0 0 0 0 0 0 0

Bảng 1.8 : µA∩B(x,y) = µA∩B(x,y) dùng luật MIN


y
µA∩B(x,y) 0 1 2 3 4 5 6
-2 0 0 0 0 0 0 0
-1 0 0,5 0,5 0,5 0,5 0,5 0
x 0 0 0,5 1 1 1 0,5 0
1 0 0,5 0,5 0,5 0,5 0,5 0
2 0 0 0 0 0 0 0

c) Bù (complement)
Xét tập mờ A với hàm thành viên µA(x). Bù của A là tập mờ, ký hiệu A , xác định bởi hàm thành viên
µ A (x) = c(µA(x))
Trong đó c(a) là ánh xạ [0,1]→ [0,1] thoả các điều kiện sau
1) c(0) = 1, c(1) = 0
2) nếu a < b thì c(a) ≥ c(b)
Định nghĩa thông dụng
µ A (x) = 1 - µA(x)

Hình 1.7 : bù của tập mờ Hình 1.8 : các tập mờ của tốc độ xe

1.1.4 Biến ngôn ngữ


a) Biến ngôn ngữ
Ví dụ : tốc độ xe V được mô tả bởi 3 tập mờ (hình 1.8)
- Chậm với hàm thành viên µC(v)
- Vừa với hàm thành viên µV(v)
- Nhanh với hàm thành viên µN(v)
soft computing
11

b) Gia tử (hedge)
Các trạng từ nhấn mạnh : rất, hơi, có vẽ, . . ., dùng để định nghĩa các tập mờ mới từ các tập mờ có sẳn.
rất µrất nhanh(v) = [µ nhanh(v)]2
rất rất µrất rất nhanh(v) = [µ nhanh(v)]n với n > 2
2[µ (v)]2 neáu 0 ≤ µ nhanh (v) ≤ 0,5
thực sự là µthực sự nhanh(v) =  nhanh 2
 1 - 2[1 - µ nhanh (v)] neáu 0,5 ≤ µ nhanh (v) ≤ 1

hơi µ hơi nhanh(v) = µ nhanh (v)

Ví dụ: tập mờ 'nóng' và các tập mờ 'rất nóng', 'rất rất nóng', 'thực sự nóng', và 'hơi nóng' với các hàm
thành viên cho ở bảng 1.9
Bảng 1.9
nhiệt độ T 0o 10o 20o 30o 40o 50o 60o 70o 80o 90o
µ nóng(T) 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,8 1
µ rất nóng(T) 0 0 0,01 0,04 0,09 0,16 0,25 0,36 0,64 1
µ rất rất nóng(T) 0 0 0,001 0,008 0,027 0,064 0,125 0,216 0, 512 1
(n = 3)
µ thực sự nóng(T) 0 0 0,02 0,08 0,18 0,32 0,5 0,68 0,92 1
µ hơi nóng(T) 0 0 0,316 0,447 0,548 0,632 0,707 0,775 0,894 1

1.2 QUAN HỆ MỜ
1.2.1 Quan hệ rõ
Cho 2 tập rõ X và Y. Quan hệ giữa các tập hợp X và Y là tập hợp con Q của tập hợp tích XxY : Q⊂
XxY.
Ví dụ: X = {1, 2, 3} , Y = {2, 4}. Tập hợp tích
XxY = {(1,2), (1,4), (2,2), (2,4), (3,2), (3,4)}
Quan hệ Q(X,Y) : ‘phần tử của X < phần tử của Y’ được xác định bởi
Q = {(1,2), (1,4), (2,4), (3,4)}
Hàm thành viên của tập Q được cho ở bảng 1.10
Bảng 1.10 : µ Q(x,y)
y
µ Q(x,y) 2 4
1 1 1
x 2 0 1
3 0 1
soft computing
12

Ví dụ: X = { Hải Phòng, Biên Hòa, Vũng Tàu }, Y = {Hà Nội, Cần Thơ}.
Tập hợp tích
XxY = {( Hải Phòng, Hà Nội), (Hải Phòng, Cần Thơ), (Biên Hòa, Hà Nội),
(Biên Hòa, Cần Thơ), (Vũng Tàu, Hà Nội), (Vũng Tàu, Cần Thơ)}
Quan hệ Q(X,Y) : ‘thành phố x xa thành phố y’ được xác định bởi
Q = {(Hải Phòng, Cần Thơ), (Biên Hòa, Hà Nội), (Vũng Tàu, Hà Nội)}
Bảng 1.11 : µ Q(x,y)
y
µ Q(x,y) Hà Nội Cần Thơ
Hải Phòng 0 1
x Biên Hòa 1 0
Vũng Tàu 1 0
Hàm thành viên của tập Q được cho ở bảng 1.11

1.2.2 Quan hệ mờ
Ví dụ: X = { Hải Phòng, Biên Hòa, Vũng Tàu }, Y = {Hà Nội, Cần Thơ}.
Quan hệ mờ Q(X,Y) : ‘thành phố x xa thành phố y’ được xác định bởi hàm thành viên µQ(x,y) cho ở
bảng 1.12
Bảng 1.12 : µ Q(x,y)
y
µ Q(x,y) Hà Nội Cần Thơ
Hải Phòng 0.1 1.0
x Biên Hòa 0.9 0.2
Vũng Tàu 0.8 0.3

Ví dụ: X và Y là các tập hợp số (tập rõ).


2
Quan hệ x xấp xỉ y có thể được đặc trưng bởi hàm thành viên µ XX ( x, y) = e −( x − y ) .
1
Quan hệ x rất lớn hơn y có thể được đặc trưng bởi hàm thành viên µ ML ( x , y) =
1 + e −( x − y )
1.2.3 Hình chiếu
Cho hai tập hợp rõ X, Y và quan hệ Q (tập mờ trên cơ sở XxY) xác định bởi hàm thành viên µ Q(x,y).
Hình chiếu của Q trên X là tập mờ Qx trên cơ sở X xác định bởi hàm thành viên
µ Qx(x) = max y∈Yµ Q(x,y)
Hình chiếu của Q trên Y là tập mờ Qy trên cơ sở Y xác định bởi hàm thành viên
soft computing
13
µ Qy(y) = max x∈Xµ Q(x,y)

1.2.4 Kết hợp các quan hệ rõ


P : quan hệ rõ trên XxY
Q : quan hệ rõ trên YxZ
Quan hệ kết hợp PoQ là tập hợp con của XxZ sao cho
(x,z) ∈ PoQ ⇔ ∃y∈Y sao cho (x,y) ∈ P và (y,z) ∈ Q
Hàm thành viên của PoQ được xác định bởi
µ PoQ(x,z) = max y∈Y (µ P(x,y)µ Q(y,z)) = max y∈Y min(µ P(x,y),µ Q(y,z))

1.2.5 Kết hợp các quan hệ mờ


P : quan hệ mờ trên cơ sở XxY
Q : quan hệ mờ trên cơ sở YxZ
Quan hệ mờ kết hợp PoQ (trên cơ sở XxZ) được xác định bởi hàm thành viên
µ PoQ(x,z) = max y∈Y t(µ P(x,y),µ Q(y,z))
với t() là t chuẩn. Sử dụng t chuẩn là luật MIN, ta có phép kết hợp MAX-MIN
µ PoQ(x,z) = max y∈Y min(µ P(x,y),µ Q(y,z))
Sử dụng t chuẩn là luật PROD, ta có phép kết hợp MAX-PROD
µ PoQ(x,z) = max y∈Y (µ P(x,y)µ Q(y,z))

1.3 SUY DIỄN MỜ


1.3.1 Mệnh đề mờ
Mệnh đề đơn
Mệnh đề X is A được đặc trưng bởi tập mờ A với hàm thành viên µA(x).

Mệnh đề kép
Mệnh đề X is A and Y is B được đặc trưng bởi tập mờ A∩B với hàm thành viên µA∩B(x,y).
Mệnh đề X is A or Y is B được đặc trưng bởi tập mờ A∪B với hàm thành viên µA∪B(x,y).
Mệnh đề X is not A được đặc trưng bởi tập mờ A với hàm thành viên µ A (x).
Mệnh đề (X is not A and Y is B) or z is C được đặc trưng bởi tập mờ ( A ∩B)∪C với hàm thành viên
µ ( A ∩B)∪C(x,y,z).
soft computing
14
1.3.2 Diễn dịch luật IF … THEN …
Cho các mệnh đề p và q. Phép diễn dịch truyền thống
IF p THEN q (1.3.1)
(p ⇒ q) có bảng chân trị ở bảng 1.13. Ta thấy p ⇒ q tương đương với
p or q (1.3.2)
hoặc (p and q) or p (1.3.3)

Bảng 1.13 : bảng chân trị của phép suy diễn p ⇒ q


(T: true, F: false)

p q p⇒q

T T T
T F F
F T T
F F T

Có nhiều phương pháp diễn dịch mờ luật p ⇒ q.


a) Các phương pháp dựa vào diễn dịch cổ điển (non local)
Các phương pháp nầy được gọi là toàn cục theo nghĩa
p ⇒ q hàm nghĩa not p ⇒ not q
Phương pháp Dienes-Rescher : dựa vào (1.3.2) với luật MAX
µp⇒ q(x,y) = max{1-µp(x), µq(y)} (1.3.4)
Phương pháp Lukasiewicz : dựa vào (1.3.2) với luật SUM
µp⇒ q(x,y) = min{1,1-µp(x)+µq(y)} (1.3.5)
Phương pháp Zadeh : dựa vào (1.3.3) với luật MAX (hội) và MIN (giao)
µp⇒ q(x,y) = max{min{µp(x),µq(y)},1-{µp(x)} (1.3.6)

b) Các phương pháp của Mamdani (thông dụng nhất trong điều khiển mờ)
Các phương pháp nầy được gọi là cục bộ (local) theo nghĩa p ⇒ q không hàm nghĩa not p ⇒ not q.
Mamdani diễn dịch luật IF … THEN … như là giao của 2 tập mờ
µp⇒ q(x,y) = µp ∩ q(x,y) (1.3.7)
Luật MIN
soft computing
15
µp⇒ q(x,y) = min{µp(x), µq(y)} (1.3.8)
Luật PROD
µp⇒ q(x,y) = µp(x)µq(y) (1.3.9)

1.3.3 Logic cổ điển


a) Bảng chân trị của các phép logic cơ bản
Bảng 1.14 : bảng chân trị của các phép logic cơ bản

p q pΛq pVq p→q p↔q p

T T T T T T F
T F F T F F F
F T F T T F T
F F F F T T T

b) Modus ponens : (p Λ (p → q)) → q (1.3.10)


GT1 : X is A
GT2 : IF X is A THEN Y is B
KL : Y is B

c) Modus tollens : ( q Λ (p → q)) → p (1.3.11)


GT1 : Y is not B
GT2 : IF X is A THEN Y is B
KL : X is not A

d) Tam đoạn luận (Hypothetical Syllogism): ((p → q) Λ (q → r)) → (p → r) (1.3.12)


GT1 : IF X is A THEN Y is B
GT2 : IF Y is B THEN Z is C
KL : IF X is A THEN Z is C

1.3.4 Logic mờ
a) Quy tắc kết hợp suy diễn
soft computing
16
Cho
A’ : tập mờ trên cơ sở X với hàm thành viên µA’(x).
Q : quan hệ mờ trên cơ sở XxY với hàm thành viên µQ(x,y).
Mục tiêu : xác định tập mờ B’ (hình 1.7).
Gọi A’ là tập mờ mở rộng của A trên cơ sở XxY
µA’(x,y) = µA’(x), ∀y
Giao giữa A’ và Q
µA’∩Q(x,y) = t{µA’(x,y), µQ(x,y)}
Chiếu tập mờ A’∩Q lên tập Y ta được tập mờ B’
µB’(y) = sup x t{µA’(x,y), µQ(x,y)}

Hình 1.7
b) Modus ponens tổng quát
GT1 : X is A’
GT2 : IF X is A THEN Y is B
KL : Y is B’
A’ càng gần A thì B’ càng gần B
µB’(y) = supx∈X t{µA’(x), µA→B(x,y)} (1.3.13)

c) Modus tollens tổng quát


GT1 : Y is B’
GT2 : IF X is A THEN Y is B
KL : X is A’
B’ càng khác B thì A’ càng khác A
µA’(x) = sup y∈Y t{µB’(y), µA→B(x,y)} (1.3.14)

d) Tam đoạn luận tổng quát (hypothetical syllogism)


GT1 : IF X is A THEN Y is B
soft computing
17
GT2 : IF Y is B’ THEN Z is C
KL : IF X is A THEN Z is C’
B càng gần B’ thì C’ càng gần C
µA→C’(x,z) = sup y∈Y t{µA→B(x,y), µB’→C(y,z)} (1.3.15)

1.4 HỆ THỐNG XỬ LÝ MỜ

Hình 1.9: Sơ đồ khối của hệ thống xử lý mờ


x : tín hiệu vào (rõ), y : tín hiệu ra (rõ)

1.4.1 Khối mờ hóa (fuzzifier)


Ví dụ : Tín hiệu vào là nhiệt độ x với các tập mờ lạnh (L), ấm (A) và nóng (N) định nghĩa ở hình 1.10.
Tín hiệu ra của khối mờ hóa là vectơ
µX(x) = [µL(x), µ A(x), µ N(x)]T
Khi x = 35, ta có µX(35) = [0.25, 0.75, 0]T

Hình 1.10

1.4.2 Suy diễn mờ (fuzzy inference engine)


a) Mệnh đề hợp thành (phép suy diễn, implication)
IF A THEN B
đặc trưng bởi tập mờ với hàm thành viên µA⇒B(x,y). trong đó A là mệnh đề điều kiện và B là mệnh đề
kết luận

b) Hàm thành viên của mệnh đề hợp thành (theo Mamdani)


soft computing
18
Xét A là tập mờ trên cơ sở X với hàm thành viên µA(x), và B là tập mờ trên cơ sở Y với hàm thành viên
µB(y). Mệnh đề hợp thành
IF A THEN B
có hàm thành viên xác định bởi
µA⇒B(x,y) = µA∩B(x,y)
Diễn dịch phép suy diễn dùng luật MIN ta có
µA⇒B(x,y) = min {µA(x), µB(y)}
Diễn dịch phép suy diễn dùng luật PROD ta có
µA⇒B(x,y) = µA(x)µB(y)

Ví dụ : Cho 2 tập mờ A và B ở hình 1.11. Mệnh đề hợp thành IF A THEN B có hàm thành viên cho ở
bảng 1.10 (luật MIN) và 1.11 (luật PROD).

Hình 1.11: Tập mờ A và B Hình 1.12 : Tập mờ µA⇒B(y) khi x = 1

Bảng 1.10 : µA⇒B(x,y) dùng luật MIN


y
µA⇒B(x,y) 0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1 0 0,5 0,5 0,5 0,5 0,25 0
2 0 1 1 0,75 0,5 0,25 0
x 3 0 1 1 0,75 0,5 0,25 0
4 0 0,5 0,5 0,5 0,5 0,25 0
5 0 0 0 0 0 0 0

Bảng 1.11 : µA⇒B(x,y) dùng luật PROD


y
µA⇒B(x,y) 0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1 0 0,5 0,5 0,375 0,25 0,125 0
2 0 1 1 0,75 0,5 0,25 0
x 3 0 1 1 0,75 0,5 0,25 0
4 0 0,5 0,5 0,375 0,25 0,125 0
5 0 0 0 0 0 0 0
soft computing
19

c) Hàm thành viên của mệnh đề hợp thành nhiều điều kiện
Xét A là tập mờ trên cơ sở X với hàm thành viên µA(x), B là tập mờ trên cơ sở Y với hàm thành viên
µB(y) và C là tập mờ trên cơ sở Z với hàm thành viên µC(z). Mệnh đề hợp thành
IF A AND B THEN C
(ký hiệu A Λ B ⇒ C, với A Λ B là mệnh đề điều kiện, C là mệnh đề kết luận) có hàm thành viên xác
định bởi
µAΛB⇒C(x,y,z) = µ(A∩B)∩C(x,y,z)
Dùng luật MIN ta có
µAΛB⇒C(x,y,z) = min {h, µC(z)}
Dùng luật PROD ta có
µAΛB⇒C(x,y,z) = hµC(z)

min{µ A (x), µ B (y)} , luaät MIN


với h = 
 µ A (x)µ B (y) , luaät PROD

Ví dụ : Cho 3 tập mờ A, B và C ở hình 1.13. Mệnh đề hợp thành IF A AND B THEN C có hàm thành
viên cho ở bảng 1.12 dùng luật MIN-MIN và luật PROD-PROD.

Bảng 1.12 : Hàm thành viên của mệnh đề hợp thành


IF A AND B THEN C với x = 3 và y = 2
z 0 1 2 3 4 5 6
µAΛB⇒C(z) 0 0,5 0,5 0,5 0,5 0,25 0
luật MIN MIN
µAΛB⇒C(z) 0 0,1875 0,375 0,375 0,1875 0,09375 0
luật PROD PROD

Hình 1.13

d) Kết hợp các mệnh đề hợp thành (aggregation)


Kết quả của phép kết hợp các mệnh đề hợp thành
R1 : IF A1 THEN B1
soft computing
20
R2 : IF A2 THEN B2
:
Rn : IF An THEN Bn
là tập mờ xác định bởi hội của các tập mờ của các mệnh đề hợp thành µR = µR1∪R2∪…∪Rn.
Phụ thuộc vào cách thức diễn dịch phép suy diển (implication) IF… THEN và phép kết hợp
(aggregation) các mệnh đề hợp thành, ta có các phương pháp thông dụng sau
MAX-MIN : kết hợp dùng luật MAX và suy diển dùng luật MIN
MAX-PROD : kết hợp dùng luật MAX và suy diển dùng luật PROD
SUM-MIN : kết hợp dùng luật SUM và suy diển dùng luật MIN
SUM-PROD : kết hợp dùng luật SUM và suy diển dùng luật PROD

Ví dụ : Cho 3 tập mờ A, B và C ở hình 1.14. Hàm thành viên của các mệnh đề hợp thành
IF A THEN C
IF B THEN C
được cho ở bảng 1.13

Hình 1.14

Bảng 1.13 : Hàm thành viên µ(A⇒C) U (B⇒C)(z)của các mệnh đề hợp thành
IF A THEN C và IF B THEN C với x = 2 và y = 4
z -1 0 1 2 3 4 5 6
MAX-MIN 0 0,25 0,5 0,5 0,5 0,5 0,25 0
SUM-MIN 0 0,5 1 1 1 1 0,5 0
MAX-PROD 0 0,125 0,25 0,5 0,5 0,25 0,125 0
SUM-PROD 0 0,25 0,5 1 1 0,5 0,25 0

1.4.3 Khối giải mờ (defuzzifier)


a) Phương pháp cực đại
x = max x {µA(x)}
soft computing
21
Trường hợp có nhiều giá trị của x làm µA(x) đạt cực đại, người ta có thể lấy cận trái, cận phải hoặc
điểm trung bình
Ví dụ:
Ở hình 1.15, x=3
Ở hình 1.16, y = 2 (cận trái)
y = 5 (cận phải)
y = 3,5 (trung bình)

Hình 1.15 Hình 1.16


b) Phương pháp điểm trọng tâm (center of gravity, centroid)
Giá trị giải mờ là hoành độ điểm trọng tâm của đồ thị µ(x)

x=
∫ xµ(x)dx

∫ µ(x)dx
c) Phương pháp trung bình (center of average)
Để đơn giản hóa tính toán, ta có thể rời rạc hoá µ(x). Phương pháp điểm trọng tâm trở thành phương
pháp trung bình

∑ x µ(x ) k k
x= k

∑ µ(x ) k
k

1.4.4 Tính phi tuyến của hệ thống xử lý mờ


Ví dụ : Các biến x và y được mờ hóa như hình 1.17 (-2 ≤ y ≤ 2). Các luật hợp thành được xác định bởi
IF X IS S THEN Y IS P
IF X IS M THEN Y IS Z
IF X IS B THEN Y IS N
Suy diễn mờ theo phương pháp MAX-MIN. Giải mờ dùng phương pháp điểm trọng tâm (rời rạc hóa tại
các giá trị nguyên của y). Ta được kết quả ở hình 1.18 và bảng 1.14.
soft computing
22
Bảng 1.14 : Quan hệ phi tuyến giữa y và x
x 0 1 2 3 4 5 6 7 8
y 1,5 1,5 1,5 1,0 0,0 -1,0 -1,5 -1,5 -1,5

Hình 1.17

Hình 1.18
1.4.5 Hệ thống xử lý mờ loại 2
1) Tập mờ loại 2
Tập mờ loại 2 được đặc trưng bởi hàm thành viên với giá trị mờ. Ví dụ hình 1.19 trình bày tập mờ loại
2 với hàm thành viên có giá trị nằm trong khoảng xác định bởi
 (x − 1) 2   (x − 5) 2 
µ 1 (x) = exp  −  và µ 2 (x) = exp −  (1.4.1)
 8   8 

Hình 1.20 trình bày tập mờ loại 2 với hàm thành viên có giá trị nằm trong khoảng xác định bởi
 (x − 5) 2   (x − 5) 2 
µ 1 (x) = exp  −  và µ 2 (x) = exp −  (1.4.2)
 8   32 
soft computing
23

Hình 1.19 Hình 1.20


2) Mệnh đề hợp thành
Mệnh đề hợp thành
(X is A) and (Y is B)
được đặc trưng bởi 1 tập mờ loại 2 với hàm thành viên xác định bởi (AND dùng luật PROD)
[µ A
(x) µ B (y), µ A (x) µ B (y) ] (1.4.3)

3) Giải mờ

Trước khi giải mờ, các tập mờ loại 2 được chuyển sang loại 1. Các giá trị y r và y l được xác định
dùng phương pháp tâm của tập hợp (center of set) như sau :
R N
h
∑ µnw n
r + ∑µ w h
r
yr = n =1 h = R +1
R N (1.4.4)
h
∑µ n
+ ∑µ
n =1 h = R +1
L N
n
∑ µ w n
l + ∑ µ h
w h
l
y = n =1 h = L +1 (1.4.5)
l L N
n
∑ µ + ∑ µ h

n =1 h = L +1

với 1 ≤ R ≤ N-1 và 1 ≤ L ≤ N-1.


Định nghĩa
soft computing
24
1 µ 1 µ 2 R +1 R +2 N 
φ Tr = µ 3 ... µ R µ µ ... µ
R N
h  
∑ µn + ∑µ
n =1 h = R +1

φ Tl =
1 µ 1 µ
2
... µ
L
µ L +1 µ L+2 ... µ N 
L
n
N  
∑µ + ∑ µh
n =1 h = L +1

w r = w [ 1
r w 2
r w 3
r .. w r]
N T
[
w l = w 1l w l2 w 3l .. w lN ] T

⇒ y l (k) = φ Tl (k)w l (k) y r (k) = φTr (k)w r (k)


Tín hiệu ra (giải mờ) được xác định như sau
1
y(k) = [y l (k) + y r (k)] (1.4.6)
2

1.5 ĐIỀU KHIỂN MỜ

Hình 1.28 : Điều khiển PID truyền thống

Hình 1.29 : Điều khiển PID mờ


Phương pháp Mamdani.
Phương pháp Sugeno.

1.6 NHẬN DẠNG HÀM THÀNH VIÊN VÀ LUẬT HỢP THÀNH


Các tập mờ của tín hiệu vào x được chọn bao phủ toàn miền xác định của x
∀x ∈ [xmin, xmax], ∃Z : µZ(x) ≠ 0.
soft computing
25

Hình 1.19
1.6.1 Nhận dạng luật hợp thành
Mục tiêu : Cho trước các tập mờ của tín hiệu vào x và ra y xác định các luật hợp thành từ các dữ liệu đo
được x(k) và y(k), k = 1, 2, … N.
Ví dụ : Bảng 1.15 cho các dữ liệu đo. Các tập mờ của các tín hiệu x và y được định nghĩa ở hình 1.20.

Hình 1.20
Bảng 1.15
x -15 -10 -5 0 5 10 15
y -1.5 -1.1 -0.5 0.1 0.4 0.9 1.6

Từ các tập mờ của x và y, ta xác định được giá trị của các hàm thành viên của dữ liệu ở bảng 1.16.
Bảng 1.16

x -15 -10 -5 0 5 10 15

µ Nx (x) 0.84 0.50  0.21 0.06  0.01 0.00 0.00


µ (x)   0.21 0.50 0.84 1.00  0.84 0.50  0.21
 Zx               
 µ Px (x)  0.00 0.00  0.01 0.06  0.21 0.50 0.84

y -1.5 -1.1 -0.5 0.1 0.4 0.9 1.6

µ Ny (y) 0.84 0.57   0.21 0.05 0.02  0.00  0.00 


   0.21  0.43 0.84 0.99 0.89  0.57  0.17 
µ Zy (y)               
 µ Py (y)  0.00 0.00   0.01 0.08 0.17   0.43 0.89 
 
soft computing
26
Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội. Kết quả
được cho ở hình 1.21. Giá trị trong mỗi ô là giá trị lớn nhất (MAX) của tích (PROD) của các hàm thành
viên tương ứng của x và y. Ví dụ ô tương ứng với NX và NY chứa giá trị max{µNx(x)µNy(y)} = 0.706.

Hình 1.21 : Giá trị lớn nhất của tích của các hàm thành viên
Luật hợp thành được xác định tương ứng với ô có giá trị lớn nhất của mỗi cột ở hình 1.21. Giá trị trên
mỗi ô có thể được diễn dịch là độ tin cậy của luật hợp thành. Ta có các luật hợp thành sau
IF X IS NX THEN Y IS NY
IF X IS ZX THEN Y IS ZY
IF X IS PX THEN Y IS PY
với độ tin cậy lần lượt là 0.706, 0.99 và 0.748. Việc chọn các tập mờ ảnh hưởng trực tiếp đến giá trị của
độ tin cậy. Nếu độ tin cậy có giá trị bé, ta cần phải chọn lại các tập mờ.

1.6.2 Nhận dạng hàm thành viên


Mục tiêu: Cho trước các tập mờ của tín hiệu vào x và các luật hợp thành, xác định các tập mờ của tín
hiệu ra y từ các dữ liệu đo được x(k) và y(k), k = 1, 2, … N.
Giới hạn: các tập mờ của tín hiệu ra y có dạng đơn trị (singleton).
Ví dụ: Các dữ liệu đo được cho ở bảng 1.17. Các tập mờ của các tín hiệu x và y được định nghĩa ở hình
1.22. Các luật hợp thành được cho bởi
IF X IS SX THEN Y IS LY
IF X IS LX THEN Y IS SY
Bảng 1.18 xác định giá trị của các hàm thành viên µSx(x) và µLx(x) từ các tập mờ của x. Sử dụng luật
PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội, và giải mờ dùng
phương pháp trung bình, ta xác định được giá trị giải mờ y ở bảng 1.18.
soft computing
27

Hình 1.22 : Các tập mờ của x và y

Bảng 1.17
x 0 5 15 20
y 4 3 2 1

Bảng 1.18
x 0 5 15 20
µSx (x)  1.00  0.84  0.21 0.06
µ (x) 0.06  0.21 0.84 1.00 
 Lx         
y y L + 0.06y S 0.84y L + 0.21y S 0.21y L + 0.84y S 0.06y L + y S
1.06 1.05 1.05 1.06
y 4 3 2 1
Các giá trị yL và yS có thể được xác định bằng cách cực tiểu hoá hàm mục tiêu sau (phương pháp bình
phương tối thiểu, least squares)

J= ∑ [y k − y k ]2
k

y + 0.06y S 0.84y L + 0.21y S 0.21y L + 0.84y S 0.06y L + y S


= [ L -4]2 + [ -3]2 + [ -2]2 + [ -1]2
1.06 1.05 1.05 1.06
J đạt cực tiểu tại
∂J
= 0 ⇒ 1.57yL + 0.42yS - 6.63 = 0
∂y L
∂J
= 0 ⇒ 0.42yL + 1.57yS - 3.37 = 0
∂y S
Ta được yL = 3.9 và yS = 1.1.

1.6.3 Nhận dạng hệ thống động dùng mô hình mờ (nonlinear dynamic system identification)
soft computing
28
Đối tượng
y(k) = f(y(k-1), y(k-2), … , y(k-n), u(k-1), u(k-2), … , u(k-m)) (1.6.1)
Mô hình
y(k) = f(y(k-1), y(k-2), … , y(k-n), u(k-1), u(k-2), … , u(k-m)) (1.6.2)

Hình 1.23 : Mô hình mờ

Hình 1.24 : Các tập mờ của tín hiệu vào và ra


Luật hợp thành
IF [u(k-1) IS Nu] AND [u(k-2) IS Zu] … AND [u(k-m) IS Pu] AND
[y(k-1) IS Ny] AND [y(k-2) IS Zy] … AND [y(k-n) IS Py] THEN y(k) IS a1
Nhận dạng : ước lượng giá trị của a1, a2, … , ap từ các dữ liệu đo u(k) và y(k)

1.6.4 Mô phỏng và dự báo

Hình 1.25 : Dự báo Hình 1.26 : Mô phỏng


soft computing
29

1.6.5 Cân bằng kênh thông tin

Hình 1.27 : Cân bằng kênh thông tin

1.7 PHÂN NHÓM MỜ


1.7.1 Phân nhóm rõ (hard c-partition) [7]
Xét tập X = {x1, x2, … xn}. Gọi P(X) là tập hợp của tất cả các tập hợp con của X (power set). Phân
nhóm tập X thành c nhóm (hard c-partition)
Ai ∈ P(X), i = 1, 2, … c
sao cho

U ic=1 Ai = X (1.7.1)

Ai ∩ Aj = ∅ ∀i≠j (1.7.2)
Mỗi tập con Ai được gọi là 1 nhóm (cluster).

Định nghĩa: Ma trận thành viên U là ma trận cxn

1 , x j ∈ A i
Uij =  (1.7.3)
0 , x j ∉ A i
Vectơ điểm trọng tâm V là vectơ 1xc (tổng quát xj là vectơ px1 → V là ma trận pxc)
n
∑ U ij x j
j=1
Vi = n
(1.7.4)
∑ U ij
j=1

Ma trận khoảng cách D là ma trận cxn,


Dij = ||xj – Vi|| (1.7.5)
Hàm mục tiêu
soft computing
30
c n c c
J(U,V) = ∑ ∑ U ij || x j − Vi ||2 = ∑ ∑ || x j − Vi || 2 = ∑ ∑ D ij2 (1.7.6)
i =1 j=1 i =1 x j∈Ai i =1 x j∈Ai

Giải thuật phân nhóm rõ (ISODATA)


Bước 1: Khởi động trị U(0)
k = 0, 1, 2, …
Bước 2: Tính V(k) theo (1.7.4)
Bước 3: Cập nhật U(k)

1 || x j − Vi (k ) || = min m || x j − Vm (k ) ||
Uij(k+1) =  (1.7.7)
0 otherwise

Bước 4: Nếu || U(k+1) – U(k) || < ε (chọn trước) : dừng.


Ngược lại lặp lại từ bước 2

Ví dụ: Phân nhóm tập hợp X = {1, 2, 4, 7, 9} thành 2 nhóm.


1 1 0 0 0
k = 0 : Ma trận thành viên U(0) =  
0 0 1 1 1 
1.50 
Vectơ điểm trọng tâm V(0) =  
6.67 
0.50 0.50 2.50 5.50 7.50
Ma trận khoảng cách D(0) =  
5.67 4.67 2.67 0.33 2.33
Vì D13(0) < D23(0) nên phần tử “4” được xếp vào nhóm 1

1 1 1 0 0
k = 1 : Ma trận thành viên U(1) =  
0 0 0 1 1 
2.33
Vectơ điểm trọng tâm V(1) =  
8.00
1.33 0.33 1.67 4.67 6.67 
Ma trận khoảng cách D(1) =  
7.00 6.00 4.00 1.00 1.00 
Tất cả các phần tử của mỗi nhóm đều gần điểm trọng tâm của nhóm hơn điểm trọng tâm của nhóm
khác. Việc phân nhóm kết thúc
soft computing
31
1.7.2 Phân nhóm mờ (fuzzy c-partition) [7]
Ma trận thành viên U là ma trận c x n, 0 ≤ Uij ≤ 1
Vectơ điểm trọng tâm V là vectơ c x 1
n
∑ U ijm x j
j =1
Vi = , 1 ≤ i ≤ c, 1 < m < ∞ (1.7.8)
n
∑ U ijm
j =1

Hàm mục tiêu : phân nhóm X sao cho hàm mục tiêu Jm(U,V) cực tiểu
c n
Jm(U,V) = ∑∑ U ijm || x j − Vi ||2 (1.7.9)
i =1 j=1

[7] chứng minh được rằng Jm(U,V) cực tiểu với ma trận thành viên U
1
Uij = 2
, 1 ≤ i ≤ c, 1 ≤ j ≤ n (1.7.10)
c  || x j − Vi ||  m −1
∑  || x − V ||  
k =1 j k 

Giải thuật phân nhóm mờ


Bước 1: Khởi động trị U(0)
k = 1, 2, …
Bước 2: Tính V(k) theo (1.7.8)
Bước 3: Cập nhật U(k) theo (1.7.10)
Bước 4: Nếu || U(k) – U(k-1) || < ε (chọn trước) : dừng. Ngược lại lặp lại từ bước 2

Ví dụ: Phân nhóm tập hợp X = {1, 2, 4, 7, 9} thành 2 nhóm.


Chọn m = 2
1 1 0 0 0
k = 0 : Ma trận thành viên U(0) =  
0 0 1 1 1 
1.5000 
Vectơ V(0) =  
6.6667 

0.9923 0.9887 0.5322 0.0037 0.0882


k = 1 : Ma trận thành viên : U(1) =  
0.0077 0.0113 0.4678 0.9963 0.9118
soft computing
32

1.8387 
Vectơ V(1) =  
7.4920
Do U(1) – U(0) và V(1) – V(0) lớn nên tiếp tục vòng lặp

0.9836 0.9991 0.7230 0.0090 0.0425


k = 2 : Ma trận thành viên : U(2) =  
0.0164 0.0009 0.2270 0.9910 0.9575
2.0366
Vectơ V(2) =  
7.8107 
Do U(2) – U(1) và V(2) – V(1) lớn nên tiếp tục vòng lặp

0.9774 1.0000 0.7902 0.0260 0.0283


k = 3 : Ma trận thành viên : U(3) =  
0.0226 0.0000 0.2098 0.9740 0.9717 
2.1173
Vectơ V(3) =  
7.9049
Do U(3) – U(2) và V(3) – V(2) lớn nên tiếp tục vòng lặp

0.9745 0.9996 0.8114 0.0332 0.0247 


k = 4 : Ma trận thành viên : U(4) =  
0.0255 0.0004 0.1886 0.9668 0.9753
2.1444
Vectơ V(4) =  
7.9322
Do U(4) – U(3) và V(4) – V(3) bé nên dừng vòng lặp

Chương trình phân nhóm mờ


clear all
X = [1, 2, 4, 7, 9];
U = [1, 1, 0, 0, 0;
0, 0, 1, 1, 1];
V = [3/2; 20/3];
n = 5;
m = 2;
c = 2;
% tính U
soft computing
33
mm = 2/(m-1);
for i = 1 : c,
for j = 1 : n,
U(i,j) = 0;
for k = 1 : c, U(i,j) = U(i,j) + (abs(X(j)-V(i))/abs(X(j)-V(k)))^mm; end
U(i,j) = 1/U(i,j);
end
end
% tính V
for i = 1 : c
XX1 = 0; XX2 = 0;
for j = 1 : n,
XX1 = XX1 + X(j)*(U(i,j)^m);
XX2 = XX2 + U(i,j)^m;
end
V(i) = XX1/XX2;
end
X
U
V
soft computing
34
1.8 HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MATLAB/FUZZY TOOLBOX
>> fuzzy Menu File

Menu Edit Menu View

View/Edit membership functions Menu Edit


soft computing
35
Edit/Add MFs Chọn số và loại tập mờ input

Các tập mờ output (tương tự input)

Sau khi chọn View/Edit rules Add rule


soft computing
36
View / View rules View / View surface

File / New Fis / Sugeno Edit / Membership Function

Edit / Membership Function View/Edit rules


soft computing
37
View / View rules View / View surface

File/Save to workspace as Fuzzy Logic Controller

Trên Simulink Library Browser, chọn Fuzzy Logic Toolbox/Fuzzy Logic Controller hoặc Fuzzy
Logic Toolbox/Fuzzy Logic Controller with Ruleviewer và đặt vào cửa sổ làm việc của SIMULINK.
Click biểu tượng và đặt tên FIS Matrix trùng với tên đã đặt cho bộ xử lý mờ.
soft computing
38
Bài tập
1.1 Kiểm chứng các biểu thức (1.2), (1.3), (1.4), (1.5), (1.6).
1.1 Tìm các hàm thành viên µA(x), µB(x), µ A (x), µ B (x), µA∩B(x), µAUB(x), µA\B(x), µAxB(x,y) của các tập
rõ sau
a) A = [1, 5], B = [3, 9]
b) A = {1, 2, 3}, B = {2, 4}

1.2 Cho các tập mờ cùng cơ sở A, B, C với các hàm thành viên hình P1.1

Hình P1.1
Tìm hàm thành viên của các tập mờ sau
a) A, B, C
b) A∩B, A∩C, B∩C, A∩B∩C theo luật PROD và luật MIN
c) AUB, AUC, BUC, AUBUC theo luật SUM và luật MAX
d) rất C, rất rất C (chọn n = 3), thực sự C, hơi C

1.3 Cho các tập mờ cùng cơ sở A, B, C với các hàm thành viên ở bảng P1.1
Bảng P1.1
x -3 -2 -1 0 1 2 3
µA(x) 0 0,25 0,5 0,75 1 0,5 0
µB(x) 0 0,5 1 0,75 0,5 0,25 0
µC(x) 0 0,5 1 1 1 0,5 0

Tìm hàm thành viên của các tập mờ sau


a) A, B, C
b) A∩B, A∩C, B∩C, A∩B∩C theo luật PROD và luật MIN
c) AUB, AUC, BUC, AUBUC theo luật SUM và luật MAX
d) rất A, rất rất A (chọn n = 3), thực sự A, hơi A

1.4 Cho các tập mờ khác cơ sở A, B, C với các hàm thành viên hình P1.2. Tìm hàm thành viên của các tập
mờ sau
soft computing
39
a) A∩B, A∩C, B∩C, A∩B∩C theo luật PROD và luật MIN
b) AUB, AUC, BUC, AUBUC theo luật SUM và luật MAX

Hình P1.2

1.5 Cho các tập mờ khác cơ sở A và B với các hàm thành viên ở bảng P1.2 và P1.3
Bảng P1.2
x -3 -2 -1 0 1 2 3
µA(x) 0 0,25 0,5 0,75 1 0,5 0

Bảng P1.3
y -3 -2 -1 0 1 2 3
µB(y) 0 0,5 1 0,75 0,5 0,25 0
Tìm hàm thành viên của các tập mờ sau
a) A∩B theo luật PROD và luật MIN
b) AUB theo luật SUM và luật MAX

1.6 Cho các tập mờ A và B với các hàm thành viên hình P1.3. Tìm hàm thành viên của các mệnh đề hợp
thành µA⇒B(x,y) và µB⇒A(y,x) dùng luật MIN và luật PROD.

Hình P1.3

1.7 Cho các tập mờ A và B với các hàm thành viên ở bảng P1.4 và P1.5. Tìm hàm thành viên của các mệnh
đề hợp thành µA⇒B(x,y) và µB⇒A(y,x) dùng luật MIN và luật PROD.
Bảng P1.4
x -3 -2 -1 0 1 2 3 4
µA(x) 0 0,5 1 1 0.75 0,5 0,5 0
Bảng P1.5
soft computing
40
y 0 2 3 4 5 6 7 8
µB(y) 0 0,5 0,5 1 0,5 0,5 0,25 0

1.8 Cho các biến x và y với các tập mờ ở hình P1.3. Xác định giá trị giải mờ của x và y
a) Dùng phương pháp điểm cực đại (cận trái, cận phải, trung bình).
b) Dùng phương pháp điểm trọng tâm.

1.9 Cho hệ thống xử lý mờ hình P1.4 với các tập mờ của x và y định nghĩa như hình P1.5. Các luật hợp
thành được xác định bởi
IF X IS NX THEN Y IS LY
IF X IS ZX THEN Y IS MY
IF X IS PX THEN Y IS SY
Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội, và giải
mờ dùng phương pháp điểm trọng tâm. Xác định tập mờ và giá trị giải mờ của y với các giá trị khác
nhau của x: x =-4, x =-2, x = 0, x = 2, x = 4.

Hình P1.4 Hình P1.5

1.10 Cho hệ thống xử lý mờ hình P1.4 với các tập mờ của x và y định nghĩa như hình P1.6. Các luật hợp
thành được xác định bởi
IF X IS NX THEN Y IS LY
IF X IS ZX THEN Y IS MY
IF X IS PX THEN Y IS SY
Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội, và giải
mờ dùng phương pháp điểm trọng tâm. Xác định tập mờ và giá trị giải mờ của y với các giá trị khác
nhau của x: x =-4, x =-2, x = 0, x = 2, x = 4.

Hình P1.6
soft computing
41
1.11 Cho hệ thống xử lý mờ hình P1.4 với các tập mờ của x và y định nghĩa như hình P1.6. Các luật hợp
thành được xác định bởi
IF X IS NX THEN Y IS LY
IF X IS ZX THEN Y IS MY
IF X IS PX THEN Y IS SY
Sử dụng luật MIN để diễn dịch phép giao, luật SUM để diễn dịch phép hội, và giải mờ dùng phương
pháp điểm trọng tâm. Xác định tập mờ và giá trị giải mờ của y với các giá trị khác nhau của x: x =-4, x
=-2, x = 0, x = 2, x = 4.

1.12 Cho hệ xử lý mờ hình P1.4. Các tập mờ của x và y được định nghĩa ở hình P1.7. Các luật hợp thành
được xác định bởi
IF X IS SX THEN Y IS LY
IF X IS LX THEN Y IS SY

Hình P1.7
Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội, và giải
mờ dùng phương pháp trung bình. Xác định giá trị của yS và yL theo các dữ liệu đo ở bảng P1.6.
Bảng P1.6
x 0 1 3 4
y 6 5 3 2

1.13 Cho hệ xử lý mờ hình P1.4. Các tập mờ của x và y được định nghĩa ở hình P1.6. Dữ liệu đo được cho ở
bảng P1.7. Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép
hội. Xác định các luật hợp thành và độ tin cậy tương ứng.

Bảng P1.7
x -4 -2 0 2 4
y 6 4 3 2 0

1.14 Cho hệ thống xử lý mờ với các tập mờ của x, z và y định nghĩa như hình P1.8. Các luật hợp thành được
xác định bởi
IF X IS SX AND Z IS SZ THEN Y IS LY
soft computing
42
IF [ X IS SX AND Z IS LZ ] OR [ X IS LX AND Z IS SZ ] THEN Y IS MY
IF X IS LX AND Z IS LZ THEN Y IS SY
Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật MAX để diễn dịch phép hội, và giải
mờ dùng phương pháp trung bình. Xác định tập mờ và giá trị giải mờ của y với các giá trị của x và z ở
bảng P1.8
Bảng P1.8
x 1 1 1 2 2 2 3 3 3
z 1 2 3 1 2 3 1 2 3

Hình P1.8

1.15 Phân nhóm tập họp X dùng phương pháp rõ và phương pháp mờ (với m = 2)
a) X = {1, 2, 5, 8, 12}, c = 2
b) X = {1, 2, 5, 8, 12}, c = 3
0 0 0 1 2 3 3 3 
c) X=  ,c=2
0 1 2 2 2 0 1 2 

1.16 Dùng phương pháp phân nhóm mờ, viết m file phân chia tập dữ liệu X thành hai và ba nhóm. Minh họa
bằng đồ thị.
0 0 0 1 2 3 3 3 2 2 1 4 2 3 3
a) X =  
0 1 2 2 2 0 1 2 0 1 0 0 3 4 3
b) X = [-5 -4 -3 -2 -1 0 1 2 3 4 5]

1.17 Dùng Simulink mô phỏng hệ thống rời rạc H(z) (dùng khối discrete transfer function với sample time =
0.1) với tín hiệu vào là ồn trắng (dùng khối band limited white noise với sample time = 1). Lưu các tín
hiệu vào và ra của hệ thống vào tập tin (dùng khối to file với sample time = 0.1). Viết m file để đọc dữ
soft computing
43
liệu trên trên tập tin và nhận dạng mô hình mờ của hệ thống. So sánh tín hiệu ra của hệ thống với tín
hiệu ra mô phỏng và dự báo. Nhận xét.
1 1
a) H(z) = b) H(z) =
z - 0.5 z - 0.9

0.4
1.18 Xây dựng bộ cân bằng mờ cho kênh thông tin với hàm truyền đạt H(z) = .
z - 0.5
a) dùng bộ cân bằng ngang bậc 5.
b) dùng bộ cân bằng ngang bậc 10.

1.19 Dùng Simulink mô phỏng hệ thống điều khiển mờ Mamdani cho đối tượng có hàm truyền đạt H(s) =
1
(chọn chu kỳ lấy mẫu = 1s).
20s + 1

1.20 Dùng Simulink mô phỏng hệ thống điều khiển mờ Sugeno cho đối tượng có hàm truyền đạt H(s) =
1
(chọn chu kỳ lấy mẫu = 1s).
20s + 1
soft computing
44

Chương 2 MẠNG NEURON VÀ ỨNG DỤNG

2.1 KHÁI NIỆM CƠ BẢN


2.1.1 Mạng neuron nhân tạo (artificial neural networks, ANN)
Mạng neuron nhân tạo mô phỏng hoạt động của não người để giải quyết các bài toán kỹ thuật. Bộ não
người có khoảng 1010 neuron. Các neuron nầy được kết nối với nhau thành mạng. Việc xử lý thông tin
được thực hiện nhờ vào sự lan truyền của tín hiệu từ neuron nầy sang neuron khác thông qua các sợi
trục thần kinh (axon). Mạng neuron nhân tạo được đặc trưng bởi ba yếu tố
- phần tử xử lý (neuron)
- cấu trúc và ghép nối của các phần tử xử lý
- phương pháp huấn luyện mạng

2.1.2 Neuron (phần tử xử lý: processing element PE) hình 2.1


Hình 2.1 trình bày 1 neuron (a) và 1 neuron nhân tạo (b).

Hình 2.1 : A) Neuron B) Neuron nhân tạo


Mỗi neuron nhân tạo được đặc trưng bởi quan hệ giữa các tín hiệu vào x1, x2, … , xm và tín hiệu ra y
net = f(x1, x2, … , xm) - θ
ham tich hop
y = a(net)
ham tac dong
Trong đó θ: ngưỡng tác động của neuron, a(.): hàm tác động (activation function), f(.): hàm tích hợp
(integration function).

a) Hàm tích hợp: kết hợp các thông tin nhận được ở tín hiệu vào. Ta có một số hàm tích hợp thông
dụng như sau
- Hàm tích hợp tuyến tính
soft computing
45
m
net = f(x) - θ = ∑ w jx j - θ = wTx (2.1.1)
j =1

với x = [x1, x2, … , xm, -1]T và w = [w1, w2, … , wm, θ]T : vectơ các trọng số

- Hàm tích hợp dạng toàn phương (quaratic function)


m
net = f(x) - θ = ∑ w jx 2j - θ (2.1.2)
j=1

b) Hàm tác động (hàm kích hoạt, hàm truyền, activation function, transfer function): tạo tín hiệu ra y
= a(net). Ta có một số hàm tác động thông dụng như sau

- Hàm tác động tuyến tính


a(net) = net (2.1.3)
sử dụng trong các ứng dụng mà tín hiệu ra của neuron không bị chặn (lớp ra của các bộ điều khiển,
bộ xấp xỉ hàm …)
- Bước nhảy đơn vị (step function)

1 neáu net > 0


a(net) =  (2.1.4)
 0 neáu net ≤ 0
sử dụng trong các ứng dụng mà tín hiệu ra của neuron chỉ có thể có giá trị 0 hoặc 1 (lớp ra của các
bộ cân bằng, hệ thống phân nhóm …)
- Hàm dấu (signum function)

 1 neáu net ≥ 0
a(net) =  (2.1.5)
 - 1 neáu net < 0
sử dụng trong các ứng dụng mà tín hiệu ra của neuron chỉ có thể có giá trị -1 hoặc 1 (lớp ra của các
bộ cân bằng, phân nhóm …)
- Hàm dốc (ramp function)
0 neáu net < 0

a(net) = net neáu 0 ≤ net ≤ 1 (2.1.6)
1 neáu net > 1

sử dụng trong các ứng dụng mà tín hiệu ra của neuron chỉ có thể có giá trị trong khoảng 0 và 1.
- Hàm sigmoid đơn cực (unipolar sigmoid function, logsig)
soft computing
46
1
a(net) = (2.1.7)
1 + e - λnet
sử dụng trong các ứng dụng mà tín hiệu ra của neuron chỉ có thể có giá trị trong khoảng 0 và 1.
- Hàm sigmoid lưỡng cực (bipolar sigmoid function, tansig)
2
a(net) = −1 (2.1.8)
1 + e - λnet
sử dụng trong các ứng dụng mà tín hiệu ra của neuron có giá trị trong khoảng -1 và 1.

Hình 2.2 : A) hàm dốc B) Hàm sigmoid đơn cực C) Hàm sigmoid lưỡng cực
Trong (2.1.7) và (2.1.8), λ là hằng số dương xác định độ dốc của hàm tác động ở lân cận điểm net = 0.
Khi λ → ∞ hàm sigmoid đơn cực tiến đến bước nhảy đơn vị, hàm sigmoid lưỡng cực tiến đến hàm dấu.

2.1.3 Kết nối


Hình 2.3 trình bày một số kết nối các neuron thành mạng

Hình 2.3 : Các cấu trúc tiêu biểu của mạng neuron
A) mạng truyền thẳng 1 lớp (single layer feedforward network)
B) mạng truyền thẳng nhiều lớp (multi layer feedforward network)
C) nút đơn hồi tiếp (single node with feedback to itself)
D) mạng hồi quy nhiều lớp (multi layer recurrent network)

2.1.4 Huấn luyện mạng (training, learning)


soft computing
47
Mục đích của huấn luyện mạng là xác định các bộ trọng số của các neuron trong mạng từ các dữ liệu.
Nếu quá trình huấn luyện có sử dụng tín hiệu ra mong muốn d, ta nói các neuron học có giám sát. Nếu
quá trình huấn luyện không sử dụng tín hiệu ra mong muốn, ta nói các neuron học không có giám sát.
Nếu quá trình huấn luyện không sử dụng tín hiệu ra mong muốn nhưng có sử dụng 1 tín hiệu đánh giá
chất lượng của mạng, ta nói quá trình học của mạng là quá trình học tăng cường (hình 2.4).

Hình 2.4 : Các phương pháp học (learning)


A) học có giám sát (supervised learning)
B) học tăng cường (reinforcement learning)
C) học không có giám sát (unsupervised learning, self organizing)

Luật học các trọng số thường có dạng sau


w(k+1) = w(k) + ηr(k)x(k) (2.1.9)
trong đó η > 0 : hằng số học (learning constant), r = fr(w, x, d) : tín hiệu học.

Với các tín hiệu học fr(w, x, d) khác nhau, ta có các luật học (learning rule) khác nhau. Ví dụ luật học
của Hebb được xác định bởi
r(k) = y(k) (2.1.10)
Ta có
w(k+1) = w(k) + ηy(k)x(k) (2.1.11)
Ta thấy luật học của Hebb không sử dụng tín hiệu ra mong muốn d(k): phương pháp học của Hebb là
phương pháp học không có giám sát.

2.2 PERCEPTRON
Hình 2.6 trình bày mạng perceptron một lớp với m-1 tín hiệu vào xj và p tín hiệu ra yi (xm = -1 tương
ứng với ngưỡng tác động wim của neuron).
m
yi = a( ∑ w ijx j ) = a(w i
T
x) (2.2.1)
j =1

Do các neuron được huấn luyện một cách độc lập với nhau, xét trường hợp p = 1
soft computing
48
m
y = a( ∑ w jx j ) = a(w x)T

j =1

Mục tiêu : huấn luyện mạng dùng N mẫu dữ liệu {x(k), d(k), k = 1, 2, … N} sao cho y(k) = d(k), k = 1,
2, … N.

Hình 2.6 : Mạng perceptron một lớp Hình 2.7

2.2.1 Đơn vị tuyến tính (linear unit)


Đơn vị tuyến tính (cònđược gọi là phần tử tuyến tính thích nghi: adaptive linear element, ADALINE) là
1 neuron với hàm tích hợp và hàm tác động tuyến tính a(net) = net
m
y = ∑ w jx j = wTx (2.2.2)
j=1

Hàm mục tiêu : Xác định vectơ thông số w sao cho


1
J(w) = (d – y)2 (2.2.3)
2
cực tiểu, với d là tín hiệu ra mong muốn.
Điều kiện cần và đủ để tồn tại nghiệm w là các mẫu dữ liệu x độc lập tuyến tính.
soft computing
49
Hình 2.8
Sử dụng giải thuật steepest descent, ta có
w(k+1) = w(k) -η∇wJ(w) (2.2.4)
với η > 0 là hằng số học, ∇wJ(w) là vectơ gradient của J(w)
T T
 ∂J  ∂J ∂y  ∂net  ∂a
∇wJ(w) =   =   = -(d – y) x = -(d – y)x (2.2.5)
 ∂w  ∂y ∂net  ∂w  ∂net
⇒ w(k+1) = w(k) + η(d - y)x (2.2.6)
(luật học đệ quy Widrow-Hoff, còn gọi là luật học adaline hoặc least mean square LMS). So sánh với
(2.1.9), tín hiệu học của luật học Widrow-Hoff là r(k) = d(k) – y(k).

2.2.2 Đơn vị phân loại tuyến tính (linear graded unit, LGU)
LGU là 1 neuron với hàm tích hợp tuyến tính và hàm tác động là hàm sigmoid. Ta có
2
1 1 1 1  m 
 d - a w x  
J(w) = (d - y)2 = (d – a(net))2 = (d – a(wTx))2 =
2 2 2 2  ∑
 j=1 j j

(2.2.7)
  
Ta có
T
 ∂J  ∂J ∂y ∂net ∂a(net)
∇wJ(w) =   = = -(d - y) x (2.2.8)
 ∂w  ∂y ∂net ∂w ∂net
∂a(net)
⇒ w(k+1) = w(k) + η(d - y) x (2.2.9)
∂net
(luật học delta, delta learning rule). Tín hiệu học được xác định bởi
∂a(net)
r = (d - y) (2.2.10)
∂net
2
Ví dụ : Cho 1 LGU với 3 tín hiệu vào, hàm tác động a(net) = −1.
1 + e - net
Các mẫu dữ liệu huấn luyện
x(1) = [ 1, -2 , 0 , -1]T, d(1) = -1
T
x(2) = [ 0, 1.5, -0.5, -1] , d(2) = -1
x(3) = [-1, 1 , 0.5 , -1]T, d(3) = 1
Chọn trị khởi động w(1) = [1, -1, 0, 0.5]T và η = 0.1. Áp dụng luật học delta (2.2.9), ta có
∂a(net) 1 1
= [1-a2(net)] = [1-y2]
∂net 2 2
∆w(k) = 0.5η[d(k) – y(k)][1 – y2(k)]x(k)
soft computing
50

k = 1 : x(1) = [1, -2, 0, -1]T, d(1) = -1, w(1) = [1, -1, 0, 0.5]T
net(1) = w(1)Tx(1) = 2.5
2
y(1) = − 1 = 0.8483
1 + e - 2.5
w(2) = w(1) + 0.5η(d(1) – y(1))(1 – y2(1))x(1) = [0.974, -0.948, 0, 0.526]T

k = 2 : x(2) = [0, 1.5, -0.5, -1]T, d(2) = -1, w(2) = [0.974, -0.948, 0, 0.526]T
net(2) = w(2)Tx(2) = -1.948
2
y(2) = − 1 = -0.75
1 + e -1.948
w(3) = w(2) + 0.5η(d(2) – y(2))(1 – y2(2))x(2) = [0.974, -0.956, 0.003, 0.531]T

k = 3 : x(3) = [-1, 1 , 0.5 , -1]T, d(3) = 1, w(3) = [0.974, -0.956, 0.003, 0.531]T
net(3) = w(3)Tx(3) = -2.46
2
y(3) = − 1 = -0.843
1 + e - 2.46
w(4) = w(3) + 0.5η(d(3) – y(3))(1 – y2(3))x(3) = [0.947, -0.930, 0.016, 0.505]T
Kết thúc 1 epoch. Quá trình huấn luyện được lặp lại với x(4) = x(1) …

Ghi chú : Chương trình matlab của ví dụ


x(:,1) = [ 1,-2 , 0 ,-1 ]', d(1) = -1
x(:,2) = [ 0, 1.5,-0.5,-1 ]', d(2) = -1
x(:,3) = [-1, 1 , 0.5,-1 ]', d(3) = 1
w(:,1) = [ 1,-1 , 0 , 0.5]', eta= 0.1
for k = 1 : 3,
net(k) = w(:,k)'*x(:,k)
y(k) = (2/(1+exp(-net(k)))) -1
dw(:,k) = eta*(d(k)-y(k))*((1-y(k)^2)/2)*x(:,k)
w(:,k+1) = w(:,k) + dw(:,k)
end
soft computing
51
2.2.3 Đơn vị ngưỡng tuyến tính (Linear threshold unit, LTU)
LTU là 1 neuron với hàm tích hợp tuyến tính và hàm tác động là hàm dấu. Vì a() là hàm dấu nên d(k)
và y(k) chỉ có thể nhận các giá trị 1 hoặc –1
m
y(k) = sign(∑ w j x j (k)) = sign(wTx) (2.2.11)
j=1

Điều kiện cần và đủ để tồn tại nghiệm wi là các mẫu dữ liệu {x(k), d(k), k = 1, 2, … p} phân chia một
cách tuyến tính (linearly separable). Nghĩa là tồn tại một siêu phẳng
m

∑ w x (k) = 0
j=1
j j (2.2.12)

trong không gian dữ liệu sao cho các dữ liệu thuộc hai nhóm khác nhau nằm ở hai phía khác nhau đối
với siêu phẳng (các dữ liệu cùng nhóm nằm cùng một phía).

Luật học perceptron (perceptron learning rule) :


∆w(k) = w(k+1) - w(k) = ηr(k)x(k)
Tín hiệu học
r(k) = d(k) - y(k) (2.2.13)
Thay vào (2.1.9), ta có
2ηd(k)x(k) neáu y(k) ≠ d(k)
∆w(k) = η[d(k) - y(k)]x(k) =  (2.2.14)
0 neáu y(k) = d(k)

Định lý: Giả thiết vectơ thông số chính xác tồn tại (xác định bởi siêu phẳng (2.2.12) sao cho các dữ liệu
cùng nhóm nằm cùng một phía đối với siêu phẳng). Với luật học perceptron (2.2.14), vectơ thông số w
hội tụ đến vectơ thông số chính xác sau một số bước học hữu hạn.

Ví dụ : Huấn luyện LTU hình 2.9 theo các dữ liệu cho ở bảng 2.1.
Bảng 2.1
xo 0,5 -1 2 -2
d 1 -1 1 -1

(phân loại xo(k) thành 2 nhóm).


soft computing
52
Hình 2.9

x O (k)  0 .5  − 1 2  − 2
Định nghĩa : x(k) =   : x(1) = − 1  , x(2) = − 1 , x(3) = −1 , x(4) = − 1 
− 1         
(thành phần thứ 2 của x(k) ứng với ngưỡng của neuron)
 − 2
Chọn η = 0.5 và khởi động trị vectơ thông số w(1) =   , ta được
1.5 
 0 .5 
k = 1 : x(1) =   , d(1) = 1
− 1 
 0 .5 
y(1) = sign(w(1)Tx(1)) = sign([-2 1.5]   ) = -1
− 1 
 − 2  0 .5   − 1 .5 
w(2) = w(1) + η(d(1) - y(1))x(1) =   + 0.5(1 – (-1))   =  
1.5   − 1   0 .5 
− 1
k = 2 : x(2) =   , d(2) = 1
− 1
− 1
y(2) = sign(w(2)Tx(2)) = sign([-1.5 0.5]   ) = 1
− 1
 − 1 .5  − 1 − 0.5
w(3) = w(2) + η(d(2) - y(2))x(2) =   + 0.5(-1 – (1))   =  
 0 .5  − 1 1.5 
2 
k = 3 : x(3) =   , d(3) = 1
−1
2 
y(3) = sign(w(3)Tx(3)) = sign([-0.5 1.5]   ) = -1
−1
 − 0 .5  2  1.5 
w(4) = w(3) + η(d(3) - y(3))x(3) =   + 0.5(1 – (-1))   =  
1.5  −1 0.5
− 2
k = 4 : x(4) =   , d(4) = -1
− 1 
 − 2
y(4) = sign(w(4)Tx(4)) = sign([1.5 0.5]   ) = -1
− 1 
1.5  − 2 1.5 
w(5) = w(4) + η(d(4) - y(4))x(4) =   + 0.5(-1 – (-1))   =   = w(4)
 0 .5   − 1   0 .5 
soft computing
53

 0 .5 
k = 5 : x(5) = x(1) =   , d(5) = d(1) = 1
− 1 
 0 .5 
y(5) = sign(w(5)Tx(5)) = sign([1.5 0.5]   ) = 1
−1 
1.5  0.5 1.5 
w(6) = w(5) + η(d(5) - y(5))x(5) =   + 0.5(1 – (1))   =   = w(5)
 0 .5  −1  0.5
……………

2.2.4 Ứng dụng trong phân nhóm


Hàm tác động của lớp ra thường là hàm sigmoid hoặc hardlim

2.2.5 Ứng dụng trong nhận dạng hệ thống động


Đối tượng
y(k) = f(y(k-1), y(k-2), … , y(k-n), u(k-1), u(k-2), … , u(k-m)) (2.2.15)
Mô hình
y(k) = f(y(k-1), y(k-2), … , y(k-n), u(k-1), u(k-2), … , u(k-m)) (2.2.16)

Nhận dạng : huấn luyện mạng từ các dữ liệu đo u(k) và y(k)


Ứng dụng : - dự báo
- mô phỏng
- cân bằng kênh thông tin
- điều khiển

Hình 2.10 : Mô hình dùng mạng neuron


soft computing
54

Hình 2.11 : Dự báo Hình 2.12 : Mô phỏng

Hình 2.13: Cân bằng kênh thông tin Hình 2.14 : Điều khiển mô hình nội

2.2.6 Ứng dụng trong điều khiển


Điều khiển mô hình nội, điều khiển trượt …

2.2.7 Ứng dụng trong nhận dạng ký tự (OCR : optical character recognition)

2.3 MẠNG TRUYỀN THẲNG NHIỀU LỚP


2.3.1 Tổng quan
Mọi quan hệ phi tuyến đều có thể được xấp xỉ với độ chính xác tùy ý bởi một mạng truyền thẳng nhiều
lớp với số nút ẩn đủ lớn, hàm tích hợp tuyến tính hoặc đa thức, và hàm tác động squashing .
Hàm a(f) : R → [0,1] (hoặc R → [-1,1]) được gọi là hàm squashing nếu, a(f) không giảm khi f tăng, a(-
∞) = 0 (hoặc –1), và a(+∞) = 1. Các hàm định nghĩa bởi (2.1.4), (2.1.5), (2.1.6), (2.1.7), (2.1.8) đều là
các hàm squashing.
Với mạng perceptron nhiều lớp (có lớp ẩn), các điều kiện
- các mẫu dữ liệu phân chia một cách tuyến tính (LTU)
- các mẫu dữ liệu độc lập tuyến tính (LGU)
là không cần thiết.

Ví dụ : Mạng perceptron 3 lớp (hình 2.15) thực hiện phép logic sau
soft computing
55
x(1) = [0, 0]T, d(1) = 1
x(2) = [0, 1]T, d(2) = -1
x(3) = [1, 0]T, d(3) = -1
x(4) = [1, 1]T, d(4) = 1
với các dữ liệu không phân chia tuyến tính

Hình 2.15 : A) không gian dữ liệu, B) Mạng perceptron 3 lớp

2.3.2 Giải thuật huấn luyện lan truyền ngược (back propagation)
Dữ liệu huấn luyện : {x(k), d(k), k = 1, 2, … N}
Trường hợp p = 1
Lớp ẩn (hidden layer)
m
netq = ∑ v qj x j = v Tq x (2.3.1)
j =1

 m 
zq = a(netq) = a( v Tq x) = a ∑ v qj x j  (2.3.2)
 
 j =1 
Lớp ra (output layer)
r r r  m 
net = ∑ w q z q = ∑ w q a(v Tq x) = ∑ w q  ∑ v qj x j 
a  (2.3.3)
q =1 q =1 q =1  j = 1 

 r   r  m   r 
y = a(net) = a ∑ w q z q  = a ∑ w q a ∑ v qj x j   = a ∑ w q a(v T
q x)  (2.3.4)
 q =1   q =1 
 q =1    j=1   
Hàm mục tiêu
2 2
1 1   r  1   r 
J(w) = [d – y]2 = d - a ∑ w q z q  = d - a ∑ w q a(v T x)
q 
 (2.3.5)
2  q =1
2 2   q =1   
Luật học đệ quy (gọi là luật học delta tổng quát hóa, generalized delta learning rule) được xây dựng
dùng phương pháp steepest-descent.
soft computing
56

- Với các nhánh nối giữa các nút ẩn z và nút ra y


T T
 ∂J  ∂J ∂y  ∂net  ∂a(net )
∆w = -η   = -η  ∂w  = η[d – y] ∂net z = ηδoz (2.3.6)
 ∂w  ∂y ∂net
∂a(net )
δo = [d – y] (2.3.7)
∂net

- Với các nhánh nối giữa các nút vào x và nút ẩn zq


T T
 ∂J  ∂E ∂y ∂net ∂z q  ∂net q 
∆vq = -η   = -η  
 ∂v q  ∂y ∂net ∂z q ∂net q  ∂v q 

∂a(net) ∂a(net q )
= η[d – y] wq x = ηδqx (2.3.8)
∂net ∂net q

∂a(net) ∂a(net q ) ∂a(net q )


δq = [d – y ] wq = δowq (2.3.9)
∂net ∂net q ∂net q

Ví dụ : Trường hợp các hàm tác động a() là hàm sigmoid lưỡng cực (2.1.8), ta có
∂a(net) 1 1
= [1 - a(net)2] = [1 - y2]
∂net 2 2
∂a(net q ) 1 1
= [1 - a(netq)2] = [1 - zq2]
∂net q 2 2

(2.3.7) và (2.3.8) trở thành


1
δo = (1 – y2)(d – y) (2.3.10)
2
1
δq = (1 – zq2) δowq (2.3.11)
2
1
⇒ ∆w = η(1 – y2)(d – y)z (2.3.12)
2
1
⇒ ∆vq = η(1 – zq2)δowqx (2.3.13)
2

Trường hợp tổng quát p > 1


Lớp ẩn (hidden layer)
soft computing
57
m
netq = v Tq x = ∑ v qj x j (2.3.14)
j =1

 m 
zq = a(netq) = a( v Tq x) = a ∑ v qj x j  (2.3.15)
 
 j =1 
Lớp ra (output layer)
r r  m 
 v x 
neti = w Ti z = ∑ w iq z q = ∑ iq  ∑ qj j 
w a (2.3.16)
q =1 q =1  j =1 

 r   r  m 
yi = a(neti) = a ∑ w iq z q  =
 
a ∑ w iq a ∑ v qj x j  
 (2.3.17)
   q =1  
 q =1    j =1 
Hàm mục tiêu
2
1 p 1 p 1 p   r 
J(w) = ∑ (d i - y i ) = ∑ (d i - a(net i )) = ∑  d i - a ∑ w iq z q  
2 2
(2.3.18)
2 i =1 2 i =1 2 i = 1   q =1 

Luật học đệ quy (gọi là luật học delta tổng quát hóa, generalized delta learning rule) được xây dựng
dùng phương pháp steepest-descent.

- Với các nhánh nối giữa nút ẩn và nút ra


∂J ∂J ∂y i ∂net i ∂a(net i )
∆wiq = -η = -η = η(di – yi) zq = ηδoizq (2.3.19)
∂w iq ∂y i ∂net i ∂w iq ∂net i

∂J ∂J ∂y i ∂a(net i )
δoi = - =- = (di – yi) (2.3.20)
∂net i ∂y i ∂net i ∂net i

- Với các nhánh nối giữa nút vào và nút ẩn

∂J p
∂J ∂y i ∂net i ∂z q ∂net q
∆vqj = -η = -η ∑
∂v qj i =1 ∂y i ∂net i ∂z q ∂net q ∂v qj

p
∂a(net i ) ∂a(net q )
∆vqj = η ∑ [di – yi] wiq xj = ηδhqxj (2.3.21)
i =1 ∂net i ∂net q

∂J ∂J ∂z q ∂a(net q ) p
∂a(net i )
δhq =-
∂net q
=-
∂z q ∂net q
=
∂net q

i =1
[di – yi]
∂net i
wiq
soft computing
58

∂a(net q ) p
δhq =
∂net q
∑δ
i =1
oi w iq (2.3.22)

Ví dụ : trường hợp hàm tác động a() là hàm sigmoid lưỡng cực (2.1.8), ta có
∂a(net ) 1
∂net
(
= 1 − a 2 (net)
2
)
(2.3.20) và (2.3.21) trở thành
1
δoi = (1 – yi2)(di – yi) (2.3.23)
2
p
1
δhq = (1 – zq2) ∑ δ oi w iq (2.3.24)
2 i =1

1
⇒ ∆wiq = η(1 – yi2)(di – yi)zq (2.3.25)
2
p
1
⇒ ∆vqj = η(1 – zq2) xj ∑ δ oi w iq (2.3.26)
2 i =1

Luật học lan truyền ngược (back propagation learning rule)

Bước 0 : Khởi động trị


Chọn hằng số học η, ngưỡng dừng Emax
Các trọng số có trị số nhỏ và ngẫu nhiên
J = 0, k = 1
Bước 1 : Lan truyền thuận dữ liệu
Ap dụng mẫu dữ liệu thứ k.
Xác định tín hiệu tại các nút trong mạng
Xác định hàm mục tiêu J
Xác định tín hiệu học tại các nút ra theo (2.3.20)
∂a(net i )
δoi = (di – yi)
∂net i
Bước 2 : Lan truyền ngược sai lệch
Cập nhật các vectơ trọng số theo (2.3.19), (2.3.21)
∆wiq = ηδoizq
soft computing
59

∆vqj = ηδhqxj
Xác định các tín hiệu học theo (2.3.22)
∂a(net q ) p
δhq =
∂net q
∑δ
i =1
oi w iq

Bước 3 : Nếu k < p : k = k + 1, nhảy đến bước 1


Nếu k = p : (kết thúc 1 epoch)
Nếu J > Jmax : k = 1, nhảy đến bước 1
Nếu J ≤ Jmax : Kết thúc

Ví dụ : Xây dụng giải thuật học cho mạng lan truyền ngược hình 2.16 với hàm tác động là hàm sigmoid
đơn cực
1 ∂a(net)
y = a(net) = ⇒ = y(1-y)
1 + e - net ∂net

Từ (2.3.7)
δ9 = y9(1-y9)(d – y9)
Từ (2.3.9)
δ6 = y6(1-y6)w96δ9
δ7 = y7(1-y7)w97δ9
δ3 = y3(1-y3)[w63δ6+w73δ7]
δ4 = y4(1-y4)[w64δ6+w74δ7]
Từ (2.3.6)
∆w96 = ηδ9y6 ∆w97 = ηδ9y7 ∆w98 = ηδ9y8 = -ηδ9
Từ (2.3.8)
∆v63 = ηδ6y3 ∆v64 = ηδ6y4 ∆v65 = ηδ6y5 = -ηδ6
∆v73 = ηδ7y3 ∆v74 = ηδ7y4 ∆v75 = ηδ7y5 = -ηδ7
∆v30 = ηδ3y0 ∆v31 = ηδ3y1 ∆v32 = ηδ3y2 = -ηδ3
∆v40 = ηδ4y0 ∆v41 = ηδ4y1 ∆v42 = ηδ4y2 = -ηδ4
soft computing
60

Hình 2.16 Hình 2.17

2.3.3 Các thông số của luật học lan truyền ngược


Việc huấn luyện mạng chịu tác động bởi các yếu tố sau
a) Trị khởi động của các trọng số: Các trọng số nên khởi động với các giá trị bé và ngẫu nhiên. Các
giá trị lớn của vectơ trọng số có thể làm các hàm tác động bảo hòa sâu khi bắt đầu học và quá trình
học kéo dài.
b) Hằng số học: η lớn → hội tụ nhanh nhưng có thể gây vọt lố. Có thể chọn η giảm dần. Nếu hàm
mục tiêu giảm chậm → tăng η. Nếu hàm mục tiêu dao động → giảm η
c) Hàm mục tiêu: Có thể dùng hàm khả vi bất kỳ.
d) Luật học
e) Dữ liệu huấn luyện: Dữ liệu huấn luyện phải bao quát các khả năng có thể xảy ra.
f) Số lớp ẩn và số neuron ở mỗi lớp ẩn: Thử sai trên nguyên tắc ưu tiên cho mạng đơn giản nhất đáp
ứng được yêu cầu sử dụng.

2.4 MẠNG HỒI QUY (recurrent neural networks, feedback networks)


Có thể có hồi tiếp giữa các neuron hoặc tự hồi tiếp ở mỗi neuron. Trong mạng hồi quy có thể xảy ra
quá trình tự dao động (limit cycles). Mạng hồi quy thích hợp với các ứng dụng dự báo các tín hiệu ngẫu
nhiên (time series prediction).

2.4.1 Feedback Back-propagation network


Tác động tại nút i thỏa phương trình vi phân cấp 1
τ y& i + yi = a(neti) = a( ∑ w ij y j + x i ) (2.4.1)
j
soft computing
61

τ : relaxation time scale. Điểm cân bằng (fixed point) y& i = 0

⇒ yi = a(neti) = a( ∑ w ij y j + x i ) (2.4.2)
j

với neti = ∑ w ij y j + x i : net input to node i


j

Hàm mục tiêu


1 n 1 n 2
J = ∑ Jk = ∑ (d k − y k ) (2.4.3)
2 k =1 2 k =1
với n là số output. Giải thuật steepest-descent
∂J n ∂J ∂y k n ∂y k
∆wpqT = -η = -η ∑ k = η ∑ (d k − y k ) (2.4.4)
∂w pq k =1 ∂y k ∂w pq k =1 ∂w pq

∂y k ∂y k ∂net k ∂y j
với = = a’(netk)[ δkpyq + ∑ w kj ] (2.4.5)
∂w pq ∂net k ∂w pq j ∂w pq

(δkp = 1 nếu k = p và δkp = 0 nếu k ≠ p)

∂y k ∂y j ∂y j

∂w pq
- a’(netk) ∑ w kj
∂w pq
(
= ∑ δ kj − a ' (net k ) w kj
∂w pq
)
= δkpa’(netk)yq
j j

∂y j
⇒ ∑ L kj = δkpa’(netk)yq , k=1…n (2.4.6)
j ∂w pq

với Lkj = δkj - a’(netk)wkj (2.4.7)


 ∂y1 
 ∂w 
 pq 
 L11 L12 L L1n 
 ∂y 2 
L L 22 L L 2n   
⇒  21  ∂w pq  = [δkpa’(netk)yq]
 M M MMM M   M 
   
 L n1 L n 2 L L nn 
 ∂y n 
 
 ∂w pq 
(vectơ cột [δkpa’(netk)yq] chỉ có 1 phần tử khác 0 ở hàng thứ k = p : a’(netp)yq)
T
 ∂y 
⇒ L  = [δkpa’(netk)yq]
 ∂w pq 
T
 ∂y 
⇒   = L [δkpa’(netk)yq]
-1

 ∂w pq 
soft computing
62

∂y k
⇒ = ∑ [L−1 ] kj [δjpa’(netj)yq] = [L-1]kpa’(netp)yq (2.4.8)
∂w pq j

n ∂y k n
⇒ ∆wpq = η ∑ (d k − y k ) = ηa’(netp) ∑ (d k − y k ) [L-1]kpyq
k =1 ∂w pq k =1

⇒ ∆wpq = ηδpyq (2.4.9)


n
với δp = a’(netp) ∑ e k [L-1]kp (2.4.10)
k =1

ek = dk – yk (2.4.11)
Để tránh nghịch đảo ma trận, đặt
n n
zp = ∑ e k [L-1]kp ⇒
k =1
∑L
p =1
pi z p = ep (2.4.12)

δp = a’(netp)zp (2.4.13)
Từ (2.4.7)
n
zi - ∑ a' (net
p =1
p ) wpizp = ei (2.4.14)

(2.4.14) chính là phương trình của fixed point của phương trình vi phân có cùng dạng với (2.4.1)
n
τ z& i + zi = ∑ a' (net
p =1
p ) wpizp + ei (2.4.15)

Do đó giá trị của zp có thể được xác định bởi error propagation network.

2.5 MẠNG HOPFIELD


2.5.1 Mạng Hopfield rời rạc
Mạng Hopfield là mạng hồi tiếp 1 lớp (single-layer feedback network) với các đặc tính sau
- Mỗi nút có một tín hiệu vào từ bên ngoài (external input) xi và một ngưỡng θi. Tín hiệu vào chỉ tác
động 1 lần khi khởi động.
- Không có tự hồi tiếp : wii = 0, ∀i.
- Đối xứng : wij = wji, ∀i, j.
- Cập nhật không đồng bộ (asynchronous) : mỗi thời điểm chỉ cập nhật 1 nút
n
yi(k+1) = sign( ∑ w ij y j (k) + x i − θ i ) (2.5.1)
j =1
j≠ i
soft computing
63

Hình 2.18: Mạng Hopfield 3 neuron


Hình 2.18 trình bày mạng Hopfield với 3 neuron.

Ví dụ: Mạng Hopfield với w12 = w21 = -1, w11 = w22 = 0, θ1 = θ2 = 0 (hình 2.19). Luật cập nhật (bất
đồng bộ) :
y1(k+1) = sign(w12y2(k) + x1(k))
y2(k+2) = sign(w21y1(k+1) + x2(k))
Với : x1(0) = x2(0) = 0. Khởi động trị : y1(0) = y2(0) = -1
⇒ y1(1) = sign(w12y2(0) + x1(0)) = 1
y2(2) = sign(w21y1(1) + x2(0)) = -1
Hình 2.20 trình bày sơ đồ chuyển trạng thái của mạng với các thứ tự cập nhật khác nhau. Ta thấy mạng
1  − 1
có 2 điểm cân bằng bổ phụ nhau   và   .
− 1 1 

Hình 2.19 : Mạng Hopfield Hình 2.20 : Sơ đồ chuyển trạng thái

Ghi chú
• Tại điểm cân bằng, hàm năng lượng
1 n n n n
E=- ∑
2 i =1
∑ w y y - ∑ x y + ∑θ y
j =1
ij i j
i =1
i i
i =1
i i

đạt giá trị cực tiểu.


soft computing
64
• Với cập nhật đồng bộ ta có

y 1 (1)  sign(w 12 y 2 (0) + x 1 (0)) 1


y (1) = sign(w y (0) + x (0)) = 1
 2   21 1 2  

 y 1 ( 2)  sign(w 12 y 2 (1) + x 1 (1)) − 1


 y ( 2)  = sign(w y (1) + x (1)) = − 1
 2   21 1 2   

2.5.2 Mạng Hopfield liên tục


Định luật Kirchhoff 1
n
du i
∑ w ij (y j − u i ) + x i − g i u i − C i dt
=0
j =1
j≠i

Quan hệ vào ra của khuếch đại thuật toán có thể xem như hàm tác động của neuron.

Hình 2.21: Thực hiện một nút của mạng Hopfield liên tục dùng khuếch đại thuật toán
(yj, ui : điện thế, xi : cường độ dòng điện, wij, gi : điện dẫn, Ci : điện dung)

2.5.3 Mạng kết hợp (associative network)


1) Các loại mạng kết hợp : Ta phân biệt 3 loại mạng kết hợp
- Mạng liên kết chéo (hetero-associative networks)
Φ(xi) = yi , ∀i = 1, 2, … , N (2.5.2)
Nếu tín hiệu vào ‘gần‘ xi thì tín hiệu ra là yi.
Ứng dụng tiêu biểu : lưu trữ ảnh.

Luật học Hebbian : để liên kết các vectơ x1, x2, …, xN với các vectơ y1, y2, …, yN có thể định nghĩa bộ
liên kết tuyến tính (linear associator) Φ(x) như sau
Φ(x) = Wx (2.5.3)
với
soft computing
65
W = YX+ (2.5.4)
Y = [y1, y2, … , yN], X = [x1, x2, … , xN], X+ = (XTX)-1XT
Nếu xi là các vectơ trực chuẩn, XTX = I

∑ y i (x i )
N
T T
W = YX = (2.5.5)
i =1

W được gọi là ma trận tương quan chéo (cross-correlation matrix).

- Mạng tự liên kết (auto-associative networks)


Φ(xi) = xi , ∀i = 1, 2, … , N (2.5.6)
Nếu tín hiệu vào ‘gần‘ xi thì tín hiệu ra là xi.
Ứng dụng tiêu biểu : chỉnh sửa các vectơ input bị nhiễu.

- Pattern recognition networks


Φ(xi) = i , ∀i = 1, 2, … , N (2.5.7)
Ứng dụng tiêu biểu : nhận dạng, phân loại.

2) Độ đo khoảng cách giữa 2 vectơ:


- Khỏang cách Euclide của vectơ (mx1) x và x’
m
2
∑ (x k − x'k ) (2.5.8)
k =1

- Khỏang cách Hamming : số phần tử tương ứng khác nhau của hai vectơ (mx1) x và x’

m
 ∑ | x k − x ' k |, x k , x ' k ∈{0,1}
k =1
HD(x,x’) =  (2.5.9)
m
1 ∑ | x − x ' k |, x k , x ' k ∈{− 1,1}
 2 k =1 k

2.5.4 Bộ nhớ kết hợp đệ quy của Hopfield


Luật cập nhật (2.5.1) được gọi là luật phục hồi dữ liệu (data retrieval rule)
n
yi(k+1) = sign( ∑ w ij y j (k) + x i − θ i )
j =1
j≠ i
soft computing
66
và được thực hiện một cách bất đồng bộ và ngẫu nhiên.

Giải thuật lưu trữ (storage algorithm) :

∑ x i (x i )
N
T
Nếu xi ∈ {-1,1} thì W = - NI (2.5.10)
i =1
N
Nếu xi ∈ {0,1} thì wpq = ∑ (2 x ip − 1)(2 x iq − 1) nếu p ≠ q và wpp = 0 (2.5.11)
i =1

 1 − 1
Ví dụ: dùng bộ nhớ Hopfield để lưu trữ N = 2 vectơ x =  1 và x2 =
1  1
 
− 1  1

Ma trận trọng số

 1 − 1  0 0 − 2
W =  1 [1, 1, -1] +  1 [-1, 1, 1] – 2I =
 
 0 0
 0 
− 1  1 − 2 0 0 

2.5.5 Bộ nhớ kết hợp hai chiều (bidirectional associative memory BAM)
Bộ nhớ kết hợp hai chiều
y = a(Wx) (2.5.12)
T
x = a(W y) (2.5.13)
Luật cập nhật có thể đồng bộ hoặc bất đồng bộ.
y(1) = a(Wx(0)) first forward pass
x(2) = a(WTy(1)) first backward pass
(3) (2)
y = a(Wx ) second forward pass
x(4) = a(WTy(3)) second backward pass
……………………………

Giải thuật lưu trữ (storage algorithm, outer-product learning rule) :

∑ y i (x i )
N
T
Nếu xi ∈ {-1,1} thì W = (2.5.14)
i =1
soft computing
67
N
Nếu xi ∈ {0,1} thì wpq = ∑ (2 x ip − 1)(2 x iq − 1) nếu p ≠ q và wpp = 0 (2.5.15)
i =1

2.6 CÁC GIẢI THUẬT HỌC KHÔNG GIÁM SÁT (unsupervised learning rules)
Đặc điểm của các giải thuật học không giám sát là không có tín hiệu ra mong muốn. Mạng phải tự
khám phá các đặc trưng của dữ liệu nhập và diễn dịch thành tín hiệu ra của mạng. Các mạng nầy được
gọi là mạng tự tổ chức (self-organizing networks).
Xét một mạng 1 lớp với m tín hiệu vào x, n tín hiệu ra y, các trọng số từ tín hiệu vào thứ j đến tín hiệu
ra thứ i là wij. Gọi s() là một hàm đơn điệu, không giảm và bị chặn.

2.6.1 Luật học Hebbian


Luật học Hebbian xác định bởi
& ij = − w ij + s i ( y i )s j ( x j )
w (2.6.1)

Luật học (2.6.1) dùng để đo độ giống nhau (familiarity) hoặc chiếu vào các thành phần chính của dữ
liệu nhập (projecting onto the principal components of the input data).
Luật học Hebbian có các biến thể sau
a) Luật học của Sanger
 i 
& ij = ηy i  x j − ∑ y k w kj 
w (2.6.2)
 
 k =1 
Luật học (2.6.2) dùng trong mạng thành phần chính (principal component network), để trích n
thành phần chính đầu tiên của dữ liệu nhập (the first n principal components of the input data) trong
đó
m
yi = ∑ w ij x j (2.6.3)
j =1

là tín hiệu ra của một mạng ADALINE. Người ta chứng minh được rằng wi hội tụ đến vectơ riêng
thứ i chuẩn hoá của ma trận tương quan C = E(xxT) tương ứng với trị riêng lớn thứ i (the i-th
normalized eigenvector of the correlation matrix C = E(xxT) belonging to the i-th largest
eigenvalue).

b) Luật học của Grossberg


& i = η(yx i − w i )u ( x i )
w (2.6.4)

với 0 < η < 1, u() là bước nhảy đơn vị. Ta thấy các thông số wi chỉ thay đổi khi xi > 0. Luật học
được sử dụng trong cấu trúc instar.
soft computing
68

Hình 2.22 Hình 2.23 : Mạng Kohonen (winner-take-all network)

2.6.2 Luật học cạnh tranh (competitive learning rule)


Luật học cạnh tranh được xác định bởi
(
& ij = s i ( y i ) s j ( x j ) − w ij
w ) (2.6.5)

với
1
si (yi ) = , c>0 (2.6.6)
1+ e−cyi
Luật học nầy điều chế tín hiệu sai lệch [sj(xj) – wij] với tín hiệu cạnh tranh si(yi). Với c lớn, tín hiệu
si(yi) có thể xấp xỉ chỉ số thắng - thua nhị phân. Tại mỗi thời điểm, ta nói neuron thứ i thắng cuộc nếu
si(yi) = 1 và thua cuộc nếu si(yi) = 0 (learn if win). Các nút ra tranh nhau tác động và thường được gọi
là winner-take-all nodes. Luật học cạnh tranh có các dạng cụ thể sau

a) Luật học cạnh tranh tuyến tính (linear competitive learning rule): Nếu ta chọn
sj(xj) = xj (2.6.7)
luật học (2.6.5) trở thành luật học cạnh tranh tuyến tính
(
& ij = s i ( y i ) x j − w ij
w ) (2.6.8)

b) Luật học Kohonen (winner-take-all learning rule) : Mạng Kohonen (Hình 2.23)

yi = a( w iT x ) (2.6.9)

Luật học Kohonen (winner-take-all) là một dạng đặc biệt của (2.6.8). Nó dựa vào việc phân dữ liệu
nhập thành các nhóm chứa các phần tử tương tự nhau. Luật học gồm 2 bước
• Similarity matching

|| x − ŵ i( k ) || = min 1 ≤ j ≤ n || x − ŵ (jk ) || (2.6.10)

• Updating (if neuron i wins)


soft computing
69

ŵ i( k +1) = ŵ i( k ) + α ( k ) [ x − ŵ i( k ) ] (2.6.11)

ŵ (jk +1) = ŵ (jk ) for j ≠ i (2.6.12)

wi
với α(k) là hằng số học ở bước thứ k, ŵ i = là vectơ chuẩn hoá của wi.
|| w i ||
Ghi chú
• Hàm tác động không liên quan đến quá trình học.
• Quá trình học sẽ dừng khi bộ trọng số thay đổi không đáng kể.

• || x − ŵ (jk ) || 2 = ||x||2 + || ŵ (jk ) || 2 - 2 x T ŵ (jk ) = ||x||2 + 1 – 2netj

• || x − ŵ i( k ) || 2 min ⇔ neti max : neuron i thắng cuộc nếu tín hiệu vào x tương quan nhiều nhất
(k ) (k )
với ŵ i , hay nếu x ‘song song’ với ŵ i hơn với các vectơ khác ŵ (jk ) . Kết quả của (2.6.11)
(k )
làm quay vectơ trọng số của neuron thắng cuộc ŵ i về phía vectơ vào.

2.6.3 Luật học Hebbian vi sai (differential Hebbian)


Luật học Hebbian vi sai được xác định bởi
& ij = − w ij + s i ( y i )s j ( x j ) + s& i ( y i )s& j ( x j )
w (2.6.13)

với
ds i ∂s i
s& i ( y i ) = = y& i (2.6.14)
dt ∂y i
Luật học nầy có các biến thể sau
a) Luật học Hebbian vi sai đơn giản nhất
& ij = − w ij + s& i ( y i )s& j ( x j )
w (2.6.15)

b) Luật học Kosko-Klopf


& ij = −aw ij + [by i x j − cw ij ]u ( y& i )u ( x& j )
w (2.6.16)

với u() : bước nhảy đơn vị, a, b, c là các hằng số dương với a << c.

2.6.4 Luật học cạnh tranh vi sai (differential competitive)


Luật học cạnh tranh vi sai kết hợp luật học cạnh tranh và luật học Hebbian vi sai
soft computing
70

(
& ij = s& i ( y i ) s j ( x j ) − w ij
w ) (2.6.17)

(chỉ học khi có sự thay đổi). Các biến thể của luật học cạnh tranh vi sai
a) Luật học cạnh tranh vi sai tuyến tính (linear differential competitive learning rule)
(
& ij = s& i ( y i ) x j − w ij
w ) (2.6.18)

Luật học nầy thường dùng trong nhận dạng (pattern recognition) và ước lượng hàm xác suất
(probability function).

b) Luật học cạnh tranh vi sai rời rạc (discrete differential competitive learning rule)
(
w ij (k + 1) = w ij (k ) + ∆s i ( y i (k )) x j (k ) − w ij (k ) ) (2.6.19)

Luật học nầy thường dùng trong ước lượng điểm trọng tâm (centroid estimation) và nhận dạng âm
vị (phoneme recognition).

2.7 SELF-ORGANIZING FEATURE MAPS


Feature mapping chuyển đổi các mẫu với số chiều bất kì (trong không gian mẫu) thành tín hiệu ra của
các mảng neuron 1 hoặc 2 chiều (trong không gian đặc trưng). Bên cạnh việc giảm số chiều, một mục
tiêu chính của feature mapping là bảo toàn mối quan hệ lân cận trong không gian mẫu (hai mẫu lân cận
nhau trong không gian mẫu có các tín hiệu ra gần nhau).
Luật học của Kohonen feature map như sau
(k)
similarity matching : || x − ŵ i || = min 1 ≤ j ≤ n || x − ŵ (jk ) || (2.6.20)

(neuron i wins)
ŵ ij(k) + α (k) [x k − ŵ i(k) ] for i ∈ N i(k)
*
updating : ŵ ij(k +1) = (2.6.21)
(k)
ŵ ij otherwise

trong đó N i(k)
* là tập lân cận của winner node i ở thời điểm k. Với luật học nầy, các nút lân cận nhau
được cập nhật tương tự nhau và do đó sẽ có đáp ứng tương tự nhau với các mẫu gần nhau.

2.8 MẠNG RBF


Mạng RBF (radial basis function) là mạng 2 lớp: lớp ẩn chứa các neuron RBF và lớp ra chứa các
neuron tuyến tính.

n
y i = ∑ w ij e
(
− x − x Rj )2 / σ2j (2.6.22)
j=1

xRj và σj là các thông số của các neuron ở lớp ẩn. wij là các thông số của các neuron ở lớp ra.
soft computing
71
Ta có thể dùng mạng RBF để xấp xỉ một quan hệ phi tuyến với độ chính xác tùy ý.

Ví dụ: Dùng mạng RBF xấp xỉ quan hệ vào ra y = f(x)

clear all
X = -10:2:10; % input
Y = [-8, -2, 5, 3, -5, 1, 6.5, 1, -3, -5, -2]; % target
eg = 0.5; % sum-squared error goal
sc = 1; % spread constant
net = newrb(X,Y,eg,sc); % create a RBF network
XX = -10:0.1:10;
YY = sim(net,XX); % simulate the network
plot(X,Y,'+'); xlabel('Input'); hold on; plot(XX,YY, 'k'); hold off; legend({'Target','Output'})

2.9 HƯỚNG DẪN SỬ DỤNG NEURAL NETWORKS TOOLBOX


2.9.1 Ví dụ
load mang.mat XX
TT = XX( 1,:); % time
UU = XX(2:4,:); % input
YY = XX( 5,:); % output
subplot(211), plot(TT, UU(1,:),'b'), hold on, plot(TT, UU(2,:),'b'), plot(TT, UU(3,:),'b')
subplot(312), plot(Time,YY,'b')
soft computing
72
% NET
PR = [-1, 1; -0.5 0.5; -5 2]; % min – max values of 3 inputs
MyNet = newff(PR, [4,1], {'tansig' 'purelin'});
MyNet.trainParam.epochs = 400;
MyNet.trainParam.goal = 0.00001;
MyNet.adaptParam.passes = 10;
MyNet = train(MyNet,UU,YY);
Tsamp = 0.001; % sampling time
gensim(MyNet,Tsamp)

2.9.2 Neural Network Toolbox Version 2.0.1 (R11) 01-Jul-1998


a) Learning functions
learncon - Conscience bias learning function.
learngd - Gradient descent weight/bias learning function.
learngdm - Gradient descent w/momentum weight/bias learning function.
learnh - Hebb weight learning function.
learnhd - Hebb with decay weight learning function.
learnis - Instar weight learning function.
learnk - Kohonen weight learning function.
learnlv1 - LVQ1 weight learning function.
learnlv2 - LVQ2 weight learning function.
learnos - Outstar weight learning function.
learnp - Perceptron weight/bias learning function.
learnpn - Normalized perceptron weight/bias learning function.
learnsom - Self-organizing map weight learning function.
learnwh - Widrow-Hoff weight/bias learning rule.

b) New networks
network - Create a custom neural network.
newc - Create a competitive layer.
newcf - Create a cascade-forward backpropagation network.
newelm - Create an Elman backpropagation network.
soft computing
73
newff - Create a feed-forward backpropagation network.
newfftd - Create a feed-forward input-delay backprop network.
newgrnn - Design a generalized regression neural network.
newhop - Create a Hopfield recurrent network.
newlin - Create a linear layer.
newlind - Design a linear layer.
newlvq - Create a learning vector quantization network.
newp - Create a perceptron.
newpnn - Design a probabilistic neural network.
newrb - Design a radial basis network.
newrbe - Design an exact radial basis network.
newsom - Create a self-organizing map.

c) Simulink support
gensim - Generate a SIMULINK block to simulate a neural network.

d) Training functions
trainbfg - BFGS quasi-Newton backpropagation.
trainbr - Bayesian regularization.
traincgb - Powell-Beale conjugate gradient backpropagation.
traincgf - Fletcher-Powell conjugate gradient backpropagation.
traincgp - Polak-Ribiere conjugate gradient backpropagation.
traingd - Gradient descent backpropagation.
traingdm - Gradient descent with momentum backpropagation.
traingda - Gradient descent with adaptive lr backpropagation.
traingdx - Gradient descent w/momentum & adaptive lr backpropagation.
trainlm - Levenberg-Marquardt backpropagation.
trainoss - One step secant backpropagation.
trainrp - Resilient backpropagation (Rprop).
trainscg - Scaled conjugate gradient backpropagation.
trainwb - By-weight-and-bias network training function.
trainwb1 - By-weight-&-bias 1-vector-at-a-time training function.
soft computing
74

e) Transfer functions
compet - Competitive transfer function.
hardlim - Hard limit transfer function.
hardlims - Symmetric hard limit transfer function.
logsig - Log sigmoid transfer function. % logsig(n) = 1 / (1 + e-n)
poslin - Positive linear transfer function.
purelin - Linear transfer function.
radbas - Radial basis transfer function.
satlin - Saturating linear transfer function.
satlins - Symmetric saturating linear transfer function.
softmax - Soft max transfer function.
tansig - Hyperbolic tangent sigmoid transfer function. % tansig(n) = 2/(1+e-2n) -1
tribas - Triangular basis transfer function.

f) Using networks
sim - Simulate a neural network.
init - Initialize a neural network. % MyNet = init(MyNet)
adapt - Allow a neural network to adapt.
train - Train a neural network.
disp - Display a neural network's properties.
display - Display the name and properties of a neural network variable.

Bài tập
2.1 Xác định perceptron thực hiện phép toán logic sau
a) NOT(x), với x∈ {0, 1}
b) OR(x1, x2), với x1 và x2 ∈ {0, 1}
c) AND(x1, x2), với x1 và x2 ∈ {0, 1}

2.2 Giải thích tại sao không thể thực hiện phép XOR với 1 perceptron.
soft computing
75
2.3 Cho 1 perceptron với 1 neuron LGU, 3 tín hiệu vào, hàm tác động là hàm sigmoid đơn cực
1
a(net) =
1 + e - net
Huấn luyện mạng neuron theo luật học delta (2.2.13) với các mẫu dữ liệu huấn luyện
x(1) = [ 1, -2 , 0 , -1]T, d(1) = 0
x(2) = [ 0, 1.5, -0.5, -1]T, d(2) = 0
x(3) = [-1, 1 , 0.5 , -1]T, d(3) = 1
trị khởi động w(1) = [1, -1, 0, 0.5]T, và hằng số học η = 0.1. Xác định các giá trị của vectơ thông số
w(k) trong epoch huấn luyện đầu tiên.

2.4 Xây dựng và vẽ mạng perceptron LTU để phân loại các nhóm dữ liệu sau
a) Nhóm 1: {[3, 2]T, [1, -2]T, [-2, 0]T}, d=1
Nhóm 2: {[2, 1]T, [0, -1]T, [-1, 2]T , d = -1
b) Nhóm 1: {[0, 0]T, [1, 0]T, [0, 1]T}, d=1
Nhóm 2: {[0.5, 0.5]T, [0.3, 0.3]T }, d = -1
c) Nhóm 1: {[0, 0]T, [1, 0]T, [0, 1]T}, d=1
Nhóm 2: {[0.5, 0]T, [0, 0.5]T }, d = -1

2.5 Xác định luật cập nhật các trọng số của mạng 3 lớp lan truyền ngược hình P2.1 với hằng số học η = 0.2
trong các trường hợp sau
a) Hàm tác động của tất cả các nút là hàm sigmoid đơn cực (2.1.7) với λ = 2.
b) Hàm tác động của tất cả các nút là hàm sigmoid lưỡng cực (2.1.8) với λ = 2.

Hình P2.1
soft computing
76
2.6 Huấn luyện LTU theo các dữ liệu cho ở bảng P2.1.
Bảng P2.1
x1 1 -1 0 0
x2 0 0 1 -1
d 1 -1 1 -1

2.7 Xác định giải thuật học có giám sát mạng truyền thẳng hai lớp (1 lớp ẩn, 1 lớp ra) với hai tín hiệu vào,
một tín hiệu ra, lớp ẩn có 3 neuron, lớp ra có 1 neuron. Các neuron có hàm tích hợp tuyến tính
a) các neuron có hàm tác động tuyến tính
2
b) các neuron có hàm tác động tansig a(net) = −1
1 + e −net
2
c) các neuron ở lớp ẩn có hàm tác động tansig a(net) = − 1 , neuron ở lớp ra có hàm tác động
1 + e −net
tuyến tính
1
Biết hàm mục tiêu J = (d-y)2.
2

2.8 Xác định giải thuật học có giám sát mạng truyền thẳng ba lớp (2 lớp ẩn, 1 lớp ra) với hai tín hiệu vào,
một tín hiệu ra, mỗi lớp ẩn có 3 neuron, lớp ra có 1 neuron. Các neuron có hàm tích hợp tuyến tính
a) các neuron có hàm tác động tuyến tính
2
b) các neuron có hàm tác động tansig a(net) = −1
1 + e −net
2
c) các neuron ở các lớp ẩn có hàm tác động tansig a(net) = − 1 , neuron ở lớp ra có hàm tác
1 + e −net
động tuyến tính

2.9 Cho mạng neuron hình P2.2. Biết các neuron có hàm tích hợp tuyến tính và hàm tác động a(net) =
2
−1 .
1 + e −net
a) Viết phương trình xác định tín hiệu y.
b) Gọi d là tín hiệu ra mong muốn. Xác định giải thuật huấn luyện với hàm mục tiêu
1
J= (d-y)2.
2
soft computing
77

Hình P2.2

2.10 Cho mạng hình P2.3. Các neuron có hàm tích hợp và hàm tác động tuyến tính.
a) Viết phương trình xác định các tín hiệu của các neuron.
b) Gọi d là tín hiệu ra mong muốn. Xác định giải thuật huấn luyện với hàm mục tiêu
1 1
J= (d3-x3)2 + (d4-x4)2
2 2

Hình P2.3
2.11 Cho mạng truyền thẳng hình P2.4. Các neuron có hàm tích hợp tuyến tính và hàm tác động a(net) =
1
. Xác định luật học lan truyền ngược dùng phương pháp steepest descent với hàm mục tiêu J =
1 + e −net
1
(d-y)2.
2

Hình P2.4
2.12 Cho mạng hình P2.5. Các neuron có hàm tích hợp và hàm tác động tuyến tính.
a. Viết phương trình xác định các tín hiệu của các neuron.
b. Gọi d1 và d2 là các tín hiệu ra mong muốn. Xác định giải thuật huấn luyện với hàm mục tiêu
soft computing
78
1 1
J= (d1-y1)2 + (d2-y2)2
2 2

hình P2.5

− 1 1  1 
2.13 Xác định mạng Hopfield (với hàm tác động signum) dùng để lưu trữ các vectơ sau 1  , − 1 ,
 
1  .
 
1  1  − 1
1 
Vẽ giản đồ trạng thái của mạng khi tín hiệu vào bằng − 1 .
− 1

2.14 Huấn luyện mạng truyền thẳng để phân nhóm các phần tử của tập X ⊂ R2 thành hai nhóm. (Tự tạo tập
dữ liệu gồm 200 phần tử trong R2)

1
2.15 Dùng Simulink mô phỏng hệ thống rời rạc H(z) = (dùng khối discrete transfer function với
z - 0.9
sample time = 0.01) với tín hiệu vào là ồn trắng (dùng khối band limited white noise với sample time =
0.1). Lưu các tín hiệu vào và ra của hệ thống vào tập tin (dùng khối to file với sample time = 0.01). Viết
m file để đọc dữ liệu trên trên tập tin và huấn luyện mạng truyền thẳng. So sánh tín hiệu ra của hệ
thống với tín hiệu ra mô phỏng và dự báo. Nhận xét.

0.1
2.16 Xây dựng bộ cân bằng dùng mạng neuron cho kênh thông tin với hàm truyền đạt H(z) = .
z - 0.9
soft computing
79

Chương 3 HỆ THỐNG NEURON - MỜ VÀ MỜ - NEURON

3.1 MỜ-NEURON (neural network - based fuzzy systems)


3.1.1 Ứng dụng mạng neuron trong hệ thống xử lý mờ
- Dùng mạng neuron thực hiện các hàm thành viên của các tập mờ.
2
 net − m 
− 
Ví dụ : Huấn luyện perceptron với hàm tác động a(net) = e  σ  để thực hiện hàm thành viên
của tập mờ.
- Dùng mạng neuron thực hiện các phép toán AND, OR, NOT … trên các tập mờ.
- Dùng mạng neuron thực hiện các luật hợp thành (fuzzy logic inference).
- Fuzzy aggregation networks
- Neural network - driven fuzzy reasoning
- Neural network - based fuzzy modeling

3.1.2 Mạng ANFIS (adaptive network based fuzzy inference system)


Ví dụ 3.1: Cho hệ thống xử lý mờ hình 3.1 với 2 tín hiệu vào x1, x2, 1 tín hiệu ra y và các luật hợp
thành như sau
R1 : IF x1 IS A1 AND x2 IS A2 THEN y = fa = ao + a1x1 + a2x2
R2 : IF x1 IS B1 AND x2 IS B2 THEN y = fb = bo + b1x1 + b2x2

Hình 3.1

Sử dụng luật PROD diễn dịch phép giao và phép suy diễn, luật SUM diễn dịch phép hội, và giải mờ
dùng phương pháp trung bình, hàm thành viên của các luật hợp thành được xác định như sau
µR1(x1, x2, y) = µA1∩A2(x1, x2).µfa(y) = µA1(x1) µA2(x2).µfa(y) = µ1.µfa(y)
µR2(x1, x2, y) = µB1∩B2(x1, x2).µfb(y) = µB1(x1) µB2(x2).µfb(y) = µ2.µfb(y)
và giá trị giải mờ
µ 1f a + µ 2 f b µ1 µ2
y= = ( ao + a1x1 + a2x2) + ( bo + b1x1 + b2x2) = Φ Tθ
µ1 + µ 2 µ1 + µ 2 µ1 + µ 2
với
soft computing
80
µ1 = µA1(x1) µA2(x2)
µ2 = µB1(x1) µB2(x2)
µ1 x1 µ1x 2 µ1 µ x µ2x2 µ2
Φ= [ , , , 2 1 , , ]T
µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2

θ = [a1, a2, ao, b1, b2, bo]T


Ta có thể biểu diễn hệ thống xử lý mờ nầy dưới dạng mạng, gọi là mạng ANFIS, như hình 3.2.

Hình 3.2 : Mạng ANFIS

Mạng ANFIS gồm 5 lớp


- Lớp 1: xác định giá trị của các hàm thành viên của tín hiệu vào.
- Lớp 2: xác định giá trị của các hàm thành viên của các luật hợp thành.
- Lớp 3: chuẩn hóa.
- Lớp 4: xác định giá trị của hàm thành viên (dạng vạch) của tập mờ của tín hiệu ra.
- Lớp 5: giải mờ (dùng phương pháp trung bình).

Để huấn luyện mạng ta có thể sử dụng hàm mục tiêu sau


1
J= (d - y)2
2
trong đó d là tín hiệu ra mong muốn (học có giám sát). Ta có giải thuật huấn luyện sau
θ(k+1) = θ(k) - η∇J = θ(k) + η(d - y)Φ

Ví dụ 3.2: Cho hệ thống xử lý mờ hình 3.1 với 2 tín hiệu vào x1, x2, 1 tín hiệu ra y và các luật hợp
thành như sau
R1 : IF x1 IS A1 OR x2 IS A2 THEN y = fa = ao + a1x1 + a2x2
R2 : IF x1 IS B1 AND x2 IS B2 THEN y = fb = bo + b1x1 + b2x2
soft computing
81
Sử dụng luật PROD diễn dịch phép giao và phép suy diễn, luật SUM diễn dịch phép hội, và giải mờ
dùng phương pháp trung bình, hàm thành viên của các luật hợp thành được xác định như sau
µR1(x1, x2, y) = µA1∪A2(x1, x2).µfa(y) = min{1, µA1(x1)+µA2(x2)}.µfa(y) = µ1.µfa(y)
µR2(x1, x2, y) = µB1∩B2(x1, x2).µfb(y) = µB1(x1) µB2(x2).µfb(y) = µ2.µfb(y)
và giá trị giải mờ
µ 1f a + µ 2 f b µ1 µ2
y= = ( ao + a1x1 + a2x2) + ( bo + b1x1 + b2x2) = Φ Tθ
µ1 + µ 2 µ1 + µ 2 µ1 + µ 2
với
µ1 = min{1, µA1(x1)+µA2(x2)}
µ2 = µB1(x1) µB2(x2)
µ1 x1 µ1x 2 µ1 µ x µ2x2 µ2
Φ= [ , , , 2 1 , , ]T
µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2 µ1 + µ 2

θ = [a1, a2, ao, b1, b2, bo]T

Mạng ANFIS có dạng như hình 3.2. Giải thuật huấn luyện mạng tương tự như ví dụ 3.1.
θ(k+1) = θ(k) + η(d - y)Φ

3.1.3 Hệ thống xử lý mờ loại 2

Hình 3.3: Hệ thống xử lý mờ loại 2.


Tín hiệu vào thứ i có j giá trị ngôn ngữ (tập mờ) loại 2 dạng khoảng  µ ij , µ ij  .
 

Lớp 1: Các nút ở lớp này có chức năng truyền giá trị ngõ vào đến các nút của lớp kế tiếp.
Lớp 2: Các nút ở lớp này biểu diễn các hàm thành viên dạng Gaussian với trung bình m (mean) và
variance σ .
soft computing
82

 ( d̂ i (k) − m ij ) 2 
µ ij ( d̂ i (k) = exp  − 
 2. σ ij 2 

Hình 3.4.Các tập mờ với m (mean) bất định

Hình 3.5. Các tập mờ với σ bất định

Trong đó
- Nếu σ ij cố định thì mij bất định: mij ∈[mijlowermijupper] (hình 1.31).

lower upper
- Nếu mij cố định thì σ ij bất định: σij ∈[σij σij ] (hình 1.32).

Lớp 3 : Lớp này thực hiện các luật hợp thành. Các phép giao của tập khoảng trong mệnh đề điều kiện
được suy diễn dùng phép PRO(nhân). Các hàm thành viên mệnh đề điều kiện là các hàm thành viên
loại 2 được biểu diễn bởi khoảng [µijlower(d̂i ), µijupper(d̂i )] . Mệnh đề kết luận thứ n là tập mờ loại 2 xác
định bởi hàm thành viên :
 
~n = 
µ ∏ µ ij (d i (k)), ∏ µ ij (d i (k)) 
 
với n = 1,2,3..N (N : số luật hợp thành).

Lớp 4 : Các nút ở lớp này thực hiện việc giảm loại từ loại 2 sang loại 1. Các giá trị y r và y l được xác
định dùng phương pháp tâm của tập hợp (center - of - set) như sau :
soft computing
83
R N
h
∑ µnw n
r + ∑µ w h
r
yr = n =1 h = R +1
R N
h
∑ µn + ∑µ
n =1 h = R +1
L N
n
∑ µ w n
l + ∑ µ h
w h
l
y = n =1 h = L +1
l L N
n
∑ µ + ∑ µ h

n =1 h = L +1

với R (1 ≤ R ≤ N −1) và L (1 ≤ L ≤ N −1) .


Định nghĩa

φ rT =
1 µ 1 µ 2 µ 3 ..µ R µ R + 1 µ R + 2 ...µ N 
R N
h  
∑ µn + ∑ µ
n =1 h = R +1

1  µ 1 µ 2 ... µ L µ L + 1 µ L + 2 ... µ N 
φ lT = L
n
N  
∑µ + ∑ µh
n =1 h = L +1

w r [
= w 1r w 2
r w 3r ..w r ]
N T
[
w l = w 1l w l2 w 3l ..w l]
N T

y l (k) = φlT (k)w l (k);


y r (k) = φrT (k)w r (k)
Lớp 5: Lớp này là lớp ra có chức năng giải mờ. Tín hiệu ra được tính như sau:
1
y(k) = [y l (k) + y r (k)]
2
Giải thuật huấn luyện: Định nghĩa hàm mục tiêu
1
J(k) = e 2 (k)
2
Quá trình huấn luyện dùng giải thuật steepest descent:
T
 ∂ J(k) 
w l (k + 1) = w l (k) − η  
 ∂ w l (k) 
T
 ∂ J(k) 
w r (k + 1) = w r (k) − η  
 ∂ w r (k) 
Với η > 0 là hằng số học.
soft computing
84
3.2 NEURON-MỜ
3.2.1 Ứng dụng logic mờ trong mạng neuron

Hình 3.3 : Fuzzy neuron y = µ(x1, x2 , … , xm)


3.2.2 Fuzzy classification with the back propagation network
3.2.3 Fuzzy associative memories
3.2.4 Fuzzy ART models
3.2.5 Neural networks with fuzzy training

3.3 CÁC ỨNG DỤNG TIÊU BIỂU


3.3.1 Pattern regcognition
3.3.2 Clustering
3.3.3 Image processing
3.3.4 Speech recognition
3.3.5 System diagnosis

Bài tập
3.1 Cho mạng ANFIS với 2 tín hiệu vào x1, x2 và 1 tín hiệu ra y. Các tập mờ của các tín hiệu vào được cho
ở hình P3.1. Các luật hợp thành xác định bởi
R1 : IF x1 IS A1 AND x2 IS A2 THEN y = a
R2 : IF x1 IS A1 AND x2 IS B2 THEN y = b
R3 : IF x1 IS B1 AND x2 IS A2 THEN y = c
R4 : IF x1 IS B1 AND x2 IS B2 THEN y = d
Xác định giải thuật huấn luyện các thông số a, b, c, d dùng phương pháp steepest descent với hàm mục
tiêu J = 0.5(r-y)2 với r là tín hiệu ra mong muốn của mạng.
soft computing
85

Hình P3.1 Hình P3.2

3.2 Cho mạng ANFIS với 2 tín hiệu vào x1, x2 và 1 tín hiệu ra y. Các tập mờ của các tín hiệu vào được cho
ở hình P3.2. Các luật hợp thành xác định bởi
R1 : IF x1 IS N AND x2 IS N THEN y = α
R2 : IF x1 IS N AND x2 IS P THEN y = β
R3 : IF x1 IS P AND x2 IS N THEN y = γ
R4 : IF x1 IS P AND x2 IS P THEN y = λ
Xác định giải thuật huấn luyện các thông số c, d dùng phương pháp steepest descent với hàm mục tiêu
J = 0.5(r-y)2 với r là tín hiệu ra mong muốn của mạng. Giả thiết |x1| < c và |x2| < d.

3.3 Cho mạng ANFIS với 2 tín hiệu vào x1, x2 và 1 tín hiệu ra y. Các tập mờ của các tín hiệu vào được cho
ở hình P3.3. Sử dụng luật PROD để diễn dịch phép giao và phép suy diễn, luật SUM để diễn dịch phép
hội và giải mờ dùng phương pháp trung bình. Các luật hợp thành xác định bởi
R1 : IF x1 IS A1 AND x2 IS A2 THEN y = a
R2 : IF x1 IS B1 AND x2 IS B2 THEN y = b
Xác định giải thuật huấn luyện các thông số a và b dùng phương pháp steepest descent với hàm mục
tiêu J = 0,5(r-y)2 và hằng số học η với r là tín hiệu ra mong muốn của mạng. Biết |x1| < α, |x2| < β.

Hình P3.3

3.4 Cho hệ thống xử lý mờ hình P3.4 với 2 tín hiệu vào x1, x2, 1 tín hiệu ra y và các luật hợp thành
R1 : IF x1 IS A1 AND x2 IS A2 THEN y = ao
soft computing
86
R2 : IF (x1 IS A1 AND x2 IS B2) OR (x1 IS B1 AND x2 IS A2) THEN y = a1
R1 : IF x1 IS B1 AND x2 IS B2 THEN y = a2

Hình P3.4

Sử dụng luật PROD diễn dịch phép giao và phép suy diễn, luật SUM diễn dịch phép hội, và giải mờ
dùng phương pháp trung bình. Vẽ mạng ANFIS biểu diễn hệ thống và xây dựng giải thuật huấn luyện
các thông số ao, a1, a2 của mạng.
soft computing
87

Chương 4 GIẢI THUẬT DI TRUYỀN

Giải thuật di truyền (genetic algorithms, GA) mô phỏng quá trình tiến hóa trong tự nhiên. Hai ứng dụng
chính của giải thuật di truyền
- tối ưu hóa : tìm cực trị của hàm số, xử lý ảnh, nhận dạng, điều khiển
- học máy (machine learning)
Giải thuật di truyền là một công cụ quan trọng trong huấn luyện thông số và cấu trúc của mạng neuron.
Các thông số và cấu trúc cần huấn luyện được mã hóa bằng gen hoặc nhiễm sắc thể. Giải thuật di
truyền được sử dụng như công cụ tìm kiếm để xác định thông số và cấu trúc tối ưu. Giải thuật di truyền
cũng có thể được sử dụng để xác định các hàm thành viên và luật hợp thành của hệ thống xử lý mờ.

Hình 4.1
4.1 VÍ DỤ

x2
4.1.1 Ví dụ 1 [4]: Tìm giá trị lớn nhất của hàm số f(x) = 2x - trên khoảng [0, 31].
16
Rời rạc hóa khoảng [0, 31] bởi 32 số nguyên từ 0 đến 31 và mã hóa các số nguyên nầy bởi một số nhị
phân 5 bit (số bit n = 5), gọi là nhiễm sắc thể (chromosome). Tập tổng các nhiễm sắc thể G5 xác định
bởi
G5 = { 00000, 00001, 00010, 00011, 00100, 00101, 00110, 00111,
01000, 01001, 01010, 01011, 01100, 01101, 01110, 01111,
10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111,
11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111 }
mỗi số nhị phân 5 bit của G5 được gọi là một nhiễm sắc thể hoặc một cá thể, mỗi bit được gọi là một
gen. Chọn kích thước quần thể m = 4. Quần thể ban đầu p(1) được chọn một cách ngẫu nhiên từ G5
p(1) = { 00010, 01001, 10011, 11000 }
soft computing
88
Đánh giá các nhiễm sắc thể trong quần thể dùng ‘hàm chất lượng’ f(x) (fitness). Loại bỏ các nhiễm sắc
thể ‘yếu’ (có f(x) bé) và bổ sung bằng các nhiễm sắc thể ‘khoẻ’ (có f(x) lớn). Cụ thể như cho ở bảng
4.1
Bảng 4.1: Chọn lọc (loại bỏ các nhiễm sắc thể ‘yếu’ và bổ sung bằng các nhiễm sắc thể ‘khoẻ’)
giá trị giá trị x2 f(x) int{e(x)} nx
nhị phân thập phân f(x) = 2x - e(x) =
1
x ∈ p(1) x ∈ p(1)
16 ∑ f(xi )
m x i ∈p (1)
00010 2 3.75 0.34 0 0
01001 9 12.94 1.17 1 1
10011 19 15.44 1.40 1 2*
11000 24 12.00 1.10 1 1
Ghi chú: nx = int{e(x)}: số lượng bản sao trong quần thể mới. Để kích thước quần thể mới m = 4,
nhiễm sắc thể 10011 được chọn với nx = 2 bản sao do e(10011) = 1.40 = max. Ta được
p(1)n = {01001, 10011, 10011, 11000 }
Vì p(1)n ≠ p(1) nên ta sẽ tìm quần thể thế hệ thứ hai p(2) qua lai tạo (cross over) các nhiễm sắc thể trong
quần thể p(1)n.

Bảng 4.2: Lai tạo


p(1)n nhiễm sắc thể phối ngẫu Vị trí lai ghép i p(2)
(chọn ngẫu nhiên trong p(1)n) (chọn ngẫu nhiên 1 ≤ i ≤ n = 5)
01001 10011 3 01011
10011 01001 3 10001
10011 11000 1 11000
11000 10011 1 10011
Sau khi lai ghép có thể thực hiện các đột biến (với xác suất bé) trên quần thể mới.
Đánh giá các nhiễm sắc thể trong quần thể mới dùng hàm f(x). Cụ thể như cho ở bảng 4.3

Bảng 4.3: Chọn lọc thế hệ p(2)


giá trị giá trị x2 f(x) int{e(x)} nx
nhị phân thập phân f(x) = 2x - e(x) =
1
x ∈ p(2) x ∈ p(2)
16 ∑ f(xi )
m x i ∈p (1)
01011 11 14.44 1.00 1 1
10001 17 15.94 1.10 1 1
11000 24 12.00 0.83 1 1
10011 19 15.44 1.07 1 1

Quần thể mới


p(2)n = {01011, 10001, 11000, 10011 } = p(2) : dừng.
soft computing
89
Nhiễm sắc thể có ’chất lượng’ cao nhất là 10001 tương ứng với x = 17.
Chú ý rằng f(x) đạt cực đại khi x = 16, fmax = f(16) = 16 so với f(17) = 15.94. Điều nầy cho thấy, giống
như các phương pháp số khác, kết quả của giải thuật di truyền không nhất thiết là giá trị lớn nhất của
f(x). Độ chính xác của giải thuật di truyền có thể được cải thiện bằng cách tăng số cá thể (tăng số gen,
giảm khoảng lượng tử).

4.1.2 Ví dụ 2: Tìm đường đi ngắn nhất qua các thành phố sau sao cho mỗi thành phố chỉ được đi qua 1 lần
1) London 3) Dunedin 5) Beijing 7) Tokyo
2) Venice 4) Singapore 6) Phoenix 8) Victoria
Do có 8 thành phố, ta có thể mã hóa dùng nhiễm sắc thể với 8 gen, mỗi gen là 1 số từ 1 đến 8 (tương
ứng với thành phố trong danh sách), mỗi số chỉ xuất hiện 1 lần trong nhiễm sắc thể. Hàm chất lượng
(fitness) có thể định nghĩa như là nghịch đảo của tổng khoảng cách của các thành phố liên tiếp nhau
quy định bởi nhiễm sắc thể.
Quá trình lai tạo có thể thực hiện như sau
Bảng 4.4: Lai tạo tại 2 điểm (chọn ngẫu nhiên i = 3, j = 6)

Nhiễm sắc thể cha mẹ Nhiễm sắc thể con

3 5 7 2 1 6 4 8 3 5 7 6 8 1 4 2

2 5 7 6 8 1 3 4 5 8 7 2 1 6 3 4

Chú ý: cần thay thế các gen đã xuất hiện bởi gen bị thiếu do mỗi gen chỉ xuất hiện 1 lần.
Quá trình đột biến (mutation) có thể thực hiện bằng cách hoán vị một cách ngẫu nhiên 2 gen như sau
Bảng 4.5: Đột biến (chọn ngẫu nhiên i = 2, j = 5)

Trước khi đột biến Sau khi đột biến

5 8 7 2 1 6 3 4 5 1 7 2 8 6 3 4

4.2 CÁC BƯỚC CƠ BẢN CỦA GIẢI THUẬT DI TRUYỀN


1. Rời rạc hóa không gian tìm kiếm và mã hóa chúng dưới dạng các nhiễm sắc thể.
Nhiễm sắc thể có thể là bất kỳ cấu trúc dữ liệu nào, ví dụ
Dãy số nhị phân (0101 ... 1100)
Dãy số thập phân (2 3 0 ... 9 6 3)
Dãy số thực (43.2 -33.1 ... 0.0 89.2)
...
soft computing
90
2. Tạo một cách ngẫu nhiên quần thể ban đầu p(1) gồm m nhiễm sắc thể.
Thông thường m = 20 → 30.
3. Chọn lọc: xác định giá trị của hàm chất lượng f(x) cho m nhiểm sắc thể của quần thể.
Thay thế các nhiễm sắc thể yếu (có f(x) thấp) bằng các nhiễm sắc thể khỏe (có f(x) cao).
Chú ý: hàm chất lượng f(x) > 0 trên không gian tìm kiếm.
4. Tạo quần thể mới bằng cách thực hiện lai tạo và đột biến
4.1. Lai tạo (cross over)
Chọn hai nhiễm sắc thể cha mẹ từ quần thể (có thể chọn ngẫu nhiên hoặc chọn theo giá trị của
hàm chất lượng f(x)).
Lai tạo hai nhiễm sắc thể cha mẹ để tạo ra các nhiễm sắc thể con.

Lai tạo tại 1 điểm

Lai tạo tại 2 điểm

Lai ta©o đều (uniform crossover)

Lai ta©o số học


Hình 4.2
soft computing
91
Xác suất lại tạo thông thường khoảng 80%-95%. Nếu không có lai tạo, các nhiễm sắc thể con
trùng với các nhiễm sắc thể cha mẹ.
4.2 Đột biến (mutation)
Thực hiện đột biến tại các gen của các nhiễm sắc thể con.
Xác suất đột biến thường khoảng 0.5%-1%.
Đột biến giúp thoát khỏi cực trị địa phương.
5 Nếu điều kiện dừng không thỏa mản: Quay lại bước 3.

4.3 CHỌN LỌC (selection)


Có nhiều phương pháp chọn lọc nhiễm sắc thể từ quần thể để lai tạo (cross over). Phỏng theo thuyết
tiến hoá của Darwin, các nhiễm sắc thể tốt nhất sẽ được chọn để tạo ra các nhiễm sắc thể con. Các
phương pháp chọn lọc thông dụng như sau
1) Phương pháp bánh xe quay (roulette wheel): Mỗi nhiễm sắc thể được gán với 1 diện tích tỷ lệ với
hàm chất lượng trên bánh xe quay. Nhiễm sắc thể khỏe tương ứng với phần diện tích lớn trên bánh
xe và có xác suất được chọn cao. Nhiễm sắc thể yếu tương ứng với phần diện tích bé trên bánh xe
và có xác suất được chọn thấp.

Hình 4.3

Giải thuật.
1. Tính tổng giá trị S của các hàm chất lượng của tất cả các nhiễm sắc thể trong quần thể.
2. Các nhiễm sắc thể được gán với các khoảng không phủ nhau [si, sj) trong đó si ≥ 0 và sj ≥ S.
3. Tạo số ngẫu nhiên r trong khoảng [0,S).
4. Nhiễm sắc thể được chọn là nhiễm sắc thể có si ≤ r < sj.
2) Phương pháp xếp hạng (rank selection): Nhược điểm của phương pháp bánh xe quay là các nhiễm
sắc thể ‘yếu’ có rất ít cơ hội được chọn. Để tránh nhược điểm trên, phương pháp xếp hạng gán các
số thứ tự cho các cá thể trong quần thể. Cá thể yếu nhất được gán với số 1, cá thể kế tiếp với số 2 ...
và cá thể khỏe nhất được gán với m (m là số nhiễm sắc thể trong quần thể). Ví dụ với m = 4
soft computing
92

Sự phân chia diện tích trên bánh xe trước khi xếp hạng

Sự phân chia diện tích trên bánh xe sau khi xếp hạng
Hình 4.3

Sau khi xếp hạng, quá trình chọn lọc được thực hiện tương tự phương pháp bánh xe quay. Phương
pháp xếp hạng có thể có tốc độ hội tụ chậm do ít có sư khác biệt giữa các nhiễm sắc thể khác nhau.
3) Phương pháp chọn lọc xác lập: Ý tưởng chính của phương pháp nầy là giử phần lớn các nhiễm sắc
thể cho thế hệ kế tiếp. Cụ thể là một số ít nhiễm sắc thể khỏe được chọn để lai tạo và thay thế các
nhiễm sắc thể yếu nhất. Các nhiễm sắc thể khác được giử nguyên cho thế hệ kế tiếp.
4) Boltzman selection
5) Tournament selection

4.4 CÁC ỨNG DỤNG TIÊU BIỂU


• Nonlinear dynamical systems - predicting, data analysis
• Designing neural networks, both architecture and weights
• Robot trajectory
• Evolving LISP programs (genetic programming)
• Strategy planning
• Finding shape of protein molecules
• TSP and sequence scheduling
• Functions for creating images
soft computing
93
Bài tập
4.1 Mô tả giải thuật di truyền tìm giá trị lớn nhất của hàm số f(x) trên đoạn a ≤ x ≤ b.
4.2 Mô tả giải thuật di truyền để tìm giá trị lớn nhất của hàm số y = f(x1,x2) trên miền xác định bởi -a ≤
x1 ≤ a, -b ≤ x2 ≤ b.
4.3 Mô tả giải thuật di truyền để tìm đường đi ngắn nhất nối 10 điểm, sao cho mỗi điểm chỉ đi qua 1 lần.
soft computing
94

Bài tập lớn


1.1) Dùng phương pháp phân nhóm mờ, viết m file phân chia tập dữ liệu X ⊂ R2 thành hai nhóm xác định
bởi đường thẳng x2 = cx1. Tự tạo tập dữ liệu gồm 200 phần tử trong R2, dùng 100 dữ liệu đầu tiên để
xác định khân xử lý mờ, dùng 100 dữ liệu còn lại để kiểm tra.

1.2) Học viên chọn 1 trong 4 câu a, b, c, d sau


(1 - a)(1 - b)
a) Dùng Simulink mô phỏng hệ thống rời rạc H(z) = (dùng khối discrete transfer function
(z - a)(z - b)
với sample time = 0.1) với tín hiệu vào là ồn trắng (dùng khối band limited white noise với sample time
= 1). Lưu các tín hiệu vào và ra của hệ thống vào tập tin (dùng khối to file với sample time = 0.1). Viết
m file để đọc dữ liệu trên trên tập tin và nhận dạng mô hình mờ của hệ thống. So sánh tín hiệu ra của hệ
thống với tín hiệu ra mô phỏng và dự báo. Nhận xét.
(1 - a)(1 - b)
b) Xây dựng bộ cân bằng mờ cho kênh thông tin với hàm truyền đạt H(z) =
(z - a)(z - b)
c) Dùng Simulink mô phỏng hệ thống điều khiển mờ Mamdani cho đối tượng có hàm truyền đạt H(z) =
1
(chọn chu kỳ lấy mẫu = 0.1s).
(z − a)(z − b)
d) Mô tả chi tiết một ứng dụng của logic mờ.

2.1) Huấn luyện mạng truyền thẳng để phân nhóm các phần tử của tập X ⊂ R2 thành hai nhóm xác định bởi
đường thẳng x2 = cx1. Tự tạo tập dữ liệu gồm 200 phần tử trong R2, dùng 100 dữ liệu đầu tiên để huấn
luyện mạng, dùng 100 dữ liệu còn lại để kiểm tra

2.2) Học viên chọn 1 trong 3 câu a, b, c sau


(1 - a)(1 - b)
a) Dùng Simulink mô phỏng hệ thống rời rạc H(z) = (dùng khối discrete transfer function
(z - a)(z - b)
với sample time = 0.1) với tín hiệu vào là ồn trắng (dùng khối band limited white noise với sample time
= 1). Lưu các tín hiệu vào và ra của hệ thống vào tập tin (dùng khối to file với sample time = 0.1). Viết
m file để đọc dữ liệu trên trên tập tin và huấn luyện mạng truyền thẳng. So sánh tín hiệu ra của hệ
thống với tín hiệu ra mô phỏng và dự báo. Nhận xét.
(1 - a)(1 - b)
b) Xây dựng bộ cân bằng dùng mạng neuron cho kênh thông tin với hàm truyền đạt H(z) =
(z - a)(z - b)
c) Mô tả chi tiết một ứng dụng của mạng neuron.

3.1) Dùng giải thuật di truyền, tìm đường đi ngắn nhất nối các điểm ABCDEFG.
soft computing
95

tt 1 2 3 4 5 6 7 8 9 10
a 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75
b 0.99 0.97 0.96 0.93 0.91 0.89 0. 87 0.86 0.84 0.83
c 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 11 12 13 14 15 16 17 18 19 20
a 0.80 0.82 0.85 0.88 0.90 0.92 0.94 0.95 0.96 0.98
b 0.81 0.79 0.77 0.68 0.64 0.62 0.58 0.53 0.48 0.43
c 1.2 1.5 1.8 2 2.2 2.5 2.8 3 3.5 4
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 21 22 23 24 25 26 27 28 29 30
a 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75
b 0.81 0.79 0.77 0.68 0.64 0.62 0.58 0.53 0.48 0.43
c 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 31 32 33 34 35 36 37 38 39 40
a 0.80 0.82 0.85 0.88 0.90 0.92 0.94 0.95 0.96 0.98
b 0.99 0.97 0.96 0.93 0.91 0.89 0. 87 0.86 0.84 0.83
c 10 12 15 18 20 25 30 35 40 45
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 41 42 43 44 45 46 47 48 49 50
a 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75
b 0.89 0. 87 0.86 0.84 0.83 0.99 0.97 0.96 0.93 0.91
c -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 51 52 53 54 55 56 57 58 59 60
a 0.80 0.82 0.85 0.88 0.90 0.92 0.94 0.95 0.96 0.98
b 0.62 0.58 0.53 0.48 0.43 0.81 0.79 0.77 0.68 0.64
c -1.2 -1.5 -1.8 -2 -2.2 -2.5 -2.8 -3 -3.5 -4
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45
soft computing
96

tt 61 62 63 64 65 66 67 68 69 70
a 0.92 0.94 0.95 0.96 0.80 0.82 0.85 0.88 0.90 0.80
b 0.99 0.97 0.96 0.93 0.91 0.89 0. 87 0.86 0.84 0.83
c -4.5 -5 -5.5 -6 -6.5 -7 -7.5 -8 -8.5 -9
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 71 72 73 74 75 76 77 78 79 80
a 0.55 0.60 0.65 0.70 0.75 0.30 0.35 0.40 0.45 0.50
b 0.81 0.79 0.77 0.68 0.64 0.62 0.58 0.53 0.48 0.43
c -10 -12 -15 -18 -20 -25 -30 -35 -40 -45
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

tt 81 82 83 84 85 86 87 88 89 90
a 0.55 0.60 0.65 0.70 0.75 0.30 0.35 0.40 0.45 0.50
b 0.79 0.68 0.62 0.53 0.81 0.77 0.64 0.43 0.43 0.48
c -15 -20 -35 -40 -12 -10 -45 -25 -18 -30
d 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.40 0.45

Tài liệu tham khảo


[1] B. Kosko (Ed). Neural networks for signal processing. Prentice Hall. 1992.
[2] C.T. Lin and C.S.G. Lee. Neural fuzzy systems. Prentice Hall. 1996.
[3] O. Omidvar and D.L. Elliott (Eds). Neural systems for control. Academic Press. 1997.
[4] Nguyễn Như Phong. Tính toán mềm và ứng dụng. NXB Khoa học và Kỹ thuật. 2008.
[5] R. Rojas. Neural networks. A systematicIntroduction. Springer. 1996.
[6] T.J. Ross. Fuzzy logic with engineering applications. McGraw-Hill, 1997.
[7] L.X. Wang. A course in fuzzy systems and control. Prentice Hall. 1997.
[8] J. Yen and R. Langari. Fuzzy logic. intelligence, control, and information. Prentice Hall. 2000.
[9] K. Tanaka, H.O. Wang, Fuzzy control systems design and analysis: a linear matrix inequality
approach, John Wiley & Sons, Inc., 2001.
[10] Zilouchian, M. Jamshidi (Eds). Intelligent control systems using soft computing methodologies, CRC
Press LLC, 2001.
[11] B. Krose, P.V.D. Smagt, An introduction to Neural Networks, The University of Amsterdam, 1996.

You might also like