Xây dựng FRBS giải bài toán hồi quy

Một phần của tài liệu (Luận án tiến sĩ) 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 88 - 94)

Trong phần này luận án áp dụng thuật toán sinh luật được đề xuất ở trên để xây dựng hệ mờ giải bài toán hồi quy. Phương pháp xây dựng FRBS được thực hiện với

2 pha. Pha thứ nhất, luận án phát triển thuật toán OptHAParams sử dụng thuật giải

di truyền để tìm bộ tham số mờ của các ĐSGT của các biến của bài toán. Pha thứ 2 sử dụng bộ tham số mờ của ĐSGT đã tìm ở pha 1 xây dựng cây quyết định của bài toán, từ cây quyết định sinh ra tập các luật ứng cử, sau đó áp dụng thuật toán HA- De-PAES để tìm kiếm hệ luật tối ưu. Ở đây HA-De-PAES được phát triển dựa trên

thuật toán HA-PAES-MG-Kmax [62]. Thuật toán HA-PAES-MG-Kmax tối ưu đồng

thời hệ luật và tham số mờ trong khi đó thuật toán HA-De-PAES chỉ tối ưu hệ luật trong đó các luật được chọn từ tập luật ứng cử được sinh ra từ cây quyết định, 2

mục tiêu là MSEComp.

2.2.3.1. Giải thuật di truyền tìm tham số tối ưu của ĐSGT

Để tìm kiếm tham số mờ của ĐSGT, luận án thực hiện thiết kế thuật giải di truyền dựa trên sơ đồ mã hóa nhị phân với hàm thích nghi là giá trị sai số bình phương

61

trung bình MSE. Bài toán có n biến khi đó với mỗi biến ta cần xác định 2 tham số là fmC-, L (ở đây luận án sử dụng ĐSGT có

2 gia tử V, L). Như vậy số tham số cầnphải xác định cho toàn bộ bài toán { } + = là 2*(n+1).

Sơ đồ mã hóa một cá thể: mỗi biến mục tiêu được mã hóa bằng một chuỗi bít

l bít.

Hình 2.9. Mã hóa cá thể tối ưu tham số của ĐSGT

Giá trị mục tiêu của mỗi cá thể: là độ chính xác của hệ luật thể hiện bằng giá

trị sai số trung bình phương chia 2 MSE theo công thức (1.18).

Thuật toán OptHAParams(D, k, max, GApars)

Input: - D: Cơ sở dữ liệu của bài toán;

- k: Chiều dài tối đa của các hạng từ sinh ra từ ĐSGT;

- max: Chiều cao tối đa của cây;

- GApars: Bộ tham số của giải thuật di truyền (lchrom: chiều dài

nhiễm sắc thể, Popsize: kích thước quần thể, G: số thế hệ, Pcross: xác

suất lai ghép, Pmu: xác suất đột biến).

Output: Bộ tham số tối ưu opt;

Begin

Bước 1: Khởi tạo

j 0;

Initial(Popj); //Khởi tạo quần thể ban đầu

For each p in Popjdo

Giải mã p để được bộ tham số { } +1

=1 của các ĐSGT; T BuildDecisionTree(D, { } +1

=1, k,max); S GenFRBS(T: Cây quyết định);

Suy diễn trên tập dữ liệu D bằng hệ luật S và tính giá trị hàm mục tiêu

MSE của p;

End for;

Xbest GetIndividualHasBestObj(Popj);//Chọn cá thể có giá trị mục tiêu tốt nhất

Bước 2: Tiến hoá

ComputeFitnessMeasure(Popj); //Tính độ đo thích nghi của các cá thể

Popparent Select(Popj); //Chọn cá thể cha mẹ

Popchild Mute(Crossover(Popparent));//Lai ghép và đột biến tạo quần thể con

j j + 1;

Popj Popchild; //Thay thế quần thể hiện tại bằng quần thể con vừa tạo sinh

For each p in Popjdo

Giải mã p để được bộ tham số { } +1 =1 của các ĐSGT;

T BuildDecisionTree(D, { } +1

=1, k, l); S GenFRBS(T: Cây quyết định);

Suy diễn trên tập dữ liệu D bằng hệ luật S và tính giá trị hàm mục tiêu

MSE của p;

End for;

XGetIndividualHasBestObj(Popj);

If obj(X) > obj(Xbest) thenXbest X; //obj(X): giá trị mục tiêu của cá thể X

Bước 3: Lặp lại Bước 2 cho đến khi j>G.

Bước 4: Trả lại bộ tham số tối ưu

Giải mã Xbest để được bộ tham số { } +1

=1 của các ĐSGT;

opt { } +1 =1;

return opt;

End.

2.2.3.2. Thuật toán HA-De-PAES xây dựng hệ mờ tối ưu

Mỗi cá thể của quần thể được mã hóa gồm M luật (M có thể khác nhau giữa

các cá thể), với mỗi luật Ri được lấy ra từ tập luật ứng cử S.

Hình 2.10. Cấu trúc mã hóa một cá thể biểu diễn một hệ luật

Nhằm đạt được sự cân bằng giữa tính dễ hiểu và độ chính xác của hệ luật,

chúng ta giới hạn số luật trong mỗi LRBS nằm trong khoảng [Mmin, Mmax].

63

Với mỗi cá thể cần tối thiểu 2 mục tiêu MSEComp, trong đó MSE được xác

định theo công thức (1.18) và Comp (1.19) là tổng độ dài của các luật trong cơ sở

luật, biểu thị độ phức tạp của LRBS.

a. Các toán tử di truyền + Toán tử lai ghép

Với hai cá thể bố mẹ p1, p2 sử dụng phương pháp lai ghép một điểm (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 nhỏ nhất trong p1 và p2.

Lưu ý: nếu toán tử lai ghép không được thực hiện thì đột biến luôn xảy (có nghĩa là nếu không xảy ra lai ghép thì xác suất đột biến sẽ bằng 1).

+ Toán tử đột biến

Nếu đột biến xảy ra thì chọn ngẫu nhiên thực hiện một trong hai toán tử đột biến dưới đây:

- Toán tử đột biến thêm luật: thêm luật vào với được chọn ngẫu nhiên trong

đoạn [1, max], nếu +M> Mmax thì = MmaxM, các luật được chọn từ tập luật S.

- Toán tử đột biến thay đổi luật: thay đổi ngẫu nhiên giá trị ngôn ngữ của một số

luật của hệ luật, với được chọn ngẫu nhiên trong đoạn [1,max]. Thực hiện lần công

việc sau: chọn ngẫu nhiên một luật r, tiếp theo chọn ngẫu nhiên một gen j [1,

(n+1)] của r, chọn ngẫu nhiên một từ trong ( ) thay thế từ của gen thứ j của r bằng từ vừa chọn. Nếu luật r sau khi đột biến có độ dài lớn hơnmax thì đột biến sẽ bị bỏ qua.

Lưu ý: sau khi lai ghép, đột biến nếu có nhiều luật trùng nhau thì chỉ giữ lại một, loại bỏ các luật có độ dài bằng 0.

b. Thuật toán tiến hóa HA-De-PAES

Trong phần này trình bày những bước cơ bản của thuật toán HA-De-PAES được phát triển dựa trên lược đồ tiến hóa HA-PAES-MG-Kmax đã được đề xuất trong

[62]. Tại mỗi thời điểm thuật toán lưu trữ một quần thể mà một cá thể bất kỳ trong nó đều không bị trội bởi các cá thể còn lại theo các mục tiêu MSEComp. Một quần thể như vậy sẽ xác định một mặt Pareto. Thuật toán thực hiện tìm kiếm một mặt Pareto xấp xỉ tối ưu theo hai mục tiêu MSEComp. Kí hiệu là quần thể hiện tại.

Thuật toán HA-De-PAES(D, k, max, opt, paespars):

Input: - D: Cơ sở dữ liệu của bài toán;

- k: Chiều dài tối đa của các hạng từ sinh ra từ ĐSGT;

- max: Chiều cao tối đa của cây;

- opt: Bộ tham số mờ của ĐSGT đã được tối ưu;

- paespars: Bộ tham số của thuật toán PAES.

Output: -: mặt xấp xỉ tối ưu Pareto với hai mục tiêu MSEComp của các hệ luật

Begin

Bước 1. Tạo tập luật ứng cử

T = BuildDecisionTree(D,opt, k,max): S

= GenFRBS(T);

Bước 2: Sinh ngẫu nhiên 2 cá thể c1, c2. Mỗi cá thể gồm M luật được chọn từ

tập luật ứng cử S. M được chọn ngẫu nhiên trong đoạn [Mmin, Mmax].

Bước 3: Khởi tạo= ; Bổ sung c1, c2 vào;

Bước 4: Lặp i = 1,…, MaxGen (số thế hệ tối đa) 4.1. Chọn ngẫu nhiên hai cá thể bố mẹ p1, p2 trong //p1, p2 có thể trùng nhau).

4.2. Thực hiện lai ghép hai cá thể p1, p2 để sinh ra hai cá thể con o1, o2

4.3. Thực hiện đột biến trên o1, o2// đột biến thêm luật xay ra thì các luật

sẽ được lây từ tập luật ứng cử S

4.4. Tính giá trị mục tiêu (MSE, Comp) của o1, o2

4.5. Lần lượt bổ sung o1¸ o2 vào nếu có thể

4.6. Lặp lại bước 4 với thế hệ kế tiếp

return ℙ;

End.

Một cá thể con o nếu không bị trội bởi bất kỳ cá thể nào trong thì o được bổ sung vào, đồng thời loại bỏ tất cả những cá thể trong bị trội bởi o. Nếu số cá thể trong lớn hơn số lượng tối đa (MaxArchive) được phép lưu trữ trong thì loại bỏ ngẫu nhiên một cá thể trong vùng có mật độ cao nhất ra khỏi. Xác định vùng có mật độ cao nhất theo thuật toán trong [12].

65

Bắt đầu Input:

- D Cơ sở dữ liệu bài toán

- k chiều dài tối đa của từ sinh ra từ ĐSGT

- max: Chiều cao tối đa của cây;

- opt: Bộ tham số mờ của ĐSGT đã được tối ưu;

- paespars: Bộ tham số của thuật toán PAES. Xây dựng cây quyết định T

Sinh tập luật ứng cử S từ cây T

- Sinh ngẫu nhiên 2 cá thể với tập luật được chọn từ S

- Bổ sung 2 cá thể vào

- i = 0

i< maxGen

Đúng

- Sinh ra 2 các thể con o1, o2 từ 2 cá thể p1, p2 được chọn ngẫu nhiên từ bằng cách áp dụng

toán tử lại ghép trên p1, p2;

- Áp dụng các toán tử đột biến trên o1, o2, đột biến thêm luật thì các luật được lấy từ tập luật S

- Bổ sung o1, o2 vào nếu có thể

i = i + 1 Output:

Kết thúc

Hình 2.11. Sơ đổ tổng quát thuật toán HA-De-PAES

Một phần của tài liệu (Luận án tiến sĩ) 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 88 - 94)