Thuật toán tiến hóa đa mục tiêu thiết kế các IS-LRBS

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 159 - 163)

fj. Thuật toán tiến hóa đa mục tiêu thiết kế LRBS có tính giải nghĩa được (Interpretable) và có khả năng mở rộng (Scalable), IS-LRBS-Design-MOEA, giải bài toán hồi quy được đề xuất như sau (lược đồ tổng quát được trình bày trong hình 3.2):

fk. Thuật toán IS-LRBS-Design-MOEA(D, SemEnHA(�(D), paretofilename)

fl. Input:

− Tập dữ liệu D = {dp = (ai,1, ai,2, …, ai,n, ai,(n + 1)): i = 1 to ND};

SemEnHA(�(D): tập G = {c−, c+} và tập các gia tử {H+ = {hj: 1 ≤ j p}, H− =

fm. {hj: −1 ≤ j ≤ −q}, {h0}; một mảng quan hệ dấu của các gia tử ℛsign =

{(h, h’, sign(h, h’): h, h’ ∈ H−∪H+};

− Tập các từ của các biến được đánh chỉ số: �ex(�� � ), j = 1, …, n;

fn.

− Xác suất xảy ra các toán tử di truyền:

∘Các xác suất lai ghép của nhiễm sắc thể của các tham số tính mờ và LRB:

Pc(Cµ) và Pc(CRB);

∘Các xác suất đột biến (Pm) của các nhiễm sắc thể của các tham số tính

mờ và LRB: Pm(Cµ) và Pm(CRB),

∘Xác suất đột biến thêm luật Pm_Add_RB;

k: Một mảng chứa mức đặc tả tối đa của các LFoC hiện được khai báo của các biến;

− τmax: độ dài tối đa của luật;

Mmin và Mmax tương ứng là các số nguyên chỉ số luật nhỏ nhất và lớn nhất của LRB trên mặt Pareto;

��, ) (((((((((((((((

MaxGen: số thế hệ;

Paretofilename: file chứa mặt Pareto cuối cùng (được sử dụng cho việc tiếp tục huấn luyện trong tương lai của vòng đời ứng dụng khi các LFoC hiện tại được khai báo tăng lên theo yêu cầu của người quản trị hệ thống);

Output: − Các phương án tốt nhất trên mặt Pareto.

Begin

Bước 1: Khối khởi tạo: mục đích là xây dựng các LFoC, khởi tạo.

If paretofilename == “” then

For h= 1 to 2 // khởi tạo mặt Pareto với 2 cá thể

1.1.Sinh các LFoC cho mọi biến Aj, j = 1, …, n + 1

− Gán k[j] là chiều dài từ tối đa (mức đặc tả) của các LFoC − �� �� hiện được

− khai báo của Aj

− Sinh các LFoC ��� được khai báo của các biến và tập chỉ số �ex(��� ), j

=1,.. , n+1

(((((((((((((((�) −

(((((((((((((((�) − Sinh ngẫu nhiên các giá trị của πj = (µ(h0j), µ(Lj), fm(0j), �(�� −) , fm(Wj),

− ��( (�� )) từ các miền giá trị phù hợp của chúng được cung cấp thỏa (FM1’ và FM2’);

− Tính toán các quan hệ tương tự ��� = {��� )((� : x ∈ ��� }của LFoC

− − ��� , j = 1, .., n + −1 � � − ( �� ) −( ��) − (((((((((((((((�)

1.2.Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra: Với mọi Aj, j = 1, …, n + 1,

− Call TrP(� � , k, 0, G, H,

sign, π, � � � j);

− (((((((((((((((�) (((((((((((((((,(� �)

1.3.Sinh các luật ngôn ngữ từ các mỗi dữ liệu, dựng CRB − Sinh ngẫu nhiên một số nguyên Mk ∈ [Mmin, Mmax];

− Lặp Mk lần để triệu gọi PrGenRule(dp, {�� � , �ex(��� : j n + 1}, τmax) để

− (((((((((((((((�) (((((((((((((((�) − sinh Mk luật ngôn ngữ, trong đó dp được chọn ngẫu nhiên từ D.

1.4.Tính giá trị MSE và độ phức tạp Comp.

1.5.Gán ih vào

End for Else

1.1b. Phục hồi tệp tin “paretofilename”, tăng các LFoC được khai báo hiện tại đến các mức đặc tả mới và xây dựng các cấu trúc đa thể hình thang bổ sung ở các mức k

được khôi phục từ tệp tin “paretofilename” chứa mặt Pareto của lượt chạy cuối cùng; ) ((((((((((((((( � � ( � )

− − −

− Gán k[j] là độ dài lớn nhất của từ của LFoC được khai báo hiện tại của biến

Aj, nếu độ dài lớn nhất của LFoC của Aj < k[j], j = 1,.., n+1

− − Sinh LFoC �−�� , �j =1,.., n+1

1.2b. Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra: Với mọi Aj, j = 1, …, n + 1,

− Call TrP(��� , k, G, H, ℛsign, π, � ��

);

End if − (((((((((((((((�) − ,(�((((((((((((((( �)

Bước 2: Khối tiến hóa được lặp với MaxGen lần để lưu trữ một mặt Pareto tối ưu.

2.1.Tạo hai cá thể con (offspring)

− Chọn ngẫu nhiên hai cá thể �1 và �2 từ . Chúng được xem như cha mẹ hiện tại.

− Áp dụng toán tử lai ghép để sinh hai cá thể con o1 và o2 từ �1 và �2 trên

− và CRB với xác suất Pc(Cµ) và Pc(CRB) tương ứng.

− Áp dụng toán tử đột biến trên Cµ của mỗi o1 và o2 một cách độc lập với xác suất Pm(Cµ)

− Áp dụng các toán tử đột biến trên CRB của mỗi o1 và o2 một cách độc lập với xác suất Pm(CRB).

− Nếu toán tử thêm luật được áp dụng với xác suất Pm_Add_RB thì

− Tính hệ khoảng tương tự ��� của LFoC ��� , j = 1, …, n + 1

− (((((((((((((((�) (((((((((((((((�)

− Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra từ ngữ nghĩa cú pháp và định tính của các biến được khai báo:

− Với mọi Aj, j = 1, …, n + 1

− Call TrP(��� , k, l, G, H, ℛsign, π,

��� );

− (((((((((((((((�) − Áp dụng toán tử thêm luật.

− Else

− Áp dụng toán tử thay đổi cơ

sở luật;

− ,(�((((((((((((((( �)

2.2. Tính toán giá trị của tất cả các mục tiêu của o1 và o2

2.3.Đưa từng o1 và o2 vào nếu chúng không bị trội hơn bởi bất kỳ phương án nào trong . Nếu đầy, loại bỏ ngẫu nhiên cá thể thuộc về vùng có mật độ cao nhất [26].

Bước 3. Lưu mặt Pareto

− Ghi mặt Pareto vào tập tin có tên là “paretofilename”;

End.

có không

kj

tăng trưởng? Fj có cần

- Sinh các mức mới của Fj , j = 1, …,

kj - Với p = 1, 2, tạo ra các cá thể p bởi sinh ra các CLRBp

n + 1từ Cp bằng thủ tục PrG-Rule({Fj , �j , �j : j ≤ n + 1}, max).

- Gọi TrP(Fj ,kj, k’j - kj, G, H, ℛsign, , Mj

kj Gr,kj ) k- Nạpj kjkj1 và 2 vào , và xem nó là mặt Pareto khởi tạo

để xây dựng các mức của Mj Gr,kj, j = 1, …, n + 1 2b.2 2a.3 Bắt đầu có Có xảy ra đột biến thêm luật?

không

- Áp dụng toán tử đột biến thêm luật - Áp dụng toán tử đột biến thay đổi tiền đề luật

đúng sai

i < maxGen 6 Output - Lưu vào file Kết thúc

4b 4a

1 Input: - Tập dữ liệu D - Các tham số của (2+2)M-PAES - Khai báo các khía cạnh ngữ nghĩa - Tên tập tin chứa mặt Pareto của thuộc tính Aj và mức đặc kj, j = 1, …, n + - i = 0

1 của các LFoC

3 - Chọn ngẫu nhiễn hai cá thể �1 và �2 từ mặt Pareto ; i++

- Áp dụng toán tử lai ghép để sinh ra 2 cá thể con o1 và o2 từ �1 và �2 với xác suất lần lượt Pc(Cµ) và Pc(CRB). - Áp dụng toán đột biến trên Cµ với xác suất Pm(Cµ) cho mỗi cá thể o1 và o2

- Gọi TrP(Fj , kj, 0, G, H, ℛsign,π, Mj ) để xây dựng các mức của Mj của o1 và o2

kj Gr,kj Gr,kj

- Áp dụng toán tử đột biến trên CRB, với xác suất Pm(CRB) cho mỗi cá thể o1 và o2

5 - Tính toán các mục tiêu của o1 và o2

- Lần lượt thêm cá thể o1, o2 vào mặt Pareto nếu chúng không bị trội bởi bất kỳ cá thể nào trong

. Nếu đầy, thì loại bỏ ngẫu nhiên một cá thể thuộc vùng có mật độ cao nhất.

Hình 3.2. Lược đồ của thuật toán IS-LRBSs-Design-MOEA, A 2a.1 - Khôi phục các LRBS tối ưu của

mặt

Pareto từ tệp tin chứa mặt Pareto

2b.1- Sinh các LFoC của Fjk, j = 1, …, n + 1;

j

- Sinh ngẫu nhiên nhiễm sắc thể Cµ1, Cµ2 ;

- Với p = 1, 2, và mỗi πj của Cµp, gọi TrP(Fj , kj,0, G, H,

ℛsign,

kj

πj, Mj ) để xây dựng cấu trúc Mj , j = 1, …, n + 1.

Gr,kj Gr,kj

2a.2 - Khai báo đặc tả mới k’j của Aj, j = 1, …, n + 1

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 159 - 163)