1.4.4.1. Sinh luật mờ dựa trên dữ liệu cho bài toán hồi quy
Để tránh phải đối mặt với sự bùng nổ theo cấp số nhân của không gian luật phải xem xét như phương pháp sinh luật bằng tổ hợp. Nguyễn Cát Hồ và cộng sự đã phát triển thuật toán sinh luật từ mẫu dữ liệu và hệ khoảng tương tự được xây dựng bằng ĐSGT [59]. Ý tưởng của phương pháp này được mô tả khái quát như sau:
Xét một mẫu dữ liệu dp = (ap,1, ap,2, …,ap,n, ap,n+1) của tập dữ liệu D, với mỗi
thành một phân hoạch, ở đây tồn tại duy nhất từ xj,i S(kj)để apj ℭ(𝑥𝑗,𝑖), với j = 1, n + 1. Khi đó luật ngôn ngữ được sinh ra tương ứng với mẫu dữ liệu dp có dạng sau:
rp: IfA1 is xp,1 & … & An is xp,n ThenAn + 1 is xp,n + 1 (1.24) Từ các luật dạng (1.24) ta sinh ra các luật có độ dài nhỏ hơn n để xây dựng cơ sở luật tối ưu.
𝑟𝑞: IfA1 is xq,1 & … & An is xq,n ThenAn + 1 is xq,n + 1 (1.25) trong đó xq,j 𝑋(𝑘)𝐴 {Don’tcare}, j = 1,..,n
Như vậy với một mẫu dữ liệu dp, một bộ tham số tính mờ của các đại số gia tử của các biến đầu vào kí hiệu là = (1,…,n+1), j={Lj, 𝑐𝑗−} với ĐSGT tuyến tính chỉ có 2 gia tử, j = 1,..,n+1, bộ tham số giới hạn độ dài tối đa của các từ sử dụng cho mỗi biến k = (k1, …, kn+1) và giới hạn độ dài tối đa của luật maxta có thể xây dựng một hàm để sinh ra một luật ngôn ngữ dạng (1.25) cho bài toán hồi quy như sau:
ProcedurePrGenRule(dp, {𝕊(𝑘 𝑗) 𝐴𝑗 , 𝕀(𝑋(𝑘 𝑗) 𝐴𝑗 ): j ≤ n + 1},max) Input:
− Một mẫu dữ liệu dp = (ap,1, ap,2, …, ap,n, ap,(n+1)); − Tập chỉ số của các từ của biến: 𝕀(𝑋(𝑘
𝑗) 𝐴𝑗 ), j = 1, …, n+1; − Các tập khoảng tương tự {𝕊(𝑘 𝑗) 𝐴𝑗 : j ≤ n + 1} = {𝕊(𝑘 𝑗) 𝐴𝑗 (𝑥): x ∈ 𝑋(𝑘 𝑗) 𝐴𝑗 }; − Số nguyên xác định độ dài lớn nhất cùa luật ngôn ngữ: max;
Output: Một luật ngôn ngữ có độ dài không vượt quá max.
Begin
1. Đối với mẫu dữ liệu đầu vào dp = (ap,1, ap,2, …, ap,n, ap,(n+1)) D, đặt r(dp) là luật có dạng (1.24) và được mã hóa bằng một véc-tơ số nguyên (c1, c2, …, cn, cn+1); 2.Sinh ngẫu nhiên một số nguyên t, 0 < t ≤ max. Sau đó, sinh ngẫu nhiên t số
nguyên j1, …, jt với ràng buộc 0 < j1 < … < jt ≤ n;
/* chỉ các thành phần 𝑎𝑝,𝑗𝑙 của dd, l = 1, …, t được sử dụng để sinh các tiền đề của rq(dp) có dạng (1.24), trong đó xq,j = “don’t care” với mọi j { j1, …, jt } */
3.Với l = 1, …, t, nếu điều kiện đối với một số 𝑥𝑖,𝑗𝑙 ∈ 𝑋(𝑘 𝑗) 𝐴𝑗 , 𝑎𝑝,𝑗𝑙 𝐼𝑗𝑙(𝑥𝑖,𝑗𝑙) 𝕊(𝑘 𝑗) 𝐴𝑗 = {𝕊(𝑘 𝑗) 𝐴𝑗 (𝑥): x ∈ 𝑋(𝑘 𝑗) 𝐴𝑗 } là hợp lệ thì đặt 𝑐𝑗𝑙 = 𝕀(𝑥𝑖,𝑗𝑙). Ngược lại, đặt 𝑐𝑗𝑙
của r(dp) là 0 (chỉ số của từ “don’t care”). Luật thu được có độ dài t có dạng (1.25) được ký hiệu là 𝑟𝑗1…𝑗𝑡: đặt 𝑐𝑗𝑙 của r(dp) là chỉ số của từ 𝑥𝑖,𝑗𝑙 ∈ 𝑋(𝑘
𝑗) 𝐴𝑗 , 𝑟𝑗1…𝑗𝑡 = 𝐴𝑗1 is 𝕀ex(𝑥𝑖,𝑗1) and . . . and 𝐴𝑗𝑙 is 𝕀ex(𝑥𝑖,𝑗𝑙) 𝐴n+1 is 𝕀ex(𝑥𝑖,(𝑛+1)) 4.return 𝑟𝑗1…𝑗𝑡. End. Thủ tục PrGenRule(dp, {𝕊(𝜅 𝑗) 𝐴𝑗 ,𝕀(𝑋(𝜅 𝑗) 𝐴𝑗
): j ≤ n + 1},max) sẽ được dùng để sinh
các luật ngôn ngữ trong quá trình xây dựng hệ luật giải bài toán hồi quy của các thuật toán trong Mục 2.1.2 và Chương 3.
1.4.4.2. Sinh luật mờ dựa trên dữ liệu cho bài toán phân lớp
Mỗi ĐSGT 𝒜Aj được liên kết với một thuộc tính thứ j của tập dữ liệu cảm sinh các từ ngôn ngữ 𝑋𝑘
𝑗
𝐴𝑗
có độ dài lớn nhất kj theo thứ tự ngữ nghĩa của chúng. Vì ngữ nghĩa định lượng khoảng f(xj,i) = (h0xj,i) (xj,i) biểu thị lõi ngữ nghĩa của từ ngôn ngữ xj,i nên được dùng để biểu diễn đỉnh của tập mờ dạng hình thang hoặc hàm S ứng với từ xj,i. Các giá trị trong khoảng đỉnh của tập mờ phù hợp với ngữ nghĩa định tính của từ nhất nên có giá trị là 1.
Với giá trị cụ thể của các tham số ngữ nghĩa bao gồm fm(c−j), fm(Wj), fm(0j),
fm(1j), (hj,i), (hj,0) là độ đo tính mờ tương ứng của c−j, Wj, 0j, 1j, hj,i, hj,0 và với giá
trị cụ thể của kj, các khoảng tính mờ k(xj,i), xj,i Xj,k, k ≤ kj và các ngữ nghĩa định lượng khoảng f(xj,i) được tính toán. Các khoảng tính mờ kj(xj,i) tạo thành phân hoạch
mức kj trên miền giá trị của thuộc tính j. Có duy nhất một khoảng tính mờ trong số các khoảng tính mờ kj(xj,i) chứa điểm dữ liệu dp,j của mẫu dữ liệu dp. Tất cả các
khoảng tính mờ mức kj chứa dp,j (0 ≤ j ≤ n) tạo thành một siêu hộp Hp và chỉ sinh các luật mờ từ các siêu hộp loại này. Luật mờ cơ sở có độ dài n được sinh từ Hpvới nhãn lớp Cp của mẫu dữ liệu dp có dạng sau:
IfA1 is xp,1 & … & An is xp,n Then Cp (Rb) Các luật mờ thứ cấp có độ dài L ≤ n thu được bằng cách bỏ bớt n - L thuộc tính có dạng sau:
ifA j1 is xp,j1 & … & A jt is xp,jt Then Cq (Rsnd) trong đó 1 ≤ j1 ≤ … ≤ jt ≤ n. Nhãn lớp Cq của luật Rq được xác định bởi độ tin cậy
)
( q h
( )
{ | 1, , }
q q h
C =argmax c A C h= M (1.26) Độ tin cậy của luật mờ được tính như sau:
( ) ( ) ( ) 1 / q q p h m q h p p C p c C = = A A d A d d (1.27)
trong đó Aq( )dp là độ đốt cháy của mẫu dữ liệu dp đối với tiền đề luật của Rq và
thường được tính bằng biểu thức toán tử nhân theo công thức sau: ( ) , ( ), 1 . q n p q j p j j = = A d d (1.28)
với q j, (dp j, ) là độ thuộc của điểm dữ liệu dp,j vào tập mờ Aq,j.
Tập luật ứng viên thu được sau khi sàng lọc các luật không nhất quán bằng độ hỗ trợ. Tiếp theo, một tiêu chuẩn sàng được sử dụng để chọn ra tập luật khởi đầu S0
gồm NR0 = NB0 × M luật với M là số nhãn lớp và NB0 là số luật dành cho mỗi lớp. Tiêu chuẩn sàng được chọn có thể là độ tin cậy c (công thức (1.27)), độ hỗ trợ s (công thức (1.23)) hoặc tích c × s. Độ hỗ trợ được tính theo công thức sau [42]:
( ) ( )/ q p h q h p C s C m = A d A d . (1.29)
Mỗi luật được gán một trọng số để nâng cao độ chính xác phân lớp. Trong bài luận án này, trọng số luật được tính theo công thức [40]:
( ) ,2 ,
q q q q nd
CF =c A C −c (1.30)
trong đó cq,2nd là độ tin cậy lớn nhất của các luật có cùng tiền đề Aq nhưng khác kết
luận Cq: ( ) ,2 max | 1,.., ; q nd q q c = c A Class h h= M h C (1.31)
Quá trình sinh luật trên là thủ tục sinh tập luật khởi đầu IFRG(Л, P, NR0, L)
[59] và được trình bày dưới dạng mã giả như bên dưới, trong đó Л là tập giá trị của các tham số ngữ nghĩa và L là số tiền đề tối đa của mỗi luật. Độ phức tạp của thủ tục sinh tập luật khởi đầu IFRG là đa thức đối với số mẫu và số thuộc tính của tập dữ liệu P và đã được chứng minh trong [59].
Procedure IFRG (Л, P, NR0, L) //Thuật toán sinh tập luật khởi đầu.
Input: -Tập mẫu dữ liệu P = {(dl, Cl) | l = 1, …, mt}, M lớp kết luận, n thuộc tính - Các tham số ngữ nghĩa Л, NR0 số luật khởi đầu, L độ dài tối đa của luật.
Begin
//Bước 1: Xây dựng cấu trúc đa thể hình thang của 𝑋(𝑘 𝑗) 𝐴𝑗
1. Với mỗi thuộc tính Aj P, j = 1, …, n, sinh tập từ được khai báo 𝑋(𝑘 𝑗) 𝐴𝑗
với mức đặc tả tối đa kj. Với mỗi xj,i 𝑋(𝑘
𝑗+1)
𝐴𝑗 , xây dựng khoảng tính mờ j(xj,i), tính ánh xạ định lượng khoảng fen(xj,i). Với mỗi xj,i 𝑋(𝑘
𝑗) 𝐴𝑗
, xây dựng tập mờ hình thang cho xj,i.
//Bước 2: Xây dựng tập luật cơ sở từ P
2. Đặt mỗi luật cơ sở r(pl) độ dài n có dạng (Rb) và được mã hóa bằng một véc- tơ số nguyên (c0, c1, c2, …, cn, cn) với c0 là chỉ số của từ “Don’t care”. Với mỗi mẫu dữ liệu pl = (dl, Cl) P, sinh một luật r(pl), trong đó tiền đề luật aj,i = “Aj is xj,i” được mã hóa bởi cj được xây dựng bằng cách tìm từ ngôn ngữ
𝑥𝑗,𝑖 ∈ 𝑋(𝑘 𝑗) 𝐴𝑗
mà 𝑑𝑙,𝑗 ∈ ℑ𝑗,𝑘𝑗(𝑥𝑗,𝑖), khi đó, đặt cj là chỉ số 𝕀ex(xj,i). //Bước 3: Xây dựng các luật có độ dài ngắn hơn n từ các luật cơ sở
3. Xây dựng các luật có độ dài L ≤ n bằng cách, sinh tất cả k-tổ hợp của n phần tử T. Với t T, sinh một luật một thứ cấp r(𝑝𝑙𝑡) độ dài t có dạng (Rsnd), và tính độ tin cậy, độ hỗ trợ, xác định lại nhãn lớp, tính trọng số của r(𝑝𝑙𝑡). //Bước 4: Sàng luật theo tiêu chuẩn sàng
4. Đặt S0 = Ø; //Khởi tạo tập luật khởi tạo là rỗng
Sắp xếp các luật r(𝑝𝑙𝑡) giảm dần theo tiêu chuẩn sàng. Thêm NR0/M luật đầu tiên trong tập r(𝑝𝑙𝑡) vào S0.
5. Return S0;
End.
Thủ tục IFRG (Л, P, NR0, L) sẽ được dùng để sinh các luật ngôn ngữ trong quá
trình xây dựng hệ luật của các thuật toán giải bài toán phân lớp trong chương 2.