2.1.2.1. Thuật toán EnHA-PAES-SF
Để giải bài toán hồi quy với thiết kế hoạch mới, luận án đề xuất một thuật toán với tên gọi là EnHA-PAES-SF được cải tiến dựa trên thuật toán đa mục tiêu xây dựng hệ mờ giải bài toán hồi quy HA-PAES-MG-Kmax trong [7], [62]. Thuật toán này thực hiện tối ưu đồng thời tham số tính mờ của ĐSGT ngữ nghĩa dạng tập mờ của từ cùng với hệ luật. Thuật toán EnHA-PAES-SF thiết kế phân hoạch mới dựa trên ĐSGT mở
rộng sử dụng các tập mờ dạng hàm S thay vì dạng tam giác như trong [62] (Hình 2.2) hay hình thang trong [63] (Hình 2.3).
Các thuật toán này dựa trên thuật toán tiến hóa đa mục tiêu (2+2)M-PAES trong [26]. Ý tưởng chính của thuật toán này là tìm kiếm một mặt Pareto chứa các lời giải (FRBS) với hai mục tiêu độ chính xác và tính giải nghĩa được của hệ luật dựa trên quá trình tiến hóa.
Bước đầu tiên thuật toán sinh ra hai cá thế (lời giải) ngẫu nhiên, bổ sung hai cá thể này vào mặt Pareto.
Bước tiếp theo thực hiện quá trình lặp, với mỗi bước lặp thực hiên các công việc sau đây:
+ Chọn ngẫu nhiên hai cá thể cha mẹ từ mặt Pareto
+ Thực hiện lại ghép hai cá thể cha mẹ để sinh ra hai cá thể con, sau đó thực hiện đột biến độc lập trên các thể con.
+ Lần lượt bổ sung các cá thể con vào mặt Pareto nếu nó không bị trội bởi bất kỳ cá thể nào trong mặt Pareto, những cá thể có trong mặt Pareto bị trội bởi cá thể vừa bổ sung sẽ được loại bỏ ra khỏi mặt Pareto. Nếu số cá thể bổ sung vào mặt Pareto vượt quá giới hạn xác định trước thì một cá thể trong vùng có mật độ cao nhất sẽ bị loại bỏ bằng cách chọn ngẫu nhiên.
Quá trình lặp sẽ kết thúc khi thực hiện xong n lần lặp, với n được xác định trước.
Các kỹ thuật mã hóa và các toán tử di truyền của thuật toán này được trình bày lại dưới đây, chúng được áp dụng ở đây và trong chương 3.
a. Mã hóa cá thể
Luận án sử dụng một gia tử âm Lj (Little) và một gia tử dương Vj (Very) trên mỗi biến và mục tiêu cần tối ưu là tham số tính mờ của ĐSGT và hệ luật. Do đó mỗi cá thể của quần thể được mã hóa gồm hai phần (Cµ, CRB) xem Hình 2.6, trong đó:
- Cµ: Biểu diễn các tham số tính mờ của các ĐSGT mở rộng tương ứng với các biến, là một véc tơ = (1,…,n+1), trong đój = {{ h0j Lj, fm(0j), fm( −), fm(wj), fm(1j)}, j = 1,..,n+1.
Như vậy Cµ gồm 6 (n+1) gen các số thực.
- CRB: Biểu diễn hệ luật, mỗi luật được mã hóa bằng một véc tơ gồm n+1 số nguyên. Giả thiết tập các từ được sử dụng trên mỗi biến làj {Don’tcare} được
đánh chỉ số như sau:j {Don’tcare} = {wjk: k = 0, 1, …, T}, và j = 1,…, n+1, trong đó
wj0 = “Don’tcare”, có nghĩa là chỉ số của từ “Don’tcare” là “0”. Khi đó, một luật rq sẽ được mã hóa như là véc tơ (kq1, …, kqn, kq(n+1)). Các luật của hệ luật được sinh
ra bằng hàm sinh luật PrGenRule(dp, { ( ), ( ( )): j ≤ n + 1},max) ở Mục 1.4.4.1 với d là mẫu dữ liệu được chọn ngẫu nhiên trong tập dữ liệu huấn luyện, bộ tham số tính mờ trong Cµ, và chiều dài tối đa của luậtmax do người dùng xác định trước.
Để giảm không gian tìm kiếm và RB sinh có tính giải nghĩa cao, ta giới hạn số luật của mỗi RB nằm trong khoảng [Mmin, Mmax].
Gắn với mỗi cá thể là một véc tơ hàm mục tiêu gồm hai thành phần (MSE,
Comp), trong đó MSE biểu thị độ chính xác của hệ luật được xác định theo (1.18) và
Comp là tổng độ dài của các luật trong RB.
C : (h01) (L1) ( 1) ( 1−) ( 1) ( 1) … (h0,n+1) (Ln+1) ( +1) ( +1−) ( +1) ( +1) r1 rM CRB: k11 … k1(n+1) … kM1 … kM(n+1) Hình 2.6. Cấu trúc mã hóa một cá thể b. Các toán tử di truyền
- Tương tự như các thuật toán đề xuất trong [13] ở đây luận án sử dụng lai ghép BLX- trên phần tham số Cµ, và lai ghép one-point crossover trên phần CRB.
Với hai cá thể cha mẹ bất kỳ 1 và 2, thực hiện lai ghép để tạo ra 2 các thể con 1, 2:
+Trên Cµ: giả sử gen thứ i trên phần Cµ của hai các thể con tương ứng là (xi, yi) và xi, yi [ai, bi) [0, 1], i
= 1,..,6(n+1); để sinh ra các cá thể con 1, 2, thì gen zi trong phần Cµ của chúng được chọn ngẫu nhiên trong đoạn [li, ui], trong đó li = max {ai, cmin – I}, ui = min {bi, cmax + I} với cmin = min {xi, yi}, cmax = max {xi, yi},
I = (cmax - cmin) .
+Trên phần CRB: thực hiện lai ghép one-point crossover, điểm lai ghép được
chọn ngẫu nhiên trong đoạn [1,min-1], trong đómin là số luật ít nhất của 2 cơ sở luật trong 1 và 2.
Lưu ý: Nếu trên CRB toán tử lai ghép không được thực hiện thì đột biến luôn
xảy ra.
- Toán tử đột biến
Với mỗi cá thể con 1, 2 thực hiện đột biến theo thứ tự và độc lập trên Cµ và CRB. Trên Cµ: Lựa chọn ngẫu nhiên một số nguyên trong [1, 6(n + 1)], thực hiện thaythế gen tại vị trí được chọn bằng một giá trị được chọn ngẫu nhiên trong đoạn [µh0min,
µmax], nếu gen được chọn biểu diễn giá trị µLj. Chọn ngẫu nhiên trong đoạn [fm0min, fm0max], nếu gen được chọn biểu diễn giá trị fm(0j); chọn ngẫu nhiên trong đoạn [fmwmin, fmwmax], nếu gen được chọn biểu diễn giá trị fm(wj); chọn ngẫu nhiên trong đoạn [fm1min, fm1max], nếu gen được chọn biểu diễn giá trị fm(1j); chọn ngẫu nhiên trong đoạn [fmCmin, fmCmax], nếu gen được chọn biểu diễn giá trị của f ( j−).
Lưu ý: Khi lai ghép hoặc đột biến trên phần Cµ:
+ Nếu lai ghép/đột biến trên các gen µLj, h0j mà 1 - µLj - h0j < µmin thì phải thực hiện lại cho đến khi thỏa mãn bất đẳng thức 1 - µLj - h0j µmin (điều kiện này nhằm đảm bảo Vj [µmin, µmax]).
+Nếu lại ghép/đột biến trên các gen fm(0j), fm(wj), fm(1j), f ( j−) mà 1- fm(0j)
- fm(wj)- fm(1j)- f ( j−) < fmCmin thì phải thực hiện lại cho đến khi thỏa mãn bất đẳng thức 1- fm(0j) - fm(wj)- fm(1j)- f ( j−)fmCmin (điều kiện này nhằm đảm bảo f ( j+)
[fmCmin, fmCmax]).
Các khoảng ràng buộc của các tham số ở trên được xác định trước bởi người dùng để bảo toàn ngữ nghĩa của các gia tử, các từ hằng và các phần tử sinh.
Trên CRB: Áp dụng một trong hai toán tử sau đây trên mỗi cá thể, tức là nếu áp
dụng toán từ thứ nhất thì không áp dụng toán tử thứ hai và ngược lại.
(i) Toán tửm1 thay đổi các giá trị tại gen của CRB: Lựa chọn ngẫu nhiên một số nguyên trong đoạn [1, max], trong đó max được xác định trước, sau đó, chọn ngẫu nhiên gen của CRB. Thay đổi giá trị tại mỗi gen được chọn bằng một giá trị ngẫu nhiên hoặc là trong {0, 1, …, T}, nếu gen tương ứng với biến j n + 1, hoặc trong {1, …, T} nếu gen tương ứng với biến j = n + 1.
(ii) Toán tửm2 bổ sung luật vào RB hiện tại có M luật được biểu diễn bởi CRB: Chọn ngẫu nhiên một số nguyên trong [1, max], max được xác định trước bởi người dùng, nếu M + > Mmax thì bổ sung ’ = min{ , Mmax – M} luật
được sinh bằng thủ tục PrGenRule(dp, { ( ), ( ( )): j ≤ n + 1},max). Trong đó d được chọn từ tập
mẫu huấn luyện D’ (tập các mẫu dữ liệu không được phủ bởi RB), d được chọn từ tập mẫu huấn
luyện D nếu toán tử lai ghép xảy ra trên CRB hoặc khi D’ = .
Lưu ý: Trong quá trình tiến hóa, nếu một luật trở nên có độ dài bằng 0, tức là
phần tiền đề của nó đều là “Don’tcare” thì nó sẽ bị loại bỏ; nếu hệ luật có các luật trùng nhau thì chỉ giữ lại một. Việc này được thực hiện làm cho hệ luật có cơ hội giảm độ phức tạp.
c. Sơ đồ thuật toán
Bắt đầu Input:
- Tập dữ liệu hồi quy D;
- Giới hạn của các tham số mờ của ĐSGT fmwmin, fmwmax, fm0min, fm0max, fmCmin, fmCmax - Xác suất lai ghép, đột biến: Pc(Cµ), Pc(CRB), Pm(Cµ), Pm(CRB), Pm_Add;
- max: chiều dài tối đa của luật;
- Mmin và Mmax là số luật tối thiểu và tối đa của hệ luật;
- MaxGen: số thế hệ tiến hóa;
- Sinh ngẫu nhiên 2 cá thể
- Bổ sung 2 cá thể vàoℙ - i = 0 Sai i< MaxGen Đúng - Chọn ngầu nhiên 2 cá thể p1, p2 từℙ
- Áp dụng toán tử lại ghép trên p1, p2 để sinh ra 2
các thể con o1, o2
-Lần lượt áp dụng các toán tử đột biến trên phần
tham số mờ của ĐSGT của o1, o2;
-Lần lượt áp dụng các toán tử đột biến thêm luật
hoặc thay đổi tiền đề của luật trên phần cơ sở luật của o1, o2;
-Lần lượt bổ sung o1, o2 vàoℙ nếu có thể;
i = i + 1
Output:ℙ
Kết thúc
2.1.2.2. Quy trình thực nghiệm
Bước 1. Chuẩn bị dữ liệu
Các tập dữ liệu sử dụng trong các thực nghiệm của luận án được tải từ kho lưu trữ của KEEL tại địa chỉ website http://www.keel.es/. Các thử nghiệm thường được thực hiện theo phương pháp kiểm tra chéo, tức là tập dữ liệu được chia thành m phần, mỗi lần thử nghiệm lấy m-1 phần làm tập dữ liệu học, phần còn lại làm tập kiểm tra. Quá trình thử nghiệm lặp lại sao cho mỗi phần được làm tập kiểm tra một lần. Thông thường các nghiên cứu lựa chọn m = 2, 5 hoặc 10, tương ứng gọi là 2-folds, 5-folds hoặc 10-folds. Mỗi tập dữ liệu trên KEEL đã được chia ngẫu nhiên thành 2, 5 hoặc
10 để các nhà nghiên cứu có thể tải về và thử nghiệm ngay không cần phải chia lại nhằm mục đích công bằng trong so sánh đánh giá giữa các phương pháp. Tất cả các thử nghiệm các thuật toán giải bài toán hồi quy trong luận án này sử dụng phương pháp thử nghiệm 5-folds.
Thông tin chi tiết về các tập dữ liệu hồi quy sử dụng thực nghiệm trong luận án được trình bày trong phần Phụ lục (Bảng PL1.1).
Bước 2. Môi trường và phương pháp thử nghiệm
Các thuật toán được cài đặt bằng ngôn ngữ lập trình C# trong môi trường phát triển Microsoft Visual Studio 2013.
Hệ điều hành windows 10, CPU: Core i–7 4715HQ 2.5 GHz, RAM: 8GB, HDD: 512 GB.
Thiết lập các tham số mờ của ĐSGT, các tham số của thuật toán tiến hóa PAES như trong bảng 2.1 hoặc thay đổi tùy thuộc vào thử nghiệm.
Tương tự như các phương pháp thử nghiệm trong [62], áp dụng phương pháp thử nghiệm 5-folds. Mỗi fold được thực nghiệm 6 lần, như vậy tổng số lần thực nghiệm là 6 5 = 30 lần.
Bước 3. Tổng hợp kết quả và đánh giá
Mỗi lần thử nghiệm thuật toán sinh ra một mặt Pareto, mỗi điểm trên mặt Pareto chứa 1 lời giải (cụ thể là một FRBS với các giá trị hàm mục tiêu MSE và Comp trên tập huấn luyện và tập kiểm tra, lần lượt ký hiệu là MSETr, MSETs). Các điểm trên mỗi mặt Pareto được sắp xếp theo thứ tự tăng dần của giá trị MSETr. Tính giá trị trung
bình của 30 mặt Pareto, ta thu được mặt Pareto trung bình. Ký hiệu MSE Tr , MSETs , Comp , # R lần lượt là giá trị MSE trung bình trên tập học, giá trị MSE trung bình tậpkiểm tra, trung bình độ phức tạp và trung bình số luật và là trung bình phương
Điểm ứng với hệ luật có MSE Tr nhỏ nhất kí hiệu là: FIRST, có MSE Tr trung bình
kí hiệu là: MEDIAN vàMSE Tr lớn nhất ký hiệu là: LAST, ký hiệu
Đây là quy trình này áp dụng cho tất cả các thử nghiệm giải bài toán hồi quy trong luận án.
Bảng 2.1. Các tham số thực nghiệm
Tham số Ý nghĩa Tham số Ý nghĩa
min = 0,3 Giới hạn giá trị nhỏ nhất, lớn MaxGen= Số thế hệ trong quá trình tiến
max = 0,7 nhất độ đo tính mờ của các gia tử 300000 hóa
fmwmin= 0,0 Giới hạn giá trị nhỏ nhất, lớn
size = 64 Giới hạn kích cỡ quần thể nhất độ đo tính mờ của phần
fmwmax= 0,1
tử trung hòa W
Chiều dài tối đa của các hạng từ fm0min= 0,0 Giới hạn giá trị nhỏ nhất, lớn
kmax = 3 được sinh ra bởi ĐSGT sử dụng fm0 nhất độ đo tính mờ của các từ
max = 0,1
trên mỗi biến 0 hoặc 1
Hệ sốcủa thuật toán lai fmCmin=0,3 Giới hạn giá trị nhỏ nhất, lớn
= 0,5 nhất độ đo tính mờ của phần
ghép BLX- fmCmax= 0,7
tử sinh C-
max = 5 Số luật được thêm vào tối đa Pc(CRB) = 0,3 Xác suất lai ghép trên CRB
khi xay ra đột biến thêm luật Số tiền đề tối đa bị thay đổi khi
max = 5 xảy ra đột biến thay đổi tiền đề Pc(Cµ) = 0,5 Xác suất lai ghép trên C
luật
Mmin = 5 Số luật tối thiểu của hệ luật Pm(CRB)= 0,1 Xác suất đột biến trên CRB
Mmax = 30 Số luật tối đa của hệ luật Pm_Add= Xác suất đột biến thêm luật 0,75 trên CRB
max = 5 Độ dài tối đa của luật Pm(Cµ) = 0,3 Xác suất đột biến trên C
2.1.2.3 Kết quả thử nghiệm thuật toán EnHA-PAES-SF
Áp dụng quy trình trên, luận án tiến hành thử nghiệm thuật toán EnHA-PAES- SF để đối sánh với các thuật toán HA-PAES-MG-Kmax (HA-Tg), EnHA-0-MG (EnHA-Tz), PAES-KB tại điểm FIRST. Bên cạnh đối sánh các giá trị thu được, để khẳng định có sự khác biệt giữa các phương pháp được đối sánh, luận án thực hiện
phân tích thống kê bằng phương pháp t-test trên các giá trị MSE Tr và MSETs . Trong luận án chỉ trình bày kết quả so sánh chi tiết tại điểm FIRST điểm có độ chính xác cao nhất trong Bảng 2.2, các điểm MEDIAN và LAST cũng cho kết quả tương tự điểm FIRST. Các ký hiệu trong bảng này được sử dụng tương tự như trong [16-17], “*” thể hiện dòng tương ứng cho kết quả tốt nhất với chữ in đậm, “+” thể hiện kết quả của dòng tương ứng kém hơn kết quả tốt nhất, và “=” thể hiện không có sự khác biệt thống kê của dòng tương ứng với kết quả tốt nhất. Ký hiệu MSETr ¸ MSETs , tr, ts, ttr, tts lần lượt là giá trị MSE trung bình, độ lệch chuẩn, kết quả thống kê trên tập dữ liệu
huấn luyện (tr) và tập dữ liệu kiểm tra (ts), # R
lần lượt là trung bình độ phức
tạp và trung bình số luật của hệ luật.
Bảng 2.2. So sánh kết quả thực nghiệm thuật toán EnHA-PAES-SF (EnHA-SF) với các thuật toán HA-Tg, EnHA-Tz, PAES-KB tại điểm FIRST
Tập Thuật
dữ toán # R Comp MSETr tr ttr MSETs ts tts
liệu PAES-KB 27,00 46,00 145995,00 3855,000 + 194028,000 24745,000 * ELE1 HA-Tg 27,27 46,13 141666,34 5618,006 + 202590,688 35321,180 = EnHA-Tz 17,33 28,03 146715,32 5401,636 + 201659,063 38816,035 = EnHA-SF 25,80 43,53 134296,12 5393,771 * 203525,234 34480,344 = PAES-KB 30,00 65,00 11043,000 2,771,000 = 12606,000 3105,000 + ELE2 HA-Tg 29,93 66,97 8813,093 1,533,687 = 10685,542 3113,682 = EnHA-Tz 26,60 60,90 8476,874 2,077,039 * 10460,014 3577,895 * EnHA-SF 29,57 57,80 8814,062 1,484,897 = 10986,576 2239,502 = PAES-KB 28,00 103,0 1,640 0,040 + 3,920 9,270 + WA HA-Tg 25,00 60,03 1,032 0,071 + 1,247 0,172 = EnHA-Tz 24,83 74,83 0,964 0,065 * 1,136 0,154 = EnHA-SF 24,37 53,60 1,018 0,079 + 1,103 0,130 * PAES-KB 25,00 91,00 1,300 0,270 + 1,490 0,260 + WI HA-Tg 24,87 61,30 0,792 0,043 + 0,964 0,127 + EnHA-Tz 23,17 72,77 0,718 0,045 * 0,846 0,136 * EnHA-SF 25,00 51,57 0,773 0,048 + 0,925 0,110 + PAES-KB 11,00 40,00 0,080 0,040 + 0,140 0,150 + TR HA-Tg 15,00 29,40 0,031 0,004 + 0,045 0,022 + EnHA-Tz 25,23 84,70 0,028 0,006 + 0,044 0,028 = EnHA-SF 29,60 70,97 0,023 0,002 * 0,034 0,010 * PAES-KB 29,00 107,0 2,320 0,080 + 2,480 0,180 = AB HA-Tg 19,80 59,57 2,314 0,050 + 2,411 0,165 = EnHA-Tz 18,10 72,60 2,325 0,072 + 2,451 0,190 = EnHA-SF 28,73 109,4 2,215 0,045 * 2,404 0,151 * PAES-KB 12,00 49,00 0,050 0,020 + 0,090 0,100 + MTG HA-Tg 15,00 28,13 0,016 0,004 + 0,022 0,012 = EnHA-Tz 17,57 37,07 0,013 0,002 = 0,021 0,011 = EnHA-SF 18,00 26,70 0,012 0,003 * 0,018 0,005 * PAES-KB 10,00 30,00 11,990 2,990 + 13,430 4,660 + CA HA-Tg 13,80 44,67 4,577 0,369 = 4,862 0,630 * EnHA-Tz 10,53 35,70 4,506 0,337 * 4,905 0,760 = EnHA-SF 11,60 41,07 4,867 0,467 + 5,120 0,545 = Comp ,
Tập Thuật
dữ toán # R Comp MSETr tr ttr MSETs ts tts