Trong bài báo này, chúng tôi đề xuất một phương pháp học cây quyết định mờ khi tập mẫu huấn luyện không thuần nhất giá trị dựa trên khái niệm khoảng mờ lớn nhất, trong khi giữ nguyên các[r]
(1)Tối ưu trình học định
cho toán phân lớp theo cách tiếp cận khoảng mờ lớn nhất
Lê Văn Tường Lân1, Nguyễn Mậu Hân1, Nguyễn Công Hào2
1Khoa Công nghệ Thông tin, Trường Đại học Khoa học, Đại học Huế 2Trung tâm Công nghệ Thông tin, Đại học Huế
E-mail: lvtlan@yahoo.com, nmhan2009@gmail.com, nchao@hueuni.edu.vn Tác giả liên hệ: Lê Văn Tường Lân
Ngày nhận: 07/07/2017, ngày sửa chữa: 20/09/2017, ngày duyệt đăng: 09/10/2017
Tóm tắt: Hiện nay, khai phá liệu rõ giải tất yêu cầu đặt toán phân lớp định mờ tất yếu đóng góp vai trị quan trọng tốn khai phá liệu mờ Tuy vậy, việc học định dựa vào định lượng ngữ nghĩa theo điểm số hạn chế xuất nhiều sai số q trình xử lý, kết thu khơng thật linh hoạt Bằng cách thức đối sánh theo khoảng mờ, thu giảm thiểu sai số linh hoạt dự đoán nhiên số nút tăng nhanh nên không đơn giản với người dùng thời gian duyệt dự đoán Trong báo này, đề xuất khái niệm khoảng mờ lớn để xây dựng phương pháp học quy nạp định mờ HAC4.5*, nhằm thu định mờ đạt tối thiểu số nút có khả dự đốn cao
Từ khóa:Khai phá liệu, định, định mờ, khoảng mờ lớn nhất, HAC4.5*.
Title: Fuzzy Decision Tree Learning for Classification based on Maximum Fuzziness Intervals
Abstract: Nowadays, data mining based on precise logic cannot satisfy all requirements, so classification based on fuzzy decision
trees is important due to the fuzziness nature of data mining However, decision tree learning based on the quantitative methods of the hedge algebra still has some restrictions because of errors involved and the resulted tree not truly flexible Using fuzziness interval matching, the resulted tree has reduced the number of errors and increase flexibility in prediction However, the number of nodes in the resulted tree increases rapidly, causing difficulty to use and more time to produce prediction results In this paper, a concept of maximum fuzziness interval is proposed in order to build an inductive learning method called “HAC4.5* fuzzy decision tree”, resulting a fuzzy decision tree with the minimum number of nodes and highly accurate prediction
Keywords: Data mining, decision tree, fuzzy decision tree, maximum fuzziness intervals, HAC4.5*.
I ĐẶT VẤN ĐỀ
Thế giới thực vơ hạn ngơn ngữ lại hữu hạn, xuất cụm từ khơng xác mơ hồ Trong giới thực, kho liệu nghiệp vụ lưu trữ mờ tất yếu, tốn phân lớp định rõ giải tất yêu cầu đặt toán phân lớp liệu định mờ vấn đề tất yếu khai phá liệu [1–12]
Cho tập mẫu liệuV =U×Y, đóU= {ui|i = 1, ,N} tập liệu, Y = {y1, ,yn} tập
các nhãn lớp, ui ∈ D liệu thứ i với D =
A1× · · · ×Am tích Đề-các miền củamthuộc tính
tương ứng, n số lớp N số mẫu liệu, để ý
U ⊂ D Mỗi liệu ui ∈U thuộc lớp yi ∈Y tương
ứng tạo thành cặp(ui,yi) ∈V Giải tốn phân lớp
dựa mơ hình định xây dựng định để phân lớp, ký hiệu S, ánh xạ từ tập liệu vào tập nhãn:
S:D→Y (1)
(2)Tập V-2, Số 18 (38), 12/2017 tồn thuộc tính mờ Aj số thuộc tính
củaDthì ta nói (1) tốn phân lớp định mờ Như vậy, mơ hình định S phải đạt mục tiêu hiệu phân lớp cao, tức sai số phân lớp cho liệu có thể, có nút có khả dự đốn cao, khơng xảy tình trạng q khớp Mục tiêu hiệu phân lớp nhằm đáp ứng tính đắn tập liệu mẫu cho tốn, cịn mục tiêu sau đưa với mong muốn mơ hình định nhận phải đơn giản dễ hiểu người dùng
Gọi fh(S)là hàm đánh giá tính hiệu trình
phân lớp, fn(S)là hàm đánh giá tính đơn giản
dễ hiểu người dùng, mục tiêu toán fh(S) →max fn(S) →min (2)
Hai mục tiêu (2) khó đạt đồng thời Khi số nút giảm đồng nghĩa với lượng tri thức tốn giảm nguy phân lớp sai tăng lên, có nhiều nút gây q khớp thơng tin q trình phân lớp Bên cạnh đó, phân chia nút ảnh hưởng đến tính phổ quát hay cá thể nút Nếu phân chia nút nhỏ làm tăng tính phổ quát ngược lại phân chia lớn làm tăng tính cá thể nút Tính phổ qt nút làm tăng khả dự đoán nguy gây sai số lớn, tính cá thể giảm khả dự đốn lại tăng tính đắn ngun nhân tình trạng khớp Các phương pháp giải tốn mơ hình định phải thỏa hiệp mục tiêu để đạt kết cuối
Hiện có số cách tiếp cận sau Trước hết cách tiếp cận giá trị ngôn ngữ cho tập mờ để xây dựng định mờ Các tác giả [13–15] xác định giá trị ngôn ngữ cho tập liệu mờ xây dựng định ngôn ngữ (LDT: Linguistic Decision Tree) cách sử dụng tư tưởng thuật toán ID3 định rõ cho nút ứng với thuộc tính ngơn ngữ (LID3)
Tuy nhiên, cách làm làm phát sinh đa phân, có phân chia theo chiều ngang lớn nút ngôn ngữ tập giá trị ngôn ngữ thuộc tính mờ lớn (Hình 1), nên dễ dẫn đến tình trạng q khớp Thêm vào đó, nút này, ta sử dụng cách phân chia nhị phân thuật tốn C4.5 khơng có thứ tự giá trị ngôn ngữ Hơn nữa, với giá trị rõ miền thuộc tính mờ tập liệu huấn luyện, đoạn giá trị rõ ánh xạ giá trị ngôn ngữ nên có sai lệch lớn
Cách tiếp cận mờ thứ hai theo đại số gia tử (ĐSGT) N C Ho W Wechler khởi xướng từ 1990 Cách có nhiều ưu điểm theo cách tiếp cận này, giá trị ngôn ngữ biến ngôn ngữ nằm cấu trúc đại số nên ta đối sánh giá trị ngôn ngữ
Nút phân chia mờ Giá trị
ngôn ngữ ngôn ngữ Giá trị k
Hình 1: Điểm phân chia đa phân theo giá trị ngơn ngữ thuộc tính mờ
Hình Điểm phân chia đa phân theo giá trị ngơn ngữ thuộc tính mờ
Theo cách tiếp cận ĐSGT, trường mà liệu bao gồm liệu rõ mờ Các tác giả [16–20] phương pháp định lượng ngữ nghĩa theo điểm nhằm liệu giá trị số hay giá trị ngôn ngữ cách thức truy vấn liệu thuộc tính Từ đó, học phân lớp tập mẫu
Bài toán xây dựng định mờ lúc sử dụng thuật tốn xây dựng định rõ C4.5, SLIQ, v.v [7, 8, 10, 12] Các nút phân chia nhị phân tính theo dựa theo điểm phân chia với giá trị ngơn ngữ có thứ tự hồn tồn xác định tương ứng với giá trị số ĐSGT xây dựng
Tuy vậy, cách dựa phương pháp định lượng ngữ nghĩa theo điểm xuất nhiều sai số đoạn giá trị rõ có quy điểm tức giá trị ngôn ngữ tương ứng, điều làm xuất giá trị gần phân hoạch hai đoạn khác nên kết phân lớp khác Bên cạnh đó, kết khó đưa dự đoán trường hợp cần dự đoán mà có đan xen điểm phân chia mờ, ví dụ ta cần dự đốn cho trường hợp đoạn con[x1,x2], với x1 <x< x2 nút phân chia mờ Hình
Cách tiếp cận thứ ba cách thức đối sánh theo khoảng mờ dựa ĐSGT, kết thu giảm thiểu sai số linh hoạt nhờ giữ nguyên miền giá trị rõ đối sánh với giá trị mờ tập mẫu cho trình huấn luyện [20], Hình Tuy vậy, số nút kết có khả tăng cao nên không đơn giản với người dùng thời gian duyệt dự đoán Do vậy, hàm mục tiêu nêu (2) khơng đạt
(3)Các cơng trình nghiên cứu phát triển Công nghệ Thông tin Truyền thông
Hình 2: Điểm phân chia nhị phân theo giá trị ngơn ngữ giá trị số thuộc tính mờ, dựa phương pháp định lượng ngữ nghĩa theo điểm ĐSGT
Nút phân chia mờ ≥ Giá trị số x tại
điểm phân chia
< Giá trị số x
điểm phân chia
Giá trị ngôn ngữ tương ứng
ĐSGT Giá trị ngôn ngữ
tương ứng ĐSGT
Hình Điểm phân chia nhị phân theo giá trị ngơn ngữ giá trị số thuộc tính mờ, dựa phương pháp định lượng ngữ nghĩa theo điểm ĐSGT
Hình 3: Điểm phân chia theo khoảng mờ thuộc tính mờ, dựa phương pháp định lượng ngữ nghĩa theo khoảng mờ ĐSGT
Nút phân chia mờ
Khoảng mờ [ai, aj]
Khoảng mờ [ak, al]
Tập giá trị ngôn ngữ tương ứng Akl trong ĐSGT Tập giá trị ngôn
ngữ tương ứng Aij trong ĐSGT
…
Hình Điểm phân chia theo khoảng mờ thuộc tính mờ, dựa phương pháp định lượng ngữ nghĩa theo khoảng mờ ĐSGT II KHOẢNG MỜ VÀ KHÁI NIỆM KHOẢNG MỜ
LỚN NHẤT
1 Khoảng mờ đối sánh dựa khoảng mờ
Cho ĐSGTX=(X,G,H,≤), vớiG={c+,c−}, trong
đó c+ vàc− tương ứng phần tử sinh dương âm; X là
tập nền; H=H+∪H− vớiH−={h−p,h−p+1, ,h−1}
H+=h
1, ,hq,h−1>h−2 >· · ·>h−p vàh1<· · ·<hq Định nghĩa 1. Khoảng mờ phần tử xlà đoạn [0,1], có độ dài độ đo tính mờ f m(x), ký hiệu I(x), xác định cách quy nạp theo độ dài xnhư sau [17]:
i) Với độ dài x (l(x) =1), tức x ∈ {c+,c−},
If m(c−)vàIf m(c+)là khoảng tạo thành
phân hoạch của[0,1], thỏaIf m(c−) ≤If m(c+) Tức
với mọiu∈If m(c−) mọiv∈If m(c+): u≤v Điều
này hoàn toàn phù hợp với thứ tự ngữ nghĩa c−
vàc+.
Ký hiệu độ dài củaIf m(x)làIf m(x), ta cóIf m(c−)=
If m(c−) vàIf m(c+)=If m(c+);
ii) Giả sử với x ∈ X có độ dài k (l(x) = k), có khoảng mờ If m(x) If m(x) = f m(x) Các
khoảng mờ y = hix, với i ∈ [−p,−p + 1, ,−1,1,2, ,q], lúc l(y) = k +1, tập {If m(hix)} thoả mãn phân hoạch If m(x), If m(hix) = If m(hix) có thứ tự tuyến tính tương
ứng với thứ tự tập {h−px,h−p+1x, ,hqx}
Khi l(x) =k, ta ký hiệu I(x) thay cho If m(x), Xk = {∀x ∈ X|l(x)=k} tập phần tử X có độ
dài bằngk,Ik ={Ik(x)|x∈Xk} tập tất
khoảng mờ mức k
Định nghĩa 2. Hai khoảng mờ gọi nhau, ký hiệuI(x)=I(y)khi chúng xác định giá trị (x = y), tức ta có IL(x)= IL(y) IR(x) = IR(y)
Ngược lại ta gọi chúng hai khoảng mờ khác ký hiệu I(x) , I(y) Trong đó, ký hiệu IL(x) IR(x)
điểm mút trái phải khoảng mờ I(x)
Định nghĩa 3. Cho khoảng rõ khác [a1,b1] [a2,b2]tương ứng với khoảng mờ[Ia1,Ib1],[Ia2,Ib2] ⊆ [0,1] Ta nói khoảng[a1,b1]đứng trước[a2,b2]hay[a2,b2] đứng sau [a1,b1], viết [a1,b1] < [a2,b2] hay [Ia1,Ib1] < [Ia2,Ib2]nếu:
i) b2 >b1 tức Ib2 >Ib1,
ii) Nếu Ib2 =Ib1 tức b2=b1 Ia2 >Ia1 tức a2>a1, lúc ta nói dãy[a1,b1],[a2,b2] dãy có khoảng
có quan hệ thứ tự trước sau
Định lý 1. Chokkhoảng khác đôi một[a1,b1], [a2,b2], ,[ak,bk], ta ln xếp để dãy có k
khoảng với quan hệ thứ tự trước sau.
Thật vậy, vớik khoảng khác đôi một[a1,b1], [a2,b2], , [ak,bk], ta ln tìm khoảng trước
của dãy [ai,bi], với = min(a1,a2, ,an) Nếu có
nhiều khoảng [aj,bj], i = .k mà aj =ai chọn ta
khoảng[ai,bi]là khoảng cóbi bé giá trịbj
Việc chọnbi ln tìm khoảng cho
khác đơi nên ai=aj bi,bj (Định
(4)Tập V-2, Số 18 (38), 12/2017 Sau tìm khoảng trước dãy [ai,bi],
ta tiếp tục tìm khoảng thứ tiếp tục Sau k lần tìm xếp ta có dãy gồm kkhoảng mà phần tử dãy xếp theo quan hệ thứ tự trước sau
2 Khoảng mờ lớn phương pháp tính khoảng mờ lớn nhất
Trong ĐSGT, hạng từ mang ngữ nghĩa hạng từ khác tức hạng từ dùng để sinh Chẳng hạn “very old” mang ngữ nghĩa “old”, “very little old” mang ngữ nghĩa “old” Vậy, hai hạng từ “very old” “very little old” có quan hệ kế thừa ngữ nghĩa (hay quan hệ kế thừa) “old”, ta gọi “very old” “very little old” có quan hệ kế thừa ngữ nghĩa
Định nghĩa 4. Một ĐSGTX =(X,G,H,≤), với mọix,y∈ X, gọi có quan hệ kế thừa ngữ nghĩa với ký hiệu ∼(x,y) tồn z ∈ X cho x = hin· · ·hi1z=hjm· · ·hj1z
Mệnh đề 1. Với mọi x,y∈X xác định hai khoảng mờ mức k và mức l lần lượt là Ik(x) và Il(y), chúng khơng
có quan hệ kế thừa, có quan hệ kế thừa với nếu tồn tại z∈X,|z|=v,v≤min(l,k),IL(z) ≤ IL(y), IR(z) ≥
IR(y), và IL(z) ≤ IL(x), IR(z) ≥ IR(x) hay Iv(z) ⊇ Ik(x)
và Iv(z) ⊇ Il(y), tức là x, yđược sinh từ z.
Chứng minh. Mệnh đề dễ dàng suy từ tính phân hoạch khoảng mờ
Khi x y có quan hệ kế thừa ngữ nghĩa, ta nói khoảng tính mờ Iv(z) bao hàm hai khoảng tính mờ Ik(x)
và Il(y), hay z bao hàm ngữ nghĩa x y ta ký
hiệuz=∼(x,y) Theo định nghĩa, rõ ràng hai hạng từ x,y có quan hệ ngữ nghĩa chúng có dạng x=hin· · ·hi1z, y=hjm· · ·hj1z Nếuhi1 =hj1 =h10,hi2 =hj2 =h20 ta có z=h10choặc z=h01h02c bao hàm ngữ nghĩa x y Tuy nhiên, thực tế sử dụng z thay cho cảx y làm ngữ nghĩa chúng rõ ràng, thực tế cần phải xác định z cho ngữ nghĩa
gần với x, ycàng tốt
Định nghĩa 5. Cho ĐSGT X = (X,G,H,≤), với x, y, z ∈ X, z = ∼(x,y) Nếu ∃z1 ∈ X, z1 = ∼(x,y) len(z) ≥ len(z1) ta nói z có ngữ nghĩa gần với x, y nhất, hay khoảng mờ zcó độ dài lớn ký hiệu z=∼max(x,y)
Định nghĩa 6. Cho ĐSGT X =(X,G,H,≤), với∀x, y∈ X và∼(x,y) Mức độ gần xvà y theo quan hệ kế thừa ngữ nghĩa, ký hiệu sim(x,y), định nghĩa sau:
sim(x,y)= m
max(k,l)(1− |v(x) −v(y)|),
trong k = len(x), l = len(y) m = len(z) với z = ∼max(x,y)
Mệnh đề 2. Cho ĐSGT X = (X,G,H,≤), với mọi x,y∈X, ta có tính chất mức độ gần các hạng từ sau:
i) Hàm sim(x,y)có tính chất đối xứng, tức sim(x,y)= sim(y,x);
ii) x, y khơng có quan hệ kế thừa ngữ nghĩa chỉ khi sim(x,y)=0;
iii) sim(x,y)=1 ⇔ x=y;
iv) ∀x, y, z∈ Xk, x ≤y ≤ z ⇒sim(x,z) ≤ sim(x,y) và
sim(x,z) ≤sim(y,z).
Chứng minh. i) Hiển nhiên theo định nghĩa
ii) Theo định nghĩa, ta có m = x, y khơng có quan hệ kế thừa ngữ nghĩa Vậy x y khơng có quan hệ kế thừa ngữ nghĩa m = suy sim(x,y)=0 Ngược lại, sim(x,y)=0 thìm=0hoặc (1− |v(x) −v(y)|)=0 Khi m=0tức x, y khơng có quan hệ kế thừa ngữ nghĩa Trường hợp (1− |v(x) −v(y)|)=0 thì|v(x) −v(y)|=1 suy x=0,y=1 x=1,y=0 nên x, ykhơng có quan hệ kế thừa ngữ nghĩa
iii) Do m ≤ max(k,l) ≤ v(x),v(y) ≤ nên: sim(x,y) = ⇔ m = max(k,l) |v(x) −v(y)| = ⇔x=y
iv) Theo giả thiết x ≤ y ≤ z ⇒ v(x) ≤ v(y) ≤ v(z) ⇒1− |v(x) −v(z)| ≤1− |v(x) −v(y)|và1− |v(x) −v(z)| ≤
1− |v(y) −v(z)| Mặt khác, theo giả thiếtx,y,z∈Xk
⇒len(x)=len(y)=len(z)=k Vậy đặtw1 =∼max(x,y), w2 = ∼max(y,z), w3 = ∼max(x,z), theo qui tắc sinh
hạng từ ĐSGT với giả thiết x≤ y≤ z nên len(w1) ≥ len(w3)và len(w2) ≥len(w3) Vậy theo Định nghĩa ta có sim(x,y) ≤sim(x,z)và sim(y,z) ≤sim(x,z)
Định nghĩa 7(Tính kề khoảng mờ). Cho ĐSGT X =(X,G,H,≤), hai khoảng tính mờI(x)và I(y) gọi kề chúng có điểm mút chung, tức IL(x)=IR(y)hoặc IR(x)=IL(y)
Giả sử IR(x)=IL(y)ta có khoảng mờ I(x)nằm kề trái
của khoảng mờI(y)và theo Định nghĩa 3, ta cóI(x)<I(y) Như với hai khoảng mờ x y, ta sử dụng khoảng mờ zđại diện mà không làm nhiều ngữ nghĩa x y cách dựa vào hàm sim(x,y) việc sử dụng z thay cho x y xem phép kết nhập khoảng mờ x,y thành khoảng mờz
(5)Thuật toán 1:Thuật tốn tính khoảng mờ lớn hai khoảng mờ cho trước
Input:
ĐSGT X=(X,G,H,≤)và x,y∈X
Output: z∈X,z=∼max(x,y)
Method:
k=len(x); l =len(y); v=min(k,l);
while v>0 do begin
if∃z∈ X, |z|=v andIk(x) ⊆Iv(z)
andIl(y) ⊆Iv(z)then return Iv(z)
else
v=v−1;
end if end end while return NULL;
III THUẬT TOÁN HAC4.5* SỬ DỤNG KHÁI NIỆM KHOẢNG MỜ LỚN NHẤT TRONG QUÁ TRÌNH HUẤN LUYỆN CÂY QUYẾT ĐỊNH
1 Ý tưởng đề xuất thuật toán
Ở đây, ta dựa vào thuật toán C4.5 [10, 12] sử dụng cách thức đối sánh khoảng mờ thuộc tính mờ tập huấn luyện [20] Tuy nhiên, việc tính lợi ích thơng tin cho thuộc tính mờ theo khoảng mờ xảy trường hợp khoảng mờ khác lại có chung kết dự đốn, điều làm cho mơ hình thu có nhiều nút sử dụng mức k có giá trị lớn, để tăng tính xác, vấn đề có khả xảy Hơn nữa, ngưỡng chọn ThH A
i =[Iai,Ibi], việc chia tập huấn luyện D thành tập: D1 = ∀[Iaj,Ibj][Iaj,Ibj] < Th
H A
i }
D2 = ∀[Iaj,Ibj][Iaj,Ibj] >Th
H A
i } lúc
cũng lựa chọn tốt thể xảy trường hợp đoạn D1 D2 có lợi ích thơng tin lớn
Do thuộc tính mờ Acủa tập huấn luyện được phân hoạch theo khoảng mờ đoạn [0,1]và miền liệu tập xếp thứ tự tuyến tính theo quan hệ trước sau nên khoảng mờ chúng có tính kề trái kề phải Như với hai khoảng mờ x y chúng có chung lớp dự đốn, ta sử dụng khoảng mờ z=∼max(x,y)thay mà không làm thay đổi ngữ nghĩa x y trình học phân lớp Việc sử dụng phép kết nhập z thay cho x yđược thực cho tất khoảng mờ thuộc tính mờ A
Như vậy, thuộc tính mờ Acủa tập huấn luyện sau phân hoạch theo khoảng mờ theo khoảng mờ lớn có k khoảng khác xếp theo thứ tự trước sau là:[Ia1,Ib1]<[Ia2,Ib2]<· · ·<[Iak,Ibk]và ta tiếp tục việc tìm ngưỡng cho phép tách dựa theo tỷ lệ lợi ích thơng tin ngưỡng nút
2 Thuật tốn đề xuất
1) Tính lợi ích thơng tin cho khoảng mờ thuộc tính mờ:
Do thuộc tính mờ tập huấn luyện được phân hoạch theo khoảng mờ đoạn [0,1] miền liệu tập xếp thứ tự tuyến tính theo quan hệ trước sau Ta so sánh để phân ngưỡng cho tập giá trị khoảng I(x)=[Ia,Ib] ⊆ [0,1]được chọn, tương tự giá trị
số liên tục C4.5
Việc tìm ngưỡng phép tách dựa theo tỷ lệ lợi ích thơng tin ngưỡng tậpDtại nút Tỷ lệ lợi ích thơng tin ngưỡng thuộc tính Alà thuộc tính số tập Dtại nút
Giả sử thuộc tính Alà thuộc tính mờ phân hoạch theo khoảng mờ có k khoảng khác xếp theo thứ tự trước sau là:[Ia1,Ib1]<[Ia2,Ib2]<· · ·<[Iak,Ibk]
Ta có k ngưỡng tính: ThH A
i =[Iai,Ibi], (với ≤ i < k) Tại ngưỡng chọn ThiH A, tập liệu D
còn lại nút chia làm tập D1 = {∀[Iaj,Ibj][Iaj,Ibj]<Th
H A i },
D2 = {∀[Iaj,Ibj][Iaj,Ibj]>Th
H A i }
Lúc ta có GainH AD,ThH A
i
=Entropy(D) −|D1|
|D| ×Entropy(D1) −||DD2||×Entropy(D2),
SplitInfoH AD,ThH A i
=−|D1| |D| ×log2
|D1| |D| −||D2D|| ×log2 ||D2D||, GainRatioH AD,ThH A
i
=
GainH AD,ThH A i
SplitInfoH AD,ThH A i
Trên sở tính tốn tỷ lệ lợi ích thơng tin cho ngưỡng, ngưỡng có tỷ lệ lợi ích thơng tin lớn chọn để phân tách tập huấn luyện D
2) Thuật toán đề xuất:
(6)Tập V-2, Số 18 (38), 12/2017 Thuật toán 2: Thuật toán HAC4.5*
Input: Tập mẫu huấn luyện D
Output: Cây định mờ S
Method:
for each (thuộc tính mờ X D)
begin
Xây dựng ĐSGTXk tương ứng thuộc tính mờ X; Chuyển giá trị số giá trị ngôn ngữ X giá trị đoạn⊆ [0,1];
end
Khởi tạo tập nút S; S=D;
for each (nút L thuộc S)
if(L nhất) or (L.Tập thuộc tính rỗng)then
L.Nhãn = Tên lớp
else begin
if (L thuộc tính mờ) then begin
for each(khoảng mờ x thuộc tínhL)
for each(khoảng mờ y thuộc tínhL mà y,x)
//Gọi thuật tốn
Tìm thay thếx z=∼max(x,y)
end end if
X = Thuộc tính tương ứng có GainRatio hay GainRatioH A lớn nhất;
L.Nhãn = Tên thuộc tính X;
if (L thuộc tính mờ) then begin
T = Ngưỡng có GainRatioH A lớn nhất;
Gán nhãnT thuộc tính X cho câyS; S1={IxiIxi ⊆L,Ixi <T};
S1.Nút cha = L;
3 Đánh giá thuật toán
Như vậy, việc tìm khoảng mờ lớn cho khoảng mờ tập huấn luyện xác nhập chúng, thuật toán HAC4.5* làm giảm thiểu số lượng khoảng mờ tham gia trình học xây dựng nên làm giảm số nút kết Tuy vậy, kết nhập khoảng mờ dựa độ đo tính tương tự khoảng mờ thuộc tính huấn luyện nên khơng sai lệch đến kết phân lớp cuối
Trong bước lặp thuật tốn, phải tính khoảng mờ lớn thực sát nhập khoảng mờ với chi phí O(n2) Để ý thuật tốn trên, khơng thể chuyển việc tìm sát nhập khoảng mờ lớn khỏi vịng lặp Do chúng
S1.Thuộc tính = L.Thuộc tính -X; S2={IxiIxi ⊆L,Ixi >T}; S2.Nút cha = L;
S2.Thuộc tính = L.Thuộc tính -X; S =S+S1+S2−L; //Đánh dấu nút L xét bổ sung thêm nút L ứng với tậpS1vàS2
end end if
else if(L thuộc tính liên tục)then begin
T = Ngưỡng có GainRatioH Alớn nhất;
S1={xi|xi ∈L,xi ≤T};
S1.Nút cha = L;
S1.Thuộc tính = L.Thuộc tính - X; S2={xi|xi ∈L,xi >T};
S2.Nút cha = L;
S2.Thuộc tính = L.Thuộc tính - X;
S=S+S1+S2−L; //Đánh dấu nút L xét bổ sung thêm nút L ứng với tậpS1vàS2
end
else //Llà thuộc tính rời
begin
P={xi|xi ∈K,xiđơn nhất}; for each(xi ∈P)
begin
Si={xjxj ∈L,xj =xi}
Si.Nút cha = L;
Si.Thuộc tính = L.Thuộc tính - X;
S =S+Si; //Đánh dấu nút L xét bổ sung tất nút củaLứng với tậpSi end
S=S−L;
end end
ta tìm thuộc tính phù hợp để tạo điểm phân chia này, tập mẫu huấn luyện tương ứng nhánh thay đổi nên khoảng mờ thuộc tính mờ thay đổi
Với m số thuộc tính, n số thể tập huấn luyện, độ phức tạp C4.5 O(m×n ×logn); Với HAC4.5*, trước tiên ta mấtO(n2)cho thuộc tính mờ để tính phân hoạch đoạn mờ Sau đó, độ phức tạp thuật tốn bước lặp theo thuộc tính mi
O(n×logn) mi khơng phải thuộc tính mờ
(7)độ tạp HAC4.5* làO(m×n3×logn)
Tính tính dừng thuật tốn rút từ tính C4.5 cách thức đối sánh giá trị khoảng mờ
IV THỰC NGHIỆM VÀ SO SÁNH
Chương trình thực nghiệm cài đặt ngôn ngữ Java (Eclipse Mars Release (4.5.0) máy tính có cấu hình: Intel® CoreTMi5-2450, 4 CPU với CPU có tốc độc xử lý là2,5GHz, RAM có4GB, hệ thống64bit, cho đồng thời ba thuật toán: C4.5, HAC4.5 HAC4.5* đồng thời hai liệu Adult Bank
1 Kết liệu dự đoán thu nhập Adult
Bộ liệu Adult có 40.000 mẫu tin gồm14 thuộc tính bao gồm liệu rời rạc, liên tục, logic mờ, có thuộc tính Age (Tuổi) HoursPerWeek (Số làm việc) chứa liệu rõ mờ Chúng tách riêng biệt 20.000 mẫu tin cho tập huấn luyện dùng 20.000
mẫu lại để chọn ngẫu nhiên 5.000mẫu dùng cho việc kiểm tra Kết cụ thể Bảng I Bảng II
Bảng I
ĐỐI SÁNH HUẤN LUYỆN TRÊN DỮ LIỆUADULT Thuật toán Thời gian huấn luyện (s) Tổng số nút
C4.5 479,8 682
HAC4.5 1863,7 1873
HAC4.5* 2610,8 1624
Bảng II
TỶ LỆ KIỂM TRA TRÊN DỮ LIỆUADULT Thuật toán Số mẫu kiểm tra
1000 2000 3000 4000 5000
C4.5 84,5% 85,7% 85,9% 86,2% 85,7% HAC4.5 92,3% 91,5% 93,0% 95,0% 96,1% HAC4.5* 92,8% 91,6% 93,2% 95,1% 96,3%
Bảng III
ĐỐI SÁNH HUẤN LUYỆN TRÊN DỮ LIỆUBANK Thuật toán Thời gian huấn luyện (s) Tổng số nút
C4.5 2243 562
HAC4.5 4587,2 1061
HAC4.5* 6610,5 892
2 Kết liệu dự đoán thu nhập dữ liệu Bank
Bộ liệu Bank có hơn45.000 mẫu tin gồm 17thuộc tính bao gồm liệu rời rạc, liên tục, logic mờ, thuộc tính Age (Tuổi) chứa liệu rõ mờ Chúng tách riêng biệt30.000 mẫu tin cho tập huấn luyện dùng
15.000 mẫu lại để chọn ngẫu nhiên 5.000 mẫu dùng cho việc kiểm tra Kết thể Bảng III Bảng IV
Bảng IV
TỶ LỆ KIỂM TRA TRÊN DỮ LIỆUBANK Thuật toán Số mẫu kiểm tra
1000 2000 3000 4000 5000
C4.5 61,3% 58,1% 58,3% 61,2% 64,7% HAC4.5 76,6% 72,6% 72,9% 76,5% 80,9% HAC4.5* 85,2% 83,5% 83,2% 82,1% 81,1%
2000 2500 3000
Thời gian (s)
0 500 1000 1500 2000
C4.5 HAC4.5 HAC4.5*
Hình Đối sánh thời gian huấn luyện số nút kết liệu Adult
90.0% 92.0% 94.0% 96.0% 98.0%
oán
đ
úng
78.0% 80.0% 82.0% 84.0% 86.0% 88.0%
1000 2000 3000 4000 5000
T
ỷ
l
ệ
d
ự
đ
o
Số lượng mẫu
C4.5 HAC4.5 HAC4.5*