đồ án máy học nâng cao + code

20 699 49
đồ án máy học nâng cao + code

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH - - BÁO CÁO ĐỒ ÁN MÁY HỌC NÂNG CAO ĐỀ TÀI: THUẬT TOÁN GOM CỤM K-MEANS VÀ ỨNG DỤNG GV hướng dẫn : Hồ Long Vân SV thực hiện: Nguyễn Anh Duy – 12520103 ……………………………… ……………………………… MỤC LỤC PHẦN I : GIỚI THIỆU 1.1 – Gom cụm…………………………………… 1.2 – Các phương pháp gom cụm……………… PHẦN II: THUẬT TOÁN K-MEANS 2.1 - Giới thiệu thuật toán K-MEANS……… 2.2 - Thuật toán K-MEANS 2.3 – Demo thuật toán 2.4 - Ứng dụng thuật toán K-MEANS 2.5 - Một số biến dạng thuật toán K-MEAN PHẦN III: TÀI LIỆU THAM KHẢO PHẦN I : GIỚI THIỆU 1.1 Gom cụm: A:Định nghĩa Gom cụm nhìn từ góc độ tự nhiên việc bình thường mà làm thực hàng ngày ví dụ phân loại học sinh khá, giỏi lớp, phân loại đất đai, phân loại tài sản, phân loại sách thư viện… Việc phân loại thực gom đối tượng có tính chất hay có tính chất gần giống thành nhóm Để thực phân loại đối tượng đó, đặt câu hỏi, phân nhóm dựa yếu tố nào? Hoặc định phân thành nhóm? Một số ví dụ minh họa Ví dụ gom cụm ảnh Hay trường hợp tổng quát Ta phân hoạch nhóm phần tử tập hợp xác định vào cụm khác theo thuộc tính chung phần tử Gom cụm B Quá trình gom cụm : - Là trình ta phân hoạch đối tượng vào cụm nhóm - Các đối tượng cụm,nhóm có đặc điểm giống so với phần tử nhóm,cụm khác Trước thực trình gom cụm ta cần phải trả lời câu hỏi sau - Mỗi cụm nên có phần tử - Các phần tử nên gom vào cụm - Bao nhiêu cụm nên tạo Quá trình gom cụm minh họa qua sơ đồ sau : 1.2 Các phương pháp gom cụm A Các yêu cầu tiêu biểu việc gom cụm liệu : - Khả co giãn tập liệu (scalability) - Khả xử lý nhiều kiểu thuộc tính khác (different types of attributes) - Khả khám phá cụm với hình dạng tùy ý (clusters with arbitrary shape) - Tối thiểu hóa yêu cầu tri thức miền việc xác định thông số nhập (domain knowledge for input parameters) - Khả xử lý liệu có nhiễu (noisy data) - Khả gom cụm tăng dần độc lập với thứ tự liệu nhập (incremental clustering and insensitivity to the order of input records) - Khả xử lý liệu đa chiều (high dimensionality) - Khả gom cụm dựa ràng buộc (constraint-based clustering) - Khả diễn khả dụng (interpretability and usability) B Các phương pháp gom cụm liệu tiêu biểu : - Phân hoạch (partitioning): phân hoạch tạo đánh giá theo tiêu chí - Phân cấp (hierarchical): phân rã tập liệu/đối tượng có thứ tự phân cấp theo tiêu chí - Dựa mật độ (density-based): dựa connectivity and density functions - Dựa lưới (grid-based): dựa a multiple-level granularity structure - Dựa mô hình (model-based): mô hình giả thuyết đưa cho cụm; sau hiệu chỉnh thông số để mô hình phù hợp với cụm liệu/đối tượng Sơ đồ thuật toán gom cụm PHẦN II : THUẬT TOÁN K-MEANS 2.1 – Giới thiệu thuật toán K-means : Đây thuật toán tiếng sử dụng nhiều hướng tiếp cận phân nhóm phân hoạch Thuật toán có nhiều biến thể khác đưa J.B MacQueen vào năm 1967 Đầu vào thuật toán tập gồm n mẫu số nguyên K Cần phân n đối tượng thành K cụm cho giống mẫu cụm cao đối tượng khác cụm khác Tư tưởng thuật toán sau: Đầu tiên chọn ngẫu nhiên K mẫu, mẫu coi biểu diễn cụm, lúc cụm đối mẫu tâm cụm (hay gọi nhân) Các mẫu lại gán vào nhóm K nhóm có cho tổng khoảng cách từ nhóm mẫu đến tâm nhóm nhỏ Sau tính lại tâm cho nhóm lặp lại trình hàm tiêu chuẩn hội tụ Hàm tiêu chuẩn hay dùng hàm tiêu chuẩn sai-số vuông Thuật toán áp dụng CSDL đa chiều, để dễ minh họa mô tả thuật toán liệu hai chiều 2.2 – Thuật toán K-means : Thuật toán k-means mô tả cụ thể sau: Input: K, liệu n mẫu CSDL Output: Một tập gồm K cluster cho cực tiểu tổng sai-số vuông Thuật toán: Bước 1: Chọn ngẫu nhiên K mẫu vào K cluster Coi tâm cluster mẫu có cluster Bước 2: Tìm tâm cluster Bước 3: Gán (gán lại) mẫu vào cluster cho khoảng cách từ mẫu đến tâm cluster nhỏ Bước 4: Nếu cluster thay đổi sau thực bước chuyển sang bước 5, ngược lại sang bước Bước 5: Dừng thuật toán Start Number of clusster K Centroid Distance objects to centroids Grouping based on minimum distance No object move froup End – + Mô tả thuật toán K-Means Ví dụ: Giả sử không gian hai chiều, cho 12 điểm (n = 12) cần phân 12 điểm thành hai cluster (k=2) Đầu tiên chọn hai điểm ngẫu nhiên vào hai cluster, giả sử chọn điểm (1,3) điểm (9,4) (điểm có màu đỏ hình 9.a) Coi điểm (1,3) tâm cluster điểm (9,4) tâm cluster hai Tính toán khoảng cách từ điểm khác đến hai điểm ta gán điểm lại vào hai cluster, điểm có màu xanh lơ vào cluster 1, điểm có màu xanh đậm vào cluster (hình 9.b) Hiệu chỉnh lại tâm hai cluster, điểm màu đỏ hình 9.c tâm hai cluster Tính lại khoảng cách điểm đến tâm gán lại điểm này, hình 9d Tiếp tục hiệu chỉnh lại tâm hai cluster Cứ lặp lại không thay đổi dừng Khi ta thu output tóan Hình Ví dụ minh họa thuật toán k-means Ví dụ : Giả sử ta có loại thuốc A,B,C,D, loại thuộc biểu diễn đặc trưng X Y sau Mục đích ta nhóm thuốc cho vào nhóm (K=2) dựa vào đặc trưng chúng object Medicine A Medicine B Medicine C Medicine D Feature (X): weight index Feature (X): pH 1 Bước Khởi tạo tâm (centroid) cho nhóm Giả sử ta chọn A tâm nhóm thứ (tọa độ tâm nhóm thứ c1(1,1)) B tâm nhóm thứ (tạo độ tâm nhóm thứ hai c2 (2,1)) Bước Tính khoảng cách từ đối tượng đến tâm nhóm (Khoảng cách Euclidean) Mỗi cột ma trận khoảng cách (D) đối tượng (cột thứ tương ứng với đối tượng A, cột thứ tương ứng với đối tượng B,…) Hàng thứ ma trận khoảng cách biểu diễn khoảng cách đối tượng đến tâm nhóm thứ (c1) hàng thứ ma trận khoảng cách biểu diễn khoảng cách đối tượng đến tâm nhóm thứ (c2) Ví dụ, khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) 3.61 đến tâm c2(2,1) 2.83 tính sau: Bước Nhóm đối tượng vào nhóm gần Ta thấy nhóm sau vòng lặp thứ gồm có đối tượng A nhóm gồm đối tượng lại B,C,D Bước Tính lại tọa độ tâm cho nhóm dựa vào tọa độ đối tượng nhóm Nhóm có đối tượng A nên tâm nhóm không đổi, c1(1,1) Tâm nhóm tính sau: Bước Tính lại khoảng cách từ đối tượng đến tâm Bước Nhóm đối tượng vào nhóm Bước Tính lại tâm cho nhóm Bước Tính lại khoảng cách từ đối tượng đến tâm Bước 10 Nhóm đối tượng vào nhóm Ta thấy G2 = G1 (Không có thay đổi nhóm đối tượng) nên thuật toán dừng kết phân nhóm sau: Object Feature Medicine A Medicine B Medicine C Medicine D weight index (X): Future (X); pH 1 Ưu điểm : - Dễ hiểu cài đặt Hạn chế : - Phụ thuộc vào số nhóm K chọn ban đầu Group (result) 1 2 - Chi phí cho thực vòng lặp tính toán khoảng cách lớn số cụm K liệu phân cụm lớn 2.3 - Demo thuật toán K-Means Mở project KmeansDemo từ visual studio Đổi đường dẫn chạy chương trình Vào xem kết thư mục result Các đoạn text thư mục test phân thành cụm group_0, group_1, group_2 2.4 - Ứng dụng thuật toán K-Means Trong ví dụ này, giới thiệu cách xây dựng KnowledgeFlow để triển khai kỹ thuật phân cụm dựa thuật toán K-Means Data Mining Software WeKa Link download: http://www.cs.waikato.ac.nz/ml/weka/downloading.html Dữ liệu dùng để phân cụm ví dụ liệu dùng để phân loại khách hàng ngân hàng gồm có 11 thuộc tính 600 khách hàng (file bank.arff).Nhiệm vụ dùng thuật toán K-Means để phân nhóm khách hàng vào K nhóm (trong ví dụ K=5) dựa vào tương tự (similar) 11 thuộc tính họ Ta xây dựng KnowledgeFlow WeKa sau: Thiết lập tham số cho thuật toán K-Means số cụm (trong ví dụ K=5), Cách tính khoảng cách (trong ví dụ dùng khoảng cách Euclidean),… Kết phân cụm chi tiết sau: 2.5 - Một số biến dạng thuật toán K-Means : - Phương pháp k- medoids; - Phương pháp Fuzzy c-mean; - Phương pháp Incremental K-Means; TÀI LIỆU THAM KHẢO http://bis.net.vn/forums/t/374.aspx?PageIndex=1 http://en.wikipedia.org/wiki/K-means_clustering [...]... tượng) nên thuật toán dừng và kết quả phân nhóm như sau: Object Feature 1 Medicine A Medicine B Medicine C Medicine D weight index 1 2 4 5 (X): Future 2 (X); pH 1 1 3 4 Ưu điểm : - Dễ hiểu và cài đặt Hạn chế : - Phụ thuộc vào số nhóm K chọn ban đầu Group (result) 1 1 2 2 - Chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn 2.3 - Demo của thuật toán K-Means Mở project... toán K-Means để phân nhóm các khách hàng vào K nhóm (trong ví dụ này K=5) dựa vào sự tương tự (similar) trên 11 thuộc tính của họ Ta xây dựng một KnowledgeFlow trong WeKa như sau: Thiết lập các tham số cho thuật toán K-Means như số cụm (trong ví dụ này K=5), Cách tính khoảng cách (trong ví dụ này dùng khoảng cách Euclidean),… Kết quả phân cụm chi tiết như sau: 2.5 - Một số biến dạng của thuật toán... trong thư mục result Các đoạn text trong thư mục test đã được phân thành 3 cụm trong group_0, group_1, group_2 2.4 - Ứng dụng của thuật toán K-Means Trong ví dụ này, tôi sẽ giới thiệu cách xây dựng một KnowledgeFlow để triển khai kỹ thuật phân cụm dựa trên thuật toán K-Means trên Data Mining Software WeKa Link download: http://www.cs.waikato.ac.nz/ml/weka/downloading.html Dữ liệu dùng để phân cụm trong...Hình Ví dụ minh họa thuật toán k-means Ví dụ 2 : Giả sử ta có 4 loại thuốc A,B,C,D, mỗi loại thuộc được biểu diễn bởi 2 đặc trưng X và Y như sau Mục đích của ta là nhóm các thuốc đã cho vào 2 nhóm (K=2) dựa vào các đặc trưng của ... II: THUẬT TOÁN K-MEANS 2.1 - Giới thiệu thuật toán K-MEANS……… 2.2 - Thuật toán K-MEANS 2.3 – Demo thuật toán 2.4 - Ứng dụng thuật toán K-MEANS 2.5 - Một số biến dạng thuật toán K-MEAN PHẦN... liệu/đối tượng Sơ đồ thuật toán gom cụm PHẦN II : THUẬT TOÁN K-MEANS 2.1 – Giới thiệu thuật toán K-means : Đây thuật toán tiếng sử dụng nhiều hướng tiếp cận phân nhóm phân hoạch Thuật toán có nhiều... dùng hàm tiêu chuẩn sai-số vuông Thuật toán áp dụng CSDL đa chiều, để dễ minh họa mô tả thuật toán liệu hai chiều 2.2 – Thuật toán K-means : Thuật toán k-means mô tả cụ thể sau: Input: K, liệu

Ngày đăng: 06/12/2015, 22:36