3.1 Phương pháp thiết kế ngôn ngữ cho bài toán phân lớp
3.1.1 Đặt bài toán
Theo phương pháp sinh luật dựa trên lưới phân hoạch mờ đã trình bày trong
Chương 2, có hai vấn đề cần được xem xét: Thứ nhất, mỗi thuộc tính của bài tốn cần sử dụng những giá trị ngôn ngữ nào là phù hợp. Thứ hai, mỗi giá trị ngôn ngữ sử dụng phải được thiết kế hàm định lượng ngữ nghĩa sao cho thích hợp nhất đối
với bài toán. Trong các phương pháp dựa trên tập mờ, các tác giả trong [17], [29], [40], [50], [74]... thiết kế trước một số các tập mờ cùng với các giá trị ngôn ngữ tương ứng, sau đó điều chỉnh các tham số của các tập mờ đã được thiết kế (hay gọi
là “tunning”) bằng cách sử dụng các chiến lược tìm kiếm tối ưu xấp xỉ chủ yếu dựa trên giải thuật di truyền (GA).
Trong các phương pháp này vẫn tồn tại sự tách biệt giữa cú pháp của các giá trị ngôn ngữ và ngữ nghĩa của chúng biểu diễn bởi các tập mờ. Các tác giả chỉ tập trung vào mục đích thiết kế tập mờ biểu diễn ngữ nghĩa của ngôn ngữ, việc bỏ qua cú pháp của ngôn ngữ dẫn đến các giá trị ngơn ngữ chỉ đóng vai trò như là nhãn của các tập mờ, trong khi ngôn ngữ lại mang những thông tin quan trọng đối với con
người. Trong [43], [60], giá trị ngôn ngữ được xem như là nhãn và ngữ nghĩa của chúng được giả định là cho trước. Một số tác giả [50], [40], [17] áp dụng phương
pháp “tunning” các tham số tập mờ biểu diễn ngữ nghĩa, tuy nhiên kết quả các tập mờ không mang ngữ nghĩa của ngôn ngữ, dẫn đến hệ luật mờ trở nên khó hiểu và khơng trực quan đối với người dùng. Chẳng hạn, rất khó để chọn giá trị ngơn ngữ thích hợp và giải thích ngữ nghĩa của các tập mờ kết quả trong Hình 3.1(a) và 3.1(b) [10], [50]. Thậm chí các tập mờ hầu như khơng có sự phân biệt, tức tập mờ này gần như được chứa trọn bên trong một tập mờ khác (Hình 3.1 (b)).
92
(a) (b)
Hình 3.1: Tập mờ của Malic Acid [10] (a), Proline [50] (b)
Dựa trên các tính chất của ĐSGT, các tham số mờ gia tử có thể được điều
chỉnh nhưng vẫn đảm bảo tính cấu trúc ngữ nghĩa của các hạng từ. Hơn nữa, với mức phân hoạch k được chọn để có tập các giá trị ngơn ngữ thích hợp cho bài tốn. Rõ ràng, thực tế khơng có một quy trình hay cơng cụ để xác định các tham số này cho các bài toán ứng dụng. Phụ thuộc vào ngữ cảnh của bài toán ứng dụng và được kiểm chứng bởi các kết quả thực nghiệm.
Trong phần này của luận án sẽ đề cập phương pháp thiết kế các tập giá trị
ngơn ngữ cho các thuộc tính của bài toán dựa trên phương pháp tối ưu tham số mờ gia tử và mức phân hoạch k của mơ hình xây dựng hệ luật mờ phân lớp đã được
trình bày trong Chương 2. Cả hai phương pháp sinh luật của thuật toán IFRG1 và
IFRG2 đều dựa trên phân hoạch hệ các khoảng tính mờ hoặc các khoảng tương tự
của các giá trị ngôn ngữ trong ĐSGT, tức với mỗi phân hoạch sẽ sinh ra một hệ luật mờ khác nhau và tất nhiên kết quả phân lớp sẽ khác nhau. Rõ ràng việc tính tốn phân hoạch các khoảng tính mờ phụ thuộc hoàn toàn vào các tham số mờ gia tử. Như đã giới thiệu trong Chương 1, mục tiêu xây dựng hệ luật nhỏ gọn, đơn giản và dễ hiểu, hiệu quả phân lớp cao. Như vậy bài tốn đặt ra là tìm kiếm bộ tham số gia tử và mức phân hoạch cho các ĐSGT của các thuộc tính sao cho hệ luật thu được
sau quá trình sinh bởi thuật toán IFRG1 hoặc IFRG2 và rút gọn (Hình 3.2) thỏa mãn các mục tiêu trong (1.6). Để tiện về sau chúng ta gọi quá trình xây dựng hệ luật
này là HAFRG (Hedge Algebras based Fuzzy Rules Generation for Classification).
Tuy nhiên ngoài các tham số mờ gia tử, tham số về mức phân hoạch các khoảng tính mờ hoặc các khoảng tương tự kj cũng tác động lớn đến kết quả của mô hình. Mức phân hoạch càng lớn (kj càng lớn) sẽ sinh ra càng nhiều luật và các luật có tính phân biệt càng cao làm tăng hiệu năng phân lớp, nhưng số lượng các luật sẽ
93
rất nhiều. Việc xác định kj khó thực hiện bằng trực quan của người dùng đối với bất kỳ bài toán nào. Một cách tự nhiên chúng ta cũng đưa việc xác định mức phân
hoạch kj vào bài tốn tìm kiếm tối ưu.
Hình 3.2: Quá trình HAFRG xây dựng hệ luật mờ phân lớp
Ký hiệu PAR = { fmj(c-), fmj(c+), µj(hi), kj | ∀hi ∈ H, j = 1,...,n } là tập các
tham số mờ gia tử cùng với mức phân hoạch kj của bài toán phân lớp, khi đó S* =
HAFRG(PAR, IFRG1,θitg) là trường hợp sinh hệ luật sử dụng thuật toán IFRG1 và hợp các luật theo ngưỡng θitg để rút gọn, hoặc S* = HAFRG(PAR, IFRG2, M) là
quá trình sinh hệ luật sử dụng thuật toán IFRG2 và phương pháp sàng để chọn ra M luật (theo quá trình trong Hình 3.2). Để thuận tiện có thể viết gọn S* =
HAFRG(PAR) cho cả hai q trình trên.
Để ý rằng thuật tốn IFRG1 có thể áp dụng đối với ĐSGT không hạn chế số
gia tử, còn IFRG2 chỉ áp dụng đối với ĐS2GT.
Chúng ta có bài tốn tìm kiếm tối ưu tham số mờ gia tử được phát biểu dưới
dạng sau.
Các mục tiêu:
fp(S*) → max, fn(S*) và fa(S*) → min, (3.1)
Các tham số mờ gia tử và mức phân hoạch kj Sinh hệ luật khởi đầu bằng thuật toán IFRG1 hoặc IFRG2
Hệ luật mờ S0 Rút gọn hệ luật bằng phương
pháp sàng hoặc hợp các luật Hệ luật mờ S*
94
Các ràng buộc:
i) Điều kiện cho các tham số trong ĐSGT:
0 < fmj(c-), fmj(c+), µj(hi) < 1, (3.2)
fmj(c-) + fmj(c+) = 1, (3.3) ∑iµj(hi) = 1, cho mọi j = 1,2,...,n. (3.4)
ii) Điều kiện cho mức phân hoạch:
0 < kj≤πkj, cho mọi j = 1,2,...,n. (3.5) Trong đó S* là hệ luật sinh bởi quá trình trên Hình 3.2, πkj là ngưỡng tối đa cho mức phân hoạch tại thuộc tính Xj. Các hàm đánh giá fp(S*), fn(S*) và fa(S*) tương
ứng là tỷ lệ % số mẫu phân lớp đúng trên tập dữ liệu (hay gọi là hiệu quả phân lớp),
số lượng các luật và độ dài trung bình hệ luật.
Mặt khác, khi áp dụng thuật toán sinh luật IFRG2 và phương pháp sàng để rút gọn hệ luật, nếu chỉ sử dụng một hệ S* với M luật thì nhiều khả năng hàm đánh giá mục tiêu fp(S*) dẫn đến tối ưu tham số mang tính địa phương, tức là nó chỉ tối ưu đối với hệ đúng M luật. Một lý do khác là chúng ta khó xác định số luật M đối với
một bài tốn để có được bộ tham số tối ưu theo đúng nghĩa của nó (1.6). Ở đây
chúng ta sẽ đánh giá mục tiêu hiệu quả phân lớp đối với một bộ tham số dựa trên nhiều hệ luật, giả sử với bộ tham số PAR, áp dụng thuật toán sinh luật IFRG2 để sinh hệ luật S0. Đặt Ns là số lượng các hệ luật cần dùng để đánh giá hiệu quả đối với
PAR, khi đó sử dụng phương pháp sàng để lấy ra Ns hệ luật {S*
1, S*2,..., S*Ns} có số lượng các luật lần lượt là M1, M2,..., MNs, gọi Ns hệ này là Set(Ns) (ký hiệu S**
).
Set(Ns) = {S*i | S*i = HAFRG(PAR, IFRG2, Mi), i = 1,...,Ns},
trong đó các Mi được cho trước. Theo cách này, chúng ta đánh giá các mục
tiêu trong (3.1) dưới dạng trung bình, khi đó ký hiệu fp(S**) = Ns∑iNs= fp Si
1 * 1 ( ), fn(S**) = Ns∑Nsi= fn Si 1 * 1 ( ) và fa(S**) = Ns∑iNs= fa Si 1 *
1 ( ) tương ứng là hiệu quả phân lớp, số luật
95
Bài toán tối ưu ở trên có 3 mục tiêu. Để áp dụng giải thuật di truyền, theo cách thông thường (xem [45], [43]) chúng ta kết nhập theo trọng số các mục tiêu trong (3.1) thành một mục tiêu dưới dạng sau:
wp.fp(S**) + wn.fn(S**)-1 + wa.fa(S**)-1 → max, (3.6) trong đó 0 < wp,wn,wa < 1 và wp+wn+wa = 1, hiển nhiên fn(S**) > 0 và fa(S**) > 0 do đó fn(S**)-1 và fa(S**)-1 luôn tồn tại.
Theo điều kiện (3.3), ta giảm bớt tham số fm(c+) trong tập PAR, vì fm(c+) = 1-
fm(c-). Hơn nữa, trong ĐS2GT chỉ gồm hai gia tử {L,V}, từ điều kiện (3.4) cho phép giảm bớt tham số µ(V), vì µ(V) = 1-µ(L). Như vậy khơng gian tìm kiếm sẽ được thu
hẹp rất nhiều, cụ thể
PAR = { fmj(c-), µj(L), kj | j =1,2,...,n }, (3.7) khi đó |PAR| = 3.n thay vì (|H|+3).n như ban đầu, dẫn đến tốc độ tìm kiếm sẽ
nhanh hơn. Các ràng buộc (3.3) và (3.4) đã được loại bỏ, bài tốn chỉ cịn hai ràng buộc (3.2) và (3.5).
Ngoài ra, để các giá trị ngôn ngữ mang ngữ nghĩa và định lượng của chúng
thích hợp trong thực tế, chúng ta sẽ đặt ràng buộc (3.2) theo khoảng giới hạn nhỏ hơn. Nếu hai giá trị ngơn ngữ short và long có độ đo tính mờ fm(short) = 0.95 và
fm(long) = 0.05 thì rõ ràng khơng thực tế. Tuy nhiên việc thu hẹp giới hạn của các
tham số sẽ làm cho hiệu quả của mơ hình có thể khơng cao, nhưng các giá trị ngôn ngữ biểu diễn trong các luật mờ có tính thực tế hơn. Đây là một sự thỏa hiệp giữa hiệu quả và tính dễ hiểu của hệ luật.
Bây giờ ràng buộc (3.2) trở thành:
Laj < fmj(c-) < Lbj, Lcj < µj(L) < Ldj, j=1,2,...,n, (3.8) trong đó các hằng số thỏa mãn 0 ≤ Laj < Lbj ≤ 1 và 0 ≤ Lcj < Ldj ≤ 1 được lựa chọn bởi người dùng để phù hợp với thực tế của bài toán.
96
Tiếp theo chúng ta sẽ thiết kế phương pháp giải bài toán sử dụng giải thuật di truyền (GA - Genetic Algorithm) có kết hợp thuật tốn mơ phỏng tôi luyện (SA -
Simulated Annealing).