Định ngh a 10:
Cho RPT1và RPT2 l nh sách ã lọc, tất cả các phần tử của RPT1 từ PT1và tất cả các phần tử của RPT2 từ PT2 nhƣ ƣới ây:
) , ( ),..., , ( ), , ( 1 1 1 1 1 1 1 2 1 22 11 12 11 T L T L T T T T T rp rp rp rp rp rp RP (2.7) ( 2, 2),( 2, 2),...,( 1 , 1 ) 2 2 1 22 21 12 11 T M T M T T T T T rp rp rp rp rp rp RP (2.8) T T T T
N rp rp rp rpTi iT Ti Ti min(| 21|,| 2|)/max(| 21|,| 2|); 2 1 2 1
Trong ƣớc tiếp theo, phân vùng RPT1
sẽ ƣợc so sánh với những phân vùng trong RPT2 . Vì số lƣợng các ỉnh ối diện giữa hai vết cắt phải nhỏ hơn hoặc b ng ngƣỡng nếu || 1|| 2|| 11 11 T T rp
rp , so sánh giữa hai phân vùng ( 1 1)
2 1 T i T i rp rp và ( 2 2) 2 1 T j T j rp rp có thể bỏ qua.
Để tiết kiệm chi phí tính toán, chúng ta có thể tiếp tục kết hợp hai danh sách RPT1 và RPT2 và sắp xếp theo thứ tự t ng ần các số thành phần của phần bên trái trong cặp.
Định ngh a 11: Cho SP là một tập bao g m tất cả các phần tử của RPT1và RPT2
)} , ( ),..., , ( ), , ( ),..., , {( 1 1 1 1 2 2 1 2 2 1 12 11 2 1 12 11 T M T M T T T L T L T T rp rp rp rp rp rp rp rp SP (2.9)
Định ngh a 12. Với một sp ∈SP, cho left(sp) biểu thị phần bên trái của sp, soure của sp ƣợc ịnh ngh l : 1 nếu sp từ T1 Soure (Sp) = (2.10) 0 ến từ iểm khác Ví dụ : nếu ( 1, 1) 12 11 T T rp rp sp thì 1 11 ) (sp rpT left và Soure (Sp) =1 Định ngh a 13: Cho CP(SP)=[(cp11,cp12)…(cp(L+M)1, cp(L+M)2] l nh sách ã sắp xếp : CP(SP) =[part_min(SP).CP(SP-{part_min(SP)})]. (2.11) Trong ó p rt_min(SP) = agr minspSP|left(sp)| là một toán tử ràng buộc.
Định ngh a 14:
Hai phân vùng (cpi1,cpi2) và (cpj1,cpj2) l tƣơng ƣơng với i j , nếu thỏa mãn những yếu tố sau:
(a) source((cpi1, cpi2))source((cpj1,cpj2)) ;
(b) |cpi1-cpj1|+|cpj1-cpi1| or |cpi1-cpj2|+|cpj2-cpi1|
Điều kiện ầu tiên cho thấy từ h i phân vùng MST khác nh u trong khi iều kiện thứ hai cho thấy số ỉnh ối diện giữ h i phân vùng l ủ nhỏ.
Thuật toán 2. Thuật toán phân cụm tự đ ng
Input: T1 và T2, hai vòng MST của một bộ dữ liệu con ƣợc t o bởi thuật toán 1.
Output: S , tập hợp các phân vùng dự kiến .
Bƣ c 2. Với mỗi (cpi1, cpi2 ) ∈ CP (SP), so sánh nó với (cpj1, cpj2) ∈ CP (SP) và j> i. Từ ịnh ngh 14, nếu t n t i một phân vùng (cpj1 cpj2) tƣơng ƣơng với (cpi1, cpi2) th ƣợc ƣ v o S
Bƣ c 3 Đối với mỗi s ∈ S, nếu t n t i một t ∈ S’ t ≠ s v tƣơng ƣơng với s ƣ s v o S
Bƣ c 4 : Kết hợp các phân vùng tƣơng ƣơng S
Trong thuật toán 2 ƣớc 3 l ể lo i bỏ các phân vùng không mong muốn trong quan sát 2 Để ơn giản, chỉ những phân vùng kh ng tƣơng tự bị lo i bỏ. Trong ƣớc 3, khi xác ịnh sự tƣơng ƣơng giữa t và s, chúng ta bỏ qua việc nó ến từ những MST khác hay không, từ gi i o n này chỉ quan tâm tới số các ỉnh ối diện ƣớc 4 kết hợp các phân vùng tƣơng ƣơng ng cách xếp các ỉnh ối diện vào hai nhóm về các (tỷ lệ hỗ trợ) t ch lũy ƣợc từ các phân vùng tƣơng ƣơng [3]
Nhận x t:
Thuật toán 1 tự ộng nhận d ng tách cụm và không ảnh hƣởng ến cặp cụm tự ch m nh u, thuật toán 1 và 2 có thể dễ dàng kết hợp ể ối phó với bất kỳ vấn ề n o về cụm. Khi tất cả các tập con phân chia bởi thuật toán 1 ƣợc ƣ v o thuật toán 2, th sự phân cụm sẽ có ƣợc kết quả phân nhóm thực o ó h i thuật toán có thể dễ dàng kết hợp ể t o phƣơng pháp 2 – MSTs.
Nhiều thuật toán phân cụm truyền thống không chắc chắn với những kích cỡ cụm, hình d ng và mật ộ. Tuy nhiên, kể từ khi cụm rời và cụm tự tách ƣợc ề xuất gần nhƣ có thể thỏ mãn y u cầu bao g m tất cả các lo i cụm (trừ cụm ch ng).
2.5. Đ ph c tạp của thuật to n 2-MSTs:
Sự phức t p trong tính toán của thuật toán 1 ƣợc phân t ch nhƣ s u:
Cho thị G(X) = (V, E), nếu ãy Fi on cci ùng ể thiết lập h ng ợi ƣu ti n nhỏ nhất, thời gian ch y thuật toán MST củ Prim l O(|E| + |V| log|V|) Nhƣ MST trong một phƣơng pháp phân cụm tr n thị thƣờng ƣợc xây dựng từ một thị ầy ủ ,| E | = |V| 2 và thời gian tính của thuật toán của Prim là O( |V|2).
Ở ƣớc 1, T1 và T2 ƣợc t o ra trong O(N2) trong khi ƣớc 3 xếp danh sách R nk(E’) trong O(N log N) ƣớc 4 lo i bỏ lặp l i một c nh củ G’(X’) v kiểm tra xem
có vết cắt h y kh ng trong O(| X |log| X’|) trong ó | X | N. Thời gian lặp từ ƣớc 2 ến ƣớc 6 là số các cụm rời trong bộ dữ liệu, nhìn chung là nhỏ hơn rất nhiều so với N. o ó ộ phức t p của thuật toán 1 là O(N2
).
Ở ƣớc 1 của thuật toán 2, xây dựng SP cần O(N2), và sắp xếp CP (SP) cần O(N log N). Kết quả l ƣớc 1 có thể ƣợc thực hiện trong O(N2). Việc lặp trong ƣớc 2 của thuật toán 2 có thể ƣợc hoàn thành trong O(N log N).
Cả h i ƣớc 3 và 4 trong thuật toán 2 ƣợc thực hiện trong O(N) Độ phức t p tính toán của thuật toán 2 là O(N2). Vậy phƣơng pháp 2-MSTClus g m các thuật toán 1 và 2 có thời gian t ng là O(N2).
CHƢƠNG 3: THỰC NGHIỆM NG DỤNG 3.1. Gi i thi u
Để làm sáng tỏ kỹ thuật phân cụm của thuật toán 2- MSTs ã tr nh y chƣơng tr nh sẽ thử nghiệm với 2 bộ dữ liệu li n qu n ến ngành hàng không, một bộ dữ liệu thực ƣợc thu thập từ t ng công ty hàng không Việt Nam, một bộ dữ liệu không thực(tự t o ể test thử chƣơng tr nh)
3.2. Chƣơng tr nh và kết quả thử nghi m 3.2.1. Chƣơng tr nh
Chƣơng tr nh viết b ng ngôn ngữ ASP. net trong môi trƣờng Visual Stadio 2010
Hình 3.1. Giao diện code chương trình
Hình 3.2. Giao diện khi chạy chương trình
3.2.2. ết quả thử nghi m
Từ tập ữ i u 1:
Tập dữ liệu g m 21 ối tƣợng và 10 thuộc tính, trong tập thuộc tính của dữ liệu có 7 thuộc tính có thông tin ảnh hƣởng trực tiếp ến quá trình phân cụm ó l các thuộctính có dữ liệu số.
Mỗi thuộc tính có dữ liệu số s u khi t nh toán T1 v T2 ể nhận ng tách cụm sẽ có 2 tập f i diện trong h nh 3 4 ã thể hiện iều ó.
Ví dụ: Với thuộc tính scbkehoach, có 2 tập f i diện ó l f1 v f2 trong ó f1 = 1 và f2 = 0, với f có giá trị b ng 1 thể hiển có kết nối ến từ T1, và f có giá trị b ng 0 thể hiện ến từ iểm khác ( ịnh ngh 12).
Hình 3.3. Bảng kế hoạch khai thác bay
Từ bảng kế ho ch kh i thác y t thu ƣợc bảng nhận d ng tách cụm nhƣ s u:
entropy ể tìm giá trị Gain tốt nhất dụng l m ộ o ể lựa chọn thuộc tính phân cụm (t m iểm chia cụm). Với entropy lần 1 t thu ƣợc bảng G in nhƣ h nh 3 5
Bảng Gain của các thuộc tính với entropy lân 1
Hình3.5: Bảng Gain của các thuộc tính
Từ bảng Gain ta nhận thấy f10 có giá trị lớn nhất nên thuộc tính f10 ƣợc chọn ể phân cụm. Vì f10 có 2 giá trị 0 và 1 nên ta có:
Với f10 nhận giá trị 0 ta có cụm
Với f10 nhận giá trị 1 ta có cụm
Hình 3.7: Bảng với f10 nhận giá trị 1
Với kết quả này ta không phải phân cụm cho f10 có giá trị 1 nữa vì nhận thấy các giá trị trong cụm ã có ộ tƣơng ng khá cao, nếu tiếp tục phân cụm thì sẽ có tính lặp l i.
Tiếp tục phân cụm f10 nhận giá trị 0 ta có bảng Gian của các thuộc t nh nhƣ s u
Ta nhận thấy vì Gain của f13 và f14 là lớn nhất, nên ta chọn thuộc tính f13 hoặc f14 ể phân cụm. Giả sử ta lấy f13, với f13 vì có 2 giá trị 0 và 1 nên ta có:
Với f13 nhận giá trị b ng 0 ta có cụm:
Hình 3.9: Bảng f13 nhận giá trị bằng 0
Với f13 nhận giá trị b ng 1 ta có cụm:
Hình 3.10: Bảng f13 nhận giá trị bằng 1
Với kết quả này ta không phải phân cụm cho f13 có giá trị b ng 0 và b ng 1 nữa vì nhận thấy các giá trị trong các cụm ã có ộ tƣơng ng khá cao, nếu tiếp tục phân cụm thì sẽ có tính lặp l i.
Nhƣ vậy với tập dữ liệu 1, sau khi sử dụng thuật toán 2 – MSTs t thu ƣợc 4 cụm nhƣ s u:
KẾT QUẢ C C CỤM ĐƢ C PH N CHIA
Hình 3.13. Bảng kết quả ph n cụm sau khi tính entropy lần 2
Hình 3.14. Bảng kết quả ph n cụm sau khi tính entropy lần 2
Nhận xét:
Trong 4 cụm ã tách ƣợc từ tập dữ liệu, mỗi cụm có một s ặc trƣng ri ng nhƣ sau: Cụm có số chuyến bay hủy thì không có th y i lịch bay, cụm có th y i lịch bay thì không có số chuyến bay hủy, hay cụm không có số chuyến bay hủy cũng nhƣ kh ng có th y i lịch bay,.. từ những tri thức thu ƣợc n y nh iều khiển bay có thể tận dụng ể khai thác trên các sân bay hay thị trƣờng ó ể phục vụ cho lợi ích của mình.
Từ tập ữ i u 2:
Tập dữ liệu n y ƣợc thử nghiệm với 11 ối tƣợng và 10 thuộc tính, dữ liệu ƣ v o rất thiếu thực tế, không có tính logic nên t m gọi là dữ liệu không thực.
Hình 3.15. Bảng dữ liệu thử nghiệm lần 2
Hình 3.16. Bảng sau khi tính toán 1 và 2 nhận dạng tách cụm
Với cách thức thử nghiệm tƣơng tự nhƣ với tập dữ liệu 1, sau khi phân cụm thuật toán cũng ƣ r ƣợc 4 cụm nhƣ s u:
KẾT QUẢ C C CỤM ĐƢ C PH N CHIA
Hình 3.17. Bảng kết quả ph n cụm sau khi tính enropy lần 1
Hình 3.18. Bảng kết quả ph n cụm sau khi tính enropy lần 2
Nhận xét:
Vậy với dữ liệu không thực thì sau khi tiến hành thí nghiệm, kết quả vẫn cho ta là 4 cụm nhƣng thực chất là chỉ có 2 cụm vì có sự trùng lặp giữa các cụm. Vậy với dữ liệu xa thực tế với ngƣời sử dụng, không có tính logic thì kết quả sẽ bị sai lệch.
KẾT LUẬN
Sau một thời gian làm việc ƣới sự hƣớng dẫn tận tình của thầy giáo PGS.TS
Hoàng Xuân Huấn luận v n củ em ã t ƣợc các kết quả s u ây:
1. T ng hợp l i kiến thức về khám phá tri thức và phân cụm dữ liệu. 2. Tìm hiểu thuật toán 2-MSTs ã ƣợc ề xuất v c i ặt thuật toán.
3. Thử nghiệm thuật toán với 2 bộ dữ liệu li n qu n ến ng nh h ng kh ng v ƣ ra kết quả thử nghiệm, so sánh v ánh giá các kết quả.
- Do thời gian nghiên cứu có h n v n ng lực bản thân còn h n chế, luận v n chắc chắn sẽ còn nhiều thiếu sót. Tôi rất mong nhận ƣợc ý kiến óng góp của các Thầy Cô.
- Trong thời gian tới, tôi sẽ cố gắng tìm hiểu nhiều hơn nữa về các phƣơng pháp phân cụm dữ liệu ặc biệt l phƣơng pháp phân cụm dữ liệu dự tr n thị sử dụng cây khung cực tiểu và cố gắng mở rộng ứng dụng của thuật toán vào nhiều bài toán thực tế.
- Em xin cảm ơn Thầy PGS.TS. Hoàng Xuân Huấn về sự hỗ trợ chân thành và nhiệt tình trong suốt thời gian qua.
- Em xin gửi lời cảm ơn chân th nh ến các thầy c ộ ã giảng y các cán ộ trong kho c ng nghệ th ng tin kho s u i học ph ng t chức h nh ch nh
TÀI LIỆU THAM KHẢO Tiếng vi t
[1] PGS.TS Hoàng Xuân Huấn (2012), Giáo trình Nhận dạng mẫu Trƣờng Đ i học công nghệ - Đ i Học Quốc Gia Hà Nội.
[2]. PGS.TS Đỗ Đức Giáo, Toán học rời r c Giáo tr nh kho CNTT ĐHKHTN ĐHQGHN 1998
Tiếng Anh
[3] Caiming Zhong1,2,3, Duoqian Miao1,2,4, Ruizhi Wang1,2, Agraph-theoretical clustering method based on two rounds ofminimum spanning trees,
1) Department of Computer Science and Technology, Tongji University, Shanghai 201804, PR China
2) Key Laboratory of Embedded System & Service Computing, Ministry of Education of China, Shanghai 201804, PR China
3) College of Science and Technology, Ningbo University, Ningbo 315211, PR China
4) Corresponding author at: Department of Computer Science and Technology, Tongji University, Shanghai 201804, PR China.
[4] Alan Rea (1009), Data mining - An introdution, The Parallel Computer Center, The Queen’s University of elf st
[5] Daniel T.Larose, Discovering knowledge in data, Wiley Publishing 2011.
[6] Jiawei Han, Micheline Kamber, Data Mining Concepts and techniques, Second Edition, Elsevier Inc, 2011.
[7] Ji wei H n n Micheline K m er (2001) “ t Mining: Concepts n Techniques”
Hacours Science and Technology Company, USA.
[8] L. John, “Operational Data Stores: Building an Effective Strategy”, Data Warehouse: Practical Advive from the Experts, Prentice Hall, NJ, 2009.
[9] P. Berkhin: Survey of Clustering Data Mining Techniques. Research paper. Accrue Software, Inc, http://www.accrue.com, 2009.
[10] Anil K.Jain, Richard C.Dubes (1988), Algorithms for Clustering Data.
[11] niel r r Juli Couto Yi Li (Octo er 1 2001) “COOLCAT: An entropy- se lgorithm for c tegoric l clustering” George MasonUniversity Information and Software Engineering Department Fairfax, VA22030, pp. 582 - 589.
[12] MARIA HALKI I (2001) “On Clustering V li tion Techniques” Kluwer Academic Publishers, Holland
[13] Usama M. Fayyad, Gregory Piatetsky-Sh piro P hr ic Smyth (1996) “From t Mining to Knowle ge iscovery”: An Overview, Advances in Knowledge Discovery and Data Mining 1996, pp. 37 - 54.
[14] S. Ghosh, S.K. Dubey (2013), Comparative Analysis of K-Means and Fuzzy C- Means Algorithms, International Journal of Advanced Computer Science and Applications, Vol. 4, No.4, pp. 35-39.