Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,21 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ISO 9001:2008 ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THƠNG TIN HẢI PHỊNG 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - PHÂN CỤM DỮ LIỆU BÀI TOÁN VÀ CÁC GIẢI THUẬT THEO TIẾP CẬN PHÂN CẤP ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin HẢI PHỊNG - 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - PHÂN CỤM DỮ LIỆU BÀI TOÁN VÀ CÁC GIẢI THUẬT THEO TIẾP CẬN PHÂN CẤP ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Giáo viên hướng dẫn: PGS.TS Nguyễn Thanh Tùng Sinh viên: Phạm Ngọc Sâm Mã sinh viên: 1351010049 HẢI PHÒNG - 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên: Phạm Ngọc Sâm Mã sinh viên: 1351010049 Lớp: CT1301 Ngành: Công nghệ thông tin Tên đề tài: Phân cụm liệu: Bài toán giải thuật theo tiếp cận phân cấp NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung: - Thế khai phá liệu, khám phá tri thức từ sở liệu - Kỹ thuật phân cụm liệu khai phá liệu, phân loại thuật toán phân cụm lĩnh vực ứng dụng tiêu biểu - Một số thuật toán phân cụm theo tiếp cận phân cấp: Thuật toán CURE, thuật toán BIRCH Xây dựng chương trình demo số thuật tốn phân cụm phân cấp trình bày b Các yêu cầu cần giải quyết: - Về lý thuyết: Nắm nội dung 1-3 mục a - Về thực hành: Xây dựng chương trình demo số thuật tốn phân cụm phân cấp trình bày Các số liệu cần thiết để thiết kế, tính tốn Địa điểm thực tập tốt nghiệp CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ tên: Nguyễn Thanh Tùng Học hàm, học vị: Phó giáo sư, Tiến sĩ Cơ quan công tác: Nguyên cán nghiên cứu Viện Khoa học Công nghệ Việt Nam Nội dung hướng dẫn: Đề tài tốt nghiệp giao ngày 25 tháng 03 năm 2013 Yêu cầu hoàn thành xong trước ngày 25 tháng 06 năm 2013 Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Đã nhận nhiệm vụ: Đ.T.T.N Người hướng dẫn Đ.T.T.N Phạm Ngọc Sâm PGS.TS Nguyễn Thanh Tùng Hải phòng, ngày……tháng….năm 2013 HIỆU TRƯỞNG GS.TS.NGƢT Trần Hữu Nghị PHẦN NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lượng khóa luận (so với nội dung yêu cầu đề nhiệm vụ Đ.T T.N mặt lý luận, thực tiễn, tính tốn số liệu…): Cho điểm cán hướng dẫn (ghi số chữ): Hải phòng, ngày …tháng …năm 2013 Cán hướng dẫn (Ký ghi rõ họ tên) PHIẾU NHẬN XÉT TÓM TẮT CỦA NGƢỜI CHẤM PHẢN BIỆN Đánh giá chất lượng đề tài tốt nghiệp mặt thu thập phân tích số liệu ban đầu, sở lý luận chọn phương án tối ưu, cách tính tốn chất lượng thuyết minh vẽ, giá trị lý luận thực tiễn đề tài ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Cho điểm cán phản biện (ghi số chữ) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Hải Phòng, ngày…tháng … năm 2013 Cán phản biện LỜI CẢM ƠN Với lòng biết ơn sâu sắc, xin chân thành cảm ơn thầy giáo PGS.TS Nguyễn Thanh Tùng định hướng giúp đỡ tơi tận tình suốt q trình làm khóa luận Tôi xin chân thành cảm ơn thầy, cô giáo khoa Công nghệ thông tin truyền dạy kiến thức thiết thực suốt trình học, đồng thời xin cảm ơn nhà trường tạo điều kiện tốt cho tơi hồn thành khóa luận Trong phạm vi hạn chế khóa luận tốt nghiệp, kết thu cịn q trình làm viêc khó tránh khỏi thiếu sót, tơi mong nhận góp ý thầy giáo bạn Hải phịng, ngày 25 tháng 06 nắm 2013 Sinh viên Phạm Ngọc Sâm DANH MỤC HÌNH VÀ CÁC CHỮ VIẾT TẮT Hình 1.1: Các bước thực trình khai phá liệu Hình 2.1: Mơ vấn đề phân cụm liệu Hình 2.2 2.7: Quá trình phân cụm từ “bắt đầu” “kết thúc” Hình 2.8: Bảng tham số, Hình 2.9: Một số hình dạng cụm liệu khám phá kỹ thuật PCDL dựa mật độ Hình 2.10 : Mơ hình cấu trúc liệu lưới Hình 2.11: Phân cụm phân cấp Top-down Bottom-up Hình 2.12: Xác định CF Hình 2.13: Ví dụ CF Hình 2.14 2.19: Mơ tả q trình chèn mục vào CF Hình 2.20: Cụm liệu khai phá thuật tốn CURE Hình 2.21: Kết trình phân cụm CSDL: Cơ sở liệu KDD: Khai phá tri thức sở liệu - Knowledge Discovery in Databases PCDL: Phân cụm liệu CF: Cluster Features BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) CURE (Clustering Using Representatives) Bƣớc 2: Nếu CF thời khơng có đủ nhớ tiến hành dựng CF nhỏ hơn: kích thước CF điều khiển tham số T việc chọn giá trị lớn cho hịa nhập số cụm thành cụm, điều làm cho CF nhỏ Bước không cần yêu cầu bắt đầu đọc liệu lại từ đầu đảm bảo hiệu chỉnh liệu nhỏ Bƣớc 3:Thực phân cụm: nút CF lưu giữ đại lượng thống kê cụm Trong bước này, BIRCH sử dụng đại lượng thống kê để áp dụng số kĩ thuật phân cụm ví dụ k-means tạo khởi tạo cho phân cụm Bƣớc 4: Phân phối lại đối tượng liệu cách dùng đối tượng trọng tâm cho cụm khám phá từ bước 3: bước tùy chọn để duyệt lại tập liệu gán nhãn lại cho đối tượng liệu tới trọng tâm gần Bước nhằm để gán nhãn cho liệu khởi tạo loại bỏ đối tượng ngoại lai Khái quát thuật toán phân cụm BIRCH Dữ liệu Bước 1: Xây dựng CF Cây CF ban đầu Bước (tùy chọn): Xây dựng CF nhỏ CF thời khơng có đủ nhớ Cây CF nhỏ Bước 3: Thực phân cụm Cụm tốt Bước (tùy chọn): Làm mịn Cụm tốt 42 Dòng điều khiển Bƣớc Bắt đầu với CF t1 T ban đầu Tiếp tục quét liệu chèn vào t1 Kết thúc quét liệu Tràn nhớ Kết quả? (1) Tăng T (2) Tái thiết CF t2 T từ CF t1: mục (entry) t1 outlier tiềm ẩn đĩa trống (3) t1 t2 Nếu không Hết dung lượng đĩa Kết quả? Tái hấp thụ giá trị ngoại lai tiềm ẩn vào t1 Tái hấp thụ giá trị ngoại lai tiềm ẩn vào t1 Các vấn đề cần quan tâm Bƣớc 1: – Xây dựng lại CF – Giá trị ngưỡng T – Outlier-handling Option – Delay Split Option 1) Xây dựng lại CF Trong bước ta sử dụng tất mục CF cũ để xây dựng lại CF với ngưỡng lớn Trong trình xây dựng lại ta cần điểu chỉnh đường tới nút Đường tới nút tương ứng với đường tới nút 43 Thuật toán xây dựng lại thuật tốn qt giải phóng đường cũ, tạo đường cho Kích thước phải nhỏ trước Việc chuyển từ cũ sang cần thêm h trang nhớ, h chiều cao cũ Thuật toán tái xây dựng Bƣớc 1: Bắt đầu xây dựng lại từ đường bên trái cũ Đối với đường dẫn cũ (OldCurrentPath-OCP), tạo tương ứng đường dẫn (NewCurrentPath-NCUP) (khơng lớn hơn) Tìm đường gần (NewClosestPath -NCLP) cho mục OCP N Y NCLP trước NCUP ? N Mục phù hợp NCLP ? Y Y Chèn mục vào NCUP Chèn mục vào NCUP Không gian trống OCP NCUP N Y Hoàn thành? 44 Kết thúc Xây dựng lại CF 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) 1 1 2 2 3 3 4 Giải phóng nút cũ (3,1) (3,2) (3,4) OldCurrentPath (OCP) NewClosestPath (NCLP) 45 NewCurrentPath(NCUP) 2) Giá trị ngưỡng T Để tăng ngưỡng ta sử dụng phương pháp heuristic Lựa chọn giá trị ngưỡng cho số lượng điểm liệu quét giá trị ngưỡng mới: Phương pháp 1: Tìm nút đơng hai mục gần sáp nhập ngưỡng Phương pháp 2: Giả sử lượng chiếm đóng cụm tăng tuyến tính với điểm liệu loạt cặp giá trị: số lượng điểm liệu khối lượng => khối lượng (một điểm liệu mới, sử dụng tối thiểu hồi quy tuyến tính) => ngưỡng Sử dụng số phương pháp heuristic để điều chỉnh hai ngưỡng chọn 3) Outlier-handling option Outlier là giá trị ngoại lai hay nhiễu, CF đóng vai trị mục mật độ thấp, đánh giá quan trọng mơ hình phân nhóm tổng thể Sử dụng số không gian đĩa để xử lý giá trị ngoại lai Khi xây dựng lại CF, mục cũ ghi vào đĩa coi outlier tiềm Điều làm giảm kích thước CF Một outlier khơng đủ tiêu chuẩn khi: Tăng giá trị ngưỡng; Sự thay đổi việc phân phối nhiều liệu đọc Quét outlier tiềm để hấp thu mà khơng gây phát triển q kích thước cây: Hết không gian đĩa Tất điểm liệu quét 4) Delay-Split option Khi hết nhớ Có thể có nhiều điểm liệu phù hợp CF Chúng ta tiếp tục đọc liệu điểm ghi điểm liệu cần chia nút vào đĩa hết không gian đĩa Ưu điểm phương pháp nhiều điểm liệu phù hợp trước phải xây dựng lại 46 Đánh giá thuật toán BIRCH Với cấu trúc CF sử dụng, BIRCH có tốc độ thực phân cụm liệu nhanh áp dụng tập liệu lớn, đặc biệt, BIRCH hiệu áp dụng với tập liệu tăng trưởng theo thời gian BIRCH duyệt toàn liệu lần với lần quét thêm tùy chon, nghĩa độ phức tạp O(n), với n đối tượng liệu Thuật toán kết hợp cụm gần xây dựng lại CF, nhiên nút CF lưu trữ số hữu hạn kích thước Hạn chế: Thuật tốn khơng xử lý tốt cụm khơng có hình dạng cầu, sử dụng khái niệm bán kính đường kính để kiểm sốt ranh giới cụm chất lượng cụm khám phá không tốt Nếu BIRCH sử dụng khoảng cách Eucle, thực tốt với liệu số Mặc khác, tham số vào T có ảnh hưởng lớn tới kích thước tính tự nhiên cụm Việc ép đối tượng liệu làm cho đối tượng cụm đối tượng kết thúc cụm khác, đối tượng gần hút cụm khác chúng biểu diễn cho thuật tốn theo thứ tự khác BIRCH khơng thích hợp với liệu đa chiều 2.6.2 Thuật tốn CURE CURE (Clustering Using Representatives – Phân cụm liệu sử dụng điểm đại diện) thuật toán sử dụng chiến lược lên (Botton-Up) kĩ thuật phân cụm phân cấp Trong hầu hết thuật toán thực phân cụm với cụm hình cầu kích thước tương tự, không hiệu xuất phần tử ngoại lai Thuật toán định nghĩa số cố định điểm đại diện nằm rải rác tồn khơng gian liệu chọn để mơ tả cụm hình thành Các điểm tạo trước hết lựa chọn đối tượng nằm rải rác cụm sau “co lại” di chuyển chúng trung tâm cụm nhân tố co cụm Quá trình lặp lại trình này, đo tỷ lệ gia tăng cụm Tại bước thuật tốn, hai cụm có cặp điểm đại diện gần (mỗi điểm cặp thuộc cụm khác nhau) hòa nhập Như vậy, có nhiều điểm đại diện cụm cho phép CURE khám phá cụm có hình dạng khơng phải hình cầu Việc co lại cụm có tác dụng làm giảm tác động phần tử ngoại lai Như vậy, thuật tốn có khả xử lý tốt trường hợp có phần tử ngoại lai làm cho hiệu với 47 hình dạng khơng phải hình cầu kích thước độ rộng biến đổi Hơn nữa, tỷ lệ tốt với CSDL lớn mà không làm giảm chất lượng phân cụm Đặt c điểm đại diện cho cụm, chọn c rải rác cho nắm bắt hình dạng vật lý hình học cụm Các điểm sau “co lại” di chuyển chúng trung tâm cụm nhân tố co cụm α k { u:=extract_min(Q) v:=u.closest delete(Q,v) w:=merge(u,v) delete_rep(T,u); delete_rep(T,v); insert_rep(T,w) w.closest:=x /* x is an arbitrary cluster in Q */ for each x Q do{ if dist (w,x) < dist(w,w.closest) w.closest:=x if x.closest is either u or v { if dist(x,x.closest) < dist(x,w) x.closest:=closest_cluster(T,x,dist(x,w)) else x.closest:=w relocate(Q,x) } else if dist(x,x.closest)> dist(x,w) { x.closest:=w relocate(Q,x) } } insert(Q,w) } End Procedure merge(u,w) Begin w:=u v w.mean:= u u.mean u v v.mean v tmpSet:=∅ for i:=1 to c { maxDist:=0 foreach point p in cluster w { if i=1 minDist:=dist(p,w.mean) else minDist:=min{dist(p,q):q tmpSet} if (minDist ≥ maxDist) { maxDist:=mainDist maxPoint:=p 50 } tmpSet:=tmpSet { maxPoint} } Foreach point p in tmpSet w.rep:=w.rep {p+α*(w.mean-p)} return w End Độ phức tạp tính tốn thuật tốn CURE O(n2log(n)) Độ phức tạp khơng gian O (n) việc sử dụng kd-tree heap CURE thuật toán tin cậy việc khám phá cụm với hình thù áp dụng tốt liệu có phần tử ngoại lai tập liệu hai chiều Tuy nhiên, lại nhạy cảm với tham số số đối tượng đại diện, tỉ lệ co phần tử đại Đánh giá thuật toán CURE Ƣu điểm: Bằng cách sử dụng đại diện cho cụm, CURE có khả khám phá cụm có hình thù kích thước tập liệu lớn Việc co đối tượng đại diện có tác dụng làm giảm tác động đối tượng ngoại lai Do CURE xử lý tốt đối tượng ngoại lai Tốc độ thực CURE nhanh O(N) Nhƣợc điểm: CURE dễ bị ảnh hưởng tham số cho người dùng cỡ mẫu, số cụm mong muốn 2.10 Kết luận chƣơng Khai liệu vấn đề cần thiết sống Từ khai phá liệu phát tri thức Có nhiều cách để người khai phá liệu cách phân cụm liệu Chương trình bày khái quát kỹ thuật phân cụm liệu: phát biểu toán, kiểu liệu thường gặp, độ đo đo khoảng cách, độ tương tự, phương pháp tiếp cận toán phân cụm liệu Phương pháp tiếp cận phân cấp với thuật tốn CURE BIRCH nội dung chương trình bày chi tiết 51 CHƢƠNG 3: CHƢƠNG TRÌNH DEMO Để có nhìn trực quan thuật tốn phân cụm phân cấp em xin trình bày chương trình demo đơn giản thuật tốn CURE 3.1 Bài toán lƣu đồ thuật toán Input: Mảng S chứa điểm không gian chiều, điểm đặc trưng thuộc tính (x,y), k số cụm cần chia Output: Các nhóm (cụm) điểm, điểm gần gom vào nhóm với mục tiêu k cụm theo thuật toán CURE Lƣu đồ thuật toán Begin Input S,k T=build_kd_tree(S) Q=build_heap(S) Size(Q)>k u=extract_min(Q) delete(Q,v) delete_rep(T,u) insert_rep(T,w) w.closest = = u or v False v=u.closest w=merge(u,v) delete_rep(T,v) w.closest=x x Q dist(x,x.closest) > dist(x,w) dist(w,x)