Ứng dụng thiết kế phân hoạch mờ dựa trên hà mS giải bài toán hồi quy

Một phần của tài liệu Phát triển phương pháp luận trích rút hệ luật ngôn ngữ mờ giải bài toán phân lớp, hồi quy dựa trên đại số gia tử (Trang 55 - 64)

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

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ật max 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.

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). (adsbygoogle = window.adsbygoogle || []).push({});

+ 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𝔭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 thay thế 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,

µh0max] nếu gen được chọn biểu diễn giá trị h0; chọn ngẫu nhiên trong đoạn [µmin,

(L1) 𝑓𝑚(𝟎1)𝑓𝑚(𝑐1−)𝑓𝑚(𝑊1) … (Ln+1) 𝑓𝑚(𝟎𝑛+1)𝑓𝑚(𝑐𝑛+1− )𝑓𝑚(𝑊𝐹+1) r1 rM k11 … k1(n+1) … kM1 … kM(n+1) Hình 2.6. Cấu trúc mã hóa một cá thể 𝑓𝑚(𝟏1) 𝑓𝑚(𝟏𝑛+1) C : (h01) (h0,n+1) CRB:

µ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

Hình 2.7. Sơ đồ tổng quát thuật toán EnHA-PAES-SF

i = i + 1 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(), Pc(CRB), Pm(), Pm(CRB), Pm_Add; (adsbygoogle = window.adsbygoogle || []).push({});

- 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

- 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ể; Bắt đầu

Kết thúc i< MaxGen

- 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

Đúng Sai

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,MSE Ts,

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ập kiểm tra, trung bình độ phức tạp và trung bình số luật và 𝜎̅̅̅̅ 𝑇𝑠 là trung bình phương sai trên tập kiểm tra.

Điểm ứng với hệ luật có MSE

Tr nhỏ nhất kí hiệu là: FIRST, cóMSE

Trtrung bình kí hiệu là: MEDIANMSE

Trlớn nhất ký hiệu là: LAST, ký hiệu (adsbygoogle = window.adsbygoogle || []).push({});

Đâ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 max = 0,7

Giới hạn giá trị nhỏ nhất, lớn nhất độ đo tính mờ của các gia tử

MaxGen= 300000

Số thế hệ trong quá trình tiến hóa

size = 64 Giới hạn kích cỡ quần thể fmwmin= 0,0

fmwmax= 0,1

Giới hạn giá trị nhỏ nhất, lớn nhất độ đo tính mờ của phần tử trung hòa W

kmax = 3

Chiều dài tối đa của các hạng từ được sinh ra bởi ĐSGT sử dụng trên mỗi biến

fm0min= 0,0

fm0max = 0,1

Giới hạn giá trị nhỏ nhất, lớn nhất độ đo tính mờ của các từ 0 hoặc 1

 = 0,5 Hệ số  của thuật toán lai ghép BLX- fmCmin=0,3 fmCmax= 0,7 Giới hạn giá trị nhỏ nhất, lớn nhất độ đo tính mờ của phần tử sinh C-

max = 5 Số luật được thêm vào tối đa

khi xay ra đột biến thêm luật Pc(CRB) = 0,3 Xác suất lai ghép trên CRB

max = 5

Số tiền đề tối đa bị thay đổi khi xảy ra đột biến thay đổi tiền đề luật

Pc(Cµ) = 0,5 Xác suất lai ghép trên C

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 = 0,75

Xác suất đột biến thêm luật 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ị MSETrMSETs. 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), Comp, #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 (adsbygoogle = window.adsbygoogle || []).push({});

Tập dữ liệu

Thuật

toán #R Comp MSETr tr ttr MSETs ts tts

ELE1 PAES-KB 27,00 0 46,00 145995,00 0 3855,000 + 194028,000 0 24745,000 * HA-Tg 27,27 46,13 141666,34 4 5618,006 + 202590,688 35321,180 = EnHA-Tz 17,33 28,03 146715,32 8 5401,636 + 201659,063 38816,035 = EnHA-SF 25,80 43,53 134296,12 5 5393,771 * 203525,234 34480,344 = ELE2 PAES-KB 30,00 65,00 11043,000 2,771,000 = 12606,000 3105,000 + 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 = WA PAES-KB 28,00 103,0 0 1,640 0,040 + 3,920 9,270 + 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 * WI PAES-KB 25,00 91,00 1,300 0,270 + 1,490 0,260 + 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 + TR PAES-KB 11,00 40,00 0,080 0,040 + 0,140 0,150 + 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 * AB PAES-KB 29,00 107,0 0 2,320 0,080 + 2,480 0,180 = 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 =

Một phần của tài liệu Phát triển phương pháp luận trích rút hệ luật ngôn ngữ mờ giải bài toán phân lớp, hồi quy dựa trên đại số gia tử (Trang 55 - 64)