báo cáo về chương trình ứng dụng
Trang 1Chương 3 CHƯƠNG TRÌNH ỨNG DỤNG
3.1 Yêu cầu
Chương trình sau khi xây dựng phải giải quyết được các vấn để chính sau:
- _ Thiết lập được mối liên quan nhân quả giữa biến độc lập x và phụ thuộc y từ
dữ liệu thực nghiệm đưa vào (dựa trên mô hình thực nghiệm)
-_ Dự đoán được giá trị biến phụ thuộc y từ các giá trị biến độc lập x
-_ Tối ưu các giá trị biến độc lập x theo biến phụ thuộc y (tính chất, giá trị của
biến phụ thuộc y do người dùng yêu câu)
Ngoài ra chương trình còn có các tính toán thống kê để đánh giá các giá trị xuất
ra từ dữ liệu thực nghiệm ban đầu
3.2 Kỹ thuật trong cài đặt
Chương trình ứng dụng sử dụng kết hợp kỹ thuật mạng neuron, logic mờ và thuật toán di truyền giải quyết bài toán tối ưu hóa công thức và quy trình
Thiết lập mô hình nhân - quả: sử dụng hai kỹ thuật:
-_ Mô hình mạng lan truyền ngược có sửa đổi, cải tiến
-_ Mô hình ANFIS (mạng neuron kết hợp logic mờ)
Khi thiết lập mô hình nhân quả từ tập dữ liệu luyện, người sử dụng có thể chọn một trong hai mô hình trên và các thông số tương ứng với mỗi mô hình Tập dữ liệu thử được chọn trực tiếp trên tập dữ liệu đưa vào bằng hai cách: phần trăm mẫu luyện (được chọn ngẫu nhiên) hoặc chọn trực tiếp
Trang 265 Thuật toán di truyễn: thuật toán di truyền kết hợp logic mờ - tối ưu hóa công thức/ quy trình
Mạng neuron:
Thuật toán lan truyền ngược cải tiến
Chương trình sử dụng mạng lan truyền ngược dạng 3 lớp: I lớp nhập - | lớp ẩn -
1 lớp xuất Tập N mẫu thử có dạng {(X,Y)} = {XỊ, Xa, ., Xự; Vp You os vị}, với n
=1,2, ,N Mỗi giá trị biến phụ thuộc sẽ được luyện riêng biệt (1 nút mạng trong lớp xuất), mạng sẽ luyện I lần cho l biến phụ thuộc Các giá trị trọng số mạng sẽ tương ứng cho từng biến phụ thuộc
Thuật toán chính là thuật toán lan truyền ngược với một số biến đổi:
-_ Tốc độ học và các thông số mạng thay đổi theo quá trình luyện
-_ Thay đổi một số cách tính trong quá trình lan truyền ngược nhằm ngăn lỗi
bão hòa [I1]
Thuật toán Backpropagation cải tiến: (cài đặt trong chương trình)
Trong thuật toán backpropagation dùng kỹ thuật ngăn lỗi bão hòa - ngăn chận hiện tượng bão hòa sớm và cải tiến tốc độ - và kỹ thuật điều chỉnh tốc độ học bằng thay đổi tính hiệu gradient
Thuật toán được trình bày với W mẫu luyện, 7s biến độc lap Uns nit nhap), Outs
biến phụ thuộc (để don gin cho Outs = 1, mỗi biến phụ thuộc tương ứng với một
tập trọng số luyện khác nhau, Øzs nút xuất) và Hids nút ẩn:
Bước 1: khởi tạo các giá trị trọng số và thông số mạng
Các trọng số được khởi tạo ngẫu nhiên trong đoạn [-0.05; 0.05]
Ánh xạ các giá trị biến độc lập vào [0.1; 0.9] theo công thức:
Trang 3max min
V6i Vinax VA Vin 14 cc gid trị thô cực đại, cực tiểu của các biến số x, y Và Tmạy=
0.9; Trin = 0.4:
Bước 2: lan truyền tiến:
Với mang 3 I6p 1 in - 1 hid - 1 out tinh giá trị tại các nút dựa trên trọng số Giả
sử tại một nút mạng có giá trị xuất là z¿, thi: z = f(u)
VỚI U = XI.WIj + Xa.W2j + + Xn.Wnj + Wọ (W: trọng số)
hàm truyền f: người sử dụng chọn một trong 3 hàm
f(u) = tanh(u)= Š——S— e+e
Bước 3: lan truyền ngược (sử dụng phương pháp ngăn lỗi bão hòa)
Cập nhật lại trọng số dựa trên sai số trung bình bình phương Quá trình lan truyền ngược dùng kỹ thuật ngăn lỗi bão hòa và điều chỉnh tốc độ học giúp tăng khả năng học, dự đoán và giảm thời gian hội tụ của quá trình học
Bước 4: nếu sai số trung bình bình phương bước thứ t: E, nhỏ hơn E,¡ thì lưu lại giá trị trọng số, qua bước 5
Trang 467 Giảm tốc độ học xuống, nếu E, tăng liên tục vượt một số lần nhất định thì E, sẽ được lấy lại giá trị tốt nhất cùng với trọng số tương ứng (các hệ số tốc độ học được sử dụng tiếp tục)
Bước 5: nếu sai số trung bình bình phương E > 0.0001 hay số lần lặp chưa đến ngưỡng ấn định: lặp lại bước 2;
nếu không: thoát ra và xuất kết quả dự đoán trên dữ liệu luyện, kết quả xuất ra được ánh xạ trở về không gian ban đầu
EXp = Vin (fo (Vinax — Ve) công thức 3.2.2
với V„„„ và Vua là các giá trị thô cực đại, cực tiểu của biến, và T„a„=0.9, T„¡ạ = 0.1, Act là giá trị kết xuất thực của mạng và Exp là giá trị cần tìm của biến phụ
thuộc
ANFIS
Thuật toán cài đặt dựa trên kiến trúc mạng 5 lớp của mô hình ANFIS, cho phép chọn số tập mờ (số tập mờ càng nhiều - số luật khởi tạo càng nhiều) trong lúc khởi tạo luật Mô hình sử dụng trong hệ mờ là Sugeno (TSK), hàm thành viên:
triangular hoặc trapezoid (tùy chọn)
Thuật toán cài đặt chính
Thuật toán dùng mạng 5 lớp, rút luật từ tập dữ liệu dùng kỹ thuật chọn trực tiếp
[trang 42]
Các giá trị hằng số của hàm thành viên được phát sinh bởi chương trình, hàm thành viên được dùng là hàm Trapezoid Trong công thức 2.3.1 và 2.3.4 các tham số a, b, c được khởi tạo dựa trên số khoảng mờ đưa vào:
Trang 5Cho dữ liệu luyện (xị, xạ; y), với:
(min,¡ = 44.5, max,¡ = 47.5, min,¿= 0, maxx¿= l; miny = 3.84, max,= 13)
Kết quả khởi tạo các tham số a, b, c trong 3 khoảng mờ:
Trang 7
384 6.13 842 10.71 13
(c) Bước 1: rút luật từ dữ liệu luyện: ý tưởng chính dựa trên rút luật trực tiếp từ dữ liệu luyện Tính toán các giá trị dữ liệu luyện dựa trên các khoảng mờ Rút luật
từ dữ liệu dựa vào khoảng mờ và hàm thành viên tương ứng [trang 42], tính giá trị xuất lần lượt ở các nút mạng [trang 37, 38]
Bước 2: cập nhật lại khoảng mờ và hàm thành viên
Bao gồm các giá trị a, b, c, các khoảng mờ và p, q, r tính kết xuất
O,,; = Wif, = Wi(px+ gy +r)
Kỹ thuật cập nhật các tham số dựa trên phương pháp giầm đốc nhất Để đơn giản thuật toán, giả sử với dữ liệu luyện (x, y; z8:
Ifx= Ai AND y = Bị then Ÿ¡ = pị X + qị y +Tị
Trang 871 Đưa về cách tính tương tự như thuật toán lan truyền ngược, f cập nhật ở bước
plt+1) =ap(t) eZ = ap,(9—z(o—z) 2Ð ap, ap, công thức 32.4
q,(t + 1) = aq,(t) - Se = aq,(t)- e(O- 22 công thức 3.2.5
nếu không: thoát ra và xuất kết quả dự đoán trên dữ liệu luyện
Thuật toán di truyền
Quá trình tối ưu dùng thuật toán di truyền kết hợp logic mờ (hàm trapezoid),
hàm thích nghi dựa vào mô hình nhân quả được thiết lập trong quá trình luyện
Trang 9mạng neuron Các giá trị thích nghỉ của từng cá thể là giá trị có được từ hàm thích nghi nhưng đã được xử lý làm mờ hóa
Thuật toán cài đặt chính trong chương trình:
Bước 1: khởi tạo quần thể: một phần phát sinh trong giới hạn max, min của biến
độc lập cho phép; một phần dùng lại dữ liệu luyện có sẵn ban đầu (các giá trị biến độc lập) làm các các thể trong quần thể
Bước 2: tính giá trị thích nghỉ dựa trên mô hình nhân quả thiết lập từ mạng
neuron
Bước 3: sao chép lại các nhiễm sắc thể dựa vào giá trị thích nghi của chúng và tạo ra những nhiễm sắc thể mới bằng việc kết hợp các nhiễm sắc thể hiện tại (dùng các toán tử lai ghép, đột biến, tái kết hợp)
Bước 4: loại bỏ những thành viên không thích nghỉ trong quần thể
Bước 5: chèn những nhiễm sắc thể mới vào quần thể để hình thành quần thể
mới _
Bước 6: quay lại bước 2 cho đến khi việc tối ưu chưa đạt điều kiện định trước (100%) hay số vòng lặp chưa đạt tối đa
Với việc kết hợp với logic mờ, khi xác định các giá trị biến phụ thuộc thông qua
mô hình nhân quả được thiết lập từ mạng neuron các giá trị này sẽ được ánh xạ
sang các giá trị mờ nhờ các hàm thành viên được xác định bởi người sử dụng Với cách định nghĩa tối ưu biến phụ thuộc, biến phụ thuộc được xem là tối ưu khi giá trị được ánh xạ qua hàm thành viên bằng 1 Như vậy:
XJ(yi) < số biến phụ thuộc với ƒ; là hàm thành viên tương ứng với biến phụ thuộc y¡
Trang 10B Các dạng hàm mờ dùng trong quá trình tối wu
Ham mdi bang (Flat Tent): gid tri toi wu
được xác định trong khoảng từ Midl
đến Mid2 Mức tối ưu giẩm từ Mid1
đến Min và Mid2 đến Max
Hàm lên dốc (Úp): giá trị tối ưu được
xác định trong khoảng từ Mid1 = Mid2
đến Max Mức tối ưu giảm từ Midl
đến Min
Hàm xuống đốc (Down): giá trị tối ưu
được xác định trong khoảng từ (Mid1 =
Mid2) đến Min Mức tối ưu giảm từ
Trang 11Giao diện chính của chương trình:
nlelnl ø| x|eje| »|;|u| =|=|s|
455
455 4s Hs
Trang 1273
An định thông số luyện mạng
Maximal Epoch 6000 ~—=S*~*«~N Hidden Node fT ” : 0K
| Tranfer function [Logistic =] Mememvm E7 ca
| Decimal Places Bo
© ANFIS (Neuro-Fuzzy) | Test (%) io
7 FuNN (Fuzzy-Neural Nework
| Options jack Propagat
Hình 3.3.3 Màn hình ấn định thông số luyện mạng Kết quả luyện mạng
allt
pieigl ø| 4 Iaj ala] ae
= Yo Seen Yon tan (lan eae t
in a dea gone” Fray Fin oes Sua” Gai ene 301 sot 078% 202 39 e457 % sẽ
re] HỊ 48 2 bist a) sll) ol rie) esis) NHI
rel as [T[Esmen Haines prodee RSSmea_ Fonbiny — Fraoiy_gadcied RSqusa Ormtegiim Oanleg iene pred Fe
Trang 13Thí dụ công thức
Công thức pha chế viên nén cafein (xem phụ lục)
Mục tiêu tối ưu hóa
Xác định nổng độ của các nguyên liệu và điều kiện pha chế gốc:
Trang 15y3 = Down (< 900 giây)
điều kiện x; < 3
Int€ger: Xị, Xạ Và Xs
XI X; X X Xs yi Y2 ¥3
Lần 2 0 45.355 2.95 1 1 8.339 0.550 307.935 Lần 3 0 47.520 271 1 9.054 0.131 484.881 Lần 4 0 47.397 2.03 1 9.02 0.563 407.965
Thuật toán ANFIS
Trang 17
Thi du quy trinh
Chiết xuất saponin toàn phần từ hạt gấc M cochinchinensis (xem phụ lục)
Mục tiêu tối ưu hóa
Xác định điều kiện chiết xuất:
x, = cách chế biến hạt gấc
x; = nồng độ cồn (dung môi)
x; = nhiệt độ chiết xuất
xạ = tỷ lệ dược liệu/ dung môi
sao cho sản phẩm đạt các yêu cầu:
y¡ = tỷ lệ saponin = tối đa (%)
Trang 19x; = nồng độ côn (dung môi) = 61.78
xạ = nhiệt độ chiết xuất = 80 °C (1)
xạ = tỷ lệ dược liệu/ dung môi = I:5 (1)
Khi luyện, kiểm tra mạng với nhóm luyện và nhóm thử, mô hình được thiết lập
từ nhóm luyện sẽ được dùng để dự đoán các tính chất của công thức trong nhóm thử Thông thường phương pháp dùng đánh giá khả năng của mạng là dùng giá
tri R’, hai giá trị R” luyện và RŸ thử được tính theo công thức:
Trang 2083 Thông thường giá trị R” luyện > 90% và giá trị R”thử > 70% thì mô hình có thể chấp nhận được Giá trị RŸ thử càng tiến tới 100 thì khả năng dự đoán của mô hình càng tốt
Phương pháp này được chọn trong quá trình cài đặt để đánh giá độ chính xác của chương trình
Thử từng trường hợp
Cho n công thức, mỗi lân có n-1 công thức được dùng để luyện mạng và sau đó
mô hình sẽ được dùng để dự đoán tính chất của công thức còn lại Quá trình thử được tiếp tục cho đến khi nào tất cả công thức đều được dự đoán về tính chất
-_ Lần l: công thức 1 được loại khỏi nhóm đữ liệu, n-1 công thức còn lại được dùng luyện mạng, có được giá trị dự đoán Ệ¡
-_ Lần 2: công thức 2 được loại khỏi nhóm dữ liệu, n-l công thức còn lại được dùng luyện mạng, có được giá trị dự đoán 9z
- Lần n: công thức n được loại khỏi nhóm dữ liệu, n-1 công thức còn lại được
dùng luyện mạng, có được giá trị dự đoán Ÿạ
Sau cùng, biểu đổ phân tán giữa các giá trị thực nghiệm và các giá trị dự đoán
được trình bày:
Trang 21
Kết quả tối tu với chương trình INForm 3.0
xị = loại tá dược rã Lactose (0)
x; = nông độ tá được rã (%) = 47.50%
x; = nồng độ tá dược dính PVP (%) = 2.70%
xạ = cách thêm PVP = phun dung dịch (0)
x; = thiết bị làm cốm = máy sấy tầng sôi (1)
tính chất dự đoán:
y¡ = độ cứng = 9.62 kP
y2 = độ mài mòn = 0.19%
y3 = thời gian tan rã = 395.04 giây
So sánh thống kê giữa thuật toán cài đặt và INForm 3.0
Kiểm tra chéo giữa INForm 3.0 và các thuật toán trong chương trình
Kết quả tối ưu cla INForm 3.0:
Trang 22
§5
Ding gid trị độc lập của INForm 3.0 để ước tính giá trị phụ thuộc với hai thuật
toán BackProp cải tiến và ANFIS
YI Ÿ› ¥3 BackProp 8.576 0.859 569.437
F = 0.988 < Foo5 = 18.512 BackProp va INForm 3.0
F = 0.993 < Foos = 18.512 Dùng giá trị độc lập (trong trường hợp tối ưu) của BackProp để ước tính giá trị
phụ thuộc với INForm 3.0 va ANFIS
Kết quả tối ưu BackProp:
Trang 23ANFIS va BackProp
F=1.001 < Foos = 18.512 ANFIS va INForm 3.0
F = 0.986 < Foos = 18.512 BackProp va INForm 3.0
F = 0.988 < Foo5 = 18.512
BackProp va INForm 3.0
F = 1.030 < Fop5 = 18.512
Trang 24§7 Như vậy, với kết quả phân tích phương sai hai yếu tố không lặp, giá trị dự đoán
bởi hai thuật toán được cài đặt và chương trình INForm 3.0 không có sự khác
nhau về mặt thống kê Œ < Foos)
Thí dụ quy trình
Kết quả tối ưu với chương trình INForm 3.0
xị = cách chế biến hạt gấc = B (1)
x; = nồng độ cồn (dung môi) = 67.65
X3 = nhiệt độ chiết xuất = 80 °C
xạ = tỷ lệ dược liệu/ dung môi = 1:5 (1)
Tính chất dự đoán của sản phẩm:
y¡ = tỷ lệ saponin = 0.1 (%)
yo = ty lệ tạp chất = 0.01 (%)
So sánh thống kê giữa thuật toán cài đặt và INForm 3.0
Kiểm tra chéo giữa INForm 3.0 và các thuật toán trong chương trình
Kết quả tối ưu của INForm 3.0:
Dàng giá trị độc lập của INForm 3.0 để ước tính giá trị phụ thuộc với thuật toán
BackProp cải tiến
Trang 25BackProp và INForm 3.0
E=3.177 < Foos = 161.446
Dùng giá trị độc lập (trong trường hợp tối wu) của Backprop để ước tính giá trị
phụ thuộc với INForm 3.0
Kết quả tối ưu BP:
Như vậy, với kết quả phân tích phương sai hai yếu tố không lặp, giá trị dự đoán
bởi thuật toán được cài đặt và chương trình INForm 3.0 không có sự khác nhau
về mat thong ké (F < Foos)