Ứ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 56 - 65)

Để 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 (, 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 ���

�� ��

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

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

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

ra bằng hàm sinh luật PrGenRule(dp, {�(�� ),�(�(��)): j n + 1}, τmax) ở Mục 1 4 4 1

µ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:

+ 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

�� ��

đó 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

i< MaxGen Sai

Đúng - Chọn ngầu nhiên 2 cá thể p1, p2 từℙ (adsbygoogle = window.adsbygoogle || []).push({});

- Á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 , 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 Tr trung bình kí hiệu là: MEDIANMSE 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

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

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

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() = 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

phân tích thống kê bằng phương pháp t-test trên các giá trị MSE Tr MSE Ts 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 MSE Tr ¸ MSE Ts , σ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

Tập dữ liệu

Thuật

toán # R Comp MSE Tr σtr ttr MSE Ts σts tts

ELE1 PAES-KB 27,00 46,00 145995,00 3855,000 + 194028,000 24745,000 * 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 = 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 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 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 = EnHA-SF 28,73 109,4 2,215 0,045 * 2,404 0,151 * MTG PAES-KB 12,00 49,00 0,050 0,020 + 0,090 0,100 + 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 *

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 56 - 65)