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 110 - 114)

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

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

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− = {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; − 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 Cµ 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.

Bắt đầu

Input: - Tập dữ liệu D

- Khai báo các khía cạnh ngữ nghĩa của thuộc tính Aj và mức đặc kj, j = 1, …, n + 1 của các LFoC Fk j j có cần tăng trưởng? có không

- 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(Fk j j , kj, 0, G, H, ℛsign,, MGr,k j j ) để xây dựng các mức của MGr,k j j của o1 và o2 - Á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

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

Có xảy ra đột biến thêm luật?

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

không

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

i < maxGen

đúng

Output - Lưu ℙ vào file

sai

- Khôi phục các LRBS tối ưu của mặt Pareto ℙ từ tệp tin chứa mặt Pareto

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

- Sinh các mức mới của Fk

j j , j = 1, …, n + 1 - Gọi TrP(Fk j j ,kj, k’j - kj, G, H, ℛsign, , MGr,k j j ) để xây dựng các mức của MGr,k j j , j = 1, …, n + 1

- Sinh các LFoC của Fk

j j

, j = 1, …, n + 1; - 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(Fk

j j

, kj,0, G, H, ℛsign,

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

- Với p = 1, 2, tạo ra các cá thể 𝖎p bởi sinh ra các CLRBp từ Cp bằng thủ tục PrG-Rule({Fk j j , 𝕀k j j , 𝕊k j j : j ≤ n + 1}, max). - Nạp 𝖎1 và 𝖎2 vào ℙ, và xem nó là mặt Pareto khởi tạo

1 2a.1 2b.1 2a.2 2a.3 2b.2 3 Kết thúc 4a 4b 5 6

- Các tham số của (2+2)M-PAES - Tên tập tin chứa mặt Pareto - i = 0

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 110 - 114)

Tải bản đầy đủ (PDF)

(144 trang)