Soft Computing
Soft Computing
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
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.
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)
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ì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) 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.
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)
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
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
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
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
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
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)
p q p⇒q
T T T
T F F
F T T
F F T
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)
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
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)
1.4 HỆ THỐNG XỬ LÝ MỜ
Hình 1.10
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).
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)
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.
Hình 1.13
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
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
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
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
φ 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
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
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ờ.
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
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)
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).
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
1 || x j − Vi (k ) || = min m || x j − Vm (k ) ||
Uij(k+1) = (1.7.7)
0 otherwise
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
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
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
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.
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
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ố
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
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.
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)
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.
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) …
Đ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).
Đị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
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
……………
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.7 Ứng dụng trong nhận dạng ký tự (OCR : optical character recognition)
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
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
∂a(net) ∂a(net q )
= η[d – y] wq x = ηδqx (2.3.8)
∂net ∂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
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.
∂J ∂J ∂y i ∂a(net i )
δoi = - =- = (di – yi) (2.3.20)
∂net i ∂y i ∂net i ∂net i
∂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
∆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
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
⇒ yi = a(neti) = a( ∑ w ij y j + x i ) (2.4.2)
j
∂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
∂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
∂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
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.
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
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
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)
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
- 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
∑ 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
……………………………
∑ 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.
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).
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
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
ŵ i( k +1) = ŵ i( k ) + α ( k ) [ x − ŵ i( k ) ] (2.6.11)
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 − ŵ 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.
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)
với u() : bước nhảy đơn vị, a, b, c là các hằng số dương với a << c.
(
& 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).
(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.
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 ý.
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'})
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
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
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
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)Φ
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
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
φ 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
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
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
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.
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)
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)
5 8 7 2 1 6 3 4 5 1 7 2 8 6 3 4
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
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
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