Khai phá dữ liệu Data Mining là một bước trong quá trình khám phá tri thức và được định nghĩa: là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Thu Hiền
Các kỹ thuật phân cụm trong khai phá dữ liệu
LUẬN VĂN THẠC SĨ
Hà Nội - 2009
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Thu Hiền
Các kỹ thuật phân cụm trong khai phá dữ liệu
Ngành: Công Nghệ Thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Các kỹ thuật phân cụm trong khai phá dữ liệu”
là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn được
sử dụng trung thực Những kết luận của luận văn chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào khác
Học viên thực hiện
Nguyễn Thị Thu Hiền
Trang 4LỜI CẢM ƠN
Luận văn được hoàn thành dưới sự hướng dẫn, chỉ bảo tận tình, chu đáo của PGS.TS Vũ Đức Thi Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến Thầy cùng sự giúp đỡ nhiệt tình của Thầy trong suốt quá trình tôi thực hiện luận văn
Tôi xin cảm ơn các Thầy, Cô giáo và các Cán bộ trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền thụ kiến thức, kinh nghiệm học tập, nghiên cứu khoa học cho tôi trong suốt quá trình học tập tại trường
Tôi cũng xin gửi lời cảm ơn tới trường Đại học Sư phạm Thái Nguyên, Khoa Toán, Tổ Tin học và các đồng nghiệp đã tạo điều kiện cho tôi thực hiện tốt kế hoạch học tập của mình
Cuối cùng, tôi xin bày tỏ lòng biết ơn tới gia đình tôi đã luôn bên cạnh động viên, ủng hộ và tạo điều kiện tốt nhất cho tôi học tập và hoàn thành luận văn này
Học viên thực hiện
Nguyễn Thị Thu Hiền
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5
DANH MỤC BẢNG BIỂU 6
DANH MỤC HÌNH VẼ, ĐỒ THỊ 7
LỜI MỞ ĐẦU 9
CHƯƠNG 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 11
1.1 Quá trình khám phá tri thức trong cơ sở dữ liệu 11
1.2 Tính liên ngành của khai phá dữ liệu 13
1.3 Các bài toán khai phá dữ liệu điển hình 14
1.4 Các dạng dữ liệu có thể khai phá dữ liệu 16
1.5 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu 16
1.6 Ứng dụng của khai phá dữ liệu 18
1.7 Các thách thức trong KPTT và KPDL 18
CHƯƠNG 2 - PHÂN CỤM DỮ LIỆU 19
2.1 Bài toán phân cụm dữ liệu 19
2.2 Các giai đoạn của quá trình phân cụm dữ liệu 20
2.3 Ứng dụng của phân cụm dữ liệu 21
2.4 Các kiểu dữ liệu và độ đo tương tự 21
2.5 Các kỹ thuật tiếp cận phân cụm dữ liệu 25
2.6 Yêu cầu đối với các thuật toán phân cụm dữ liệu 29
CHƯƠNG 3 - CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐIỂN HÌNH 30
3.1 Các thuật toán phân cụm phân hoạch 30
3.1.1 Thuật toán k-means 30
3.1.2 Thuật toán PAM 33
3.1.3 Thuật toán CLARA 35
3.1.4 Thuật toán CLARANS 37
Trang 63.2 Các thuật toán phân cụm phân cấp 39
3.2.1 Thuật toán BIRCH 39
3.2.2 Thuật toán CURE 42
3.3 Các thuật toán phân cụm dựa trên mật độ 44
3.3.1 Thuật toán DBSCAN 44
3.3.2 Thuật toán OPTICS 48
3.3.3 Thuật toán DENCLUE 49
3.4 Các thuật toán phân cụm dựa trên lưới 51
3.4.1 Thuật toán STING 51
3.4.2 Thuật toán CLIQUE 53
3.4.3 Thuật toán WaveCluster 53
3.5 Phân cụm dựa trên mô hình 54
3.5.1 Thuật toán EM 54
3.6 Các thuật toán phân cụm dữ liệu kiểu hạng mục 57
3.6.1 Thuật toán k-modes 58
3.6.2 Thuật toán ROCK 61
3.6.3 Thuật toán STIRR 64
3.6.4 Thuật toán CACTUS 66
3.7 Phân cụm dữ liệu hỗn hợp 70
3.7.1 Cơ sở toán học 70
3.7.2 Thuật toán k-prototypes 73
CHƯƠNG 4 - PHÂN CỤM DỮ LIỆU MỜ 76
4.1 Giới thiệu 76
4.2 Thuật toán FCM 77
4.2.1 Hàm mục tiêu 77
4.2.2 Thuật toán FCM 78
4.3 Thuật toán FCM 80
4.3.1 Hàm mục tiêu 80
4.3.2 Thuật toán FCM 85
4.4 Một số kết quả thử nghiệm 85
4.4.1 Thí nghiệm dữ liệu có ngoại lai 85
4.4.2 Phân cụm dữ liệu các nhóm có ngoại lai và xếp chồng dữ liệu 88
KẾT LUẬN 91
TÀI LIỆU THAM KHẢO 92
PHỤ LỤC 94
CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN K-MEANS 94
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh
Cơ sở dữ liệu CSDL Database
Công nghệ thông tin CNTT Information Technology
Khám phá tri thức KPTT Knowledge Discovery
KDD Knowledge Discovery in Database Khai phá dữ liệu KPDL Data mining
Phân cụm dữ liệu PCDL Data Clustering
Trang 8DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng giá trị tham số 22
Bảng 2.2 Các kiểu thuộc tính với các độ đo thích hợp tương ứng 25
Bảng 3.1 Bảng tổng kết các thuộc tính của các thuật toán PCDL kiểu số 55
Bảng 3.2 Bảng tổng kết các thuộc tính của các thuật toán PCDL hạng mục 69
Bảng 4.1 Số lỗi tâm cụm lớn nhất của FCM và FCM theo số phần tử ngoại lai 87
Bảng 4.2 Chuẩn Frobenius của các lỗi tâm các cụm 88
Bảng 4.3 Cực đại các lỗi tâm cụm với dữ liệu có ngoại lai 89
Bảng 4.4 Frobenius của các lỗi tâm cụm cho dữ liệu có ngoại lai 89
Trang 9DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Quá trình khám phá tri thức trong CSDL 12
Hình 1.2 Tính đa/liên ngành của khai phá dữ liệu 13
Hình 1.3 Sơ đồ biểu diễn mô hình học máy: cần học đường nét rời 17
Hình 2.1 Quá trình phân cụm dữ liệu 20
Hình 2.2 Các khoảng cách Euclidean và Manhattan giữa hai đối tượng 23
Hình 2.3 Phương pháp xây dựng cây phân cụm phân cấp 26
Hình 2.4 Mô tả phân cụm phân hoạch và phân cụm phân cấp 27
Hình 3.1 Ý tưởng thuật toán k-means 30
Hình 3.2 Các bước cơ bản của thuật toán k-means 31
Hình 3.3 Chi tiết thuật toán k-means 32
Hình 3.4 Các bước thực hiện thuật toán PAM 35
Hình 3.5 Các bước thực hiện thuật toán CLARA 36
Hình 3.6 Thuật toán CLARANS 38
Hình 3.7 Thuật toán BIRCH sử dụng cây CF 40
Hình 3.8 Các bước cơ bản của thuật toán BIRCH 42
Hình 3.9 Một số cụm dữ liệu được khám phá bởi thuật toán CURE 43
Hình 3.10 Các bước cơ bản của thuật toán CURE 43
Hình 3.11 Hình dạng một số cụm được khám phá bởi thuật toán DBSCAN 45
Hình 3.12 Liên thông mật độ và liên kết mật độ trong PCDL dựa trên mật độ 46
Hình 3.13 Thuật toán DBSCAN 48
Hình 3.14 Thứ tự các cụm được tăng dần trong OPTICS 49
Hình 3.15 Biểu diễn hàm ảnh hưởng sóng ngang và Gaussian 50
Hình 3.16 Mô hình lưới được sử dụng bởi thuật toán STING 51
Trang 10Hình 3.17 Các bước thực hiện thuật toán STING 52
Hình 3.18 Ứng dụng của thuật toán WaveCluster 54
Hình 3.19 Các bước thực hiện thuật toán EM 54
Hình 3.20 Mảng hạng mục của tập dữ liệu 60
Hình 3.21 Số các đối tượng lân cận chung của hai đối tượng dữ liệu i, j 62
Hình 3.22 Tổng quan về ROCK 63
Hình 3.23 Các bước cơ bản của thuật toán ROCK 64
Hình 3.24 Trình bày dữ liệu trong thuật toán STIRR 65
Hình 3.25 Một ví dụ sử dụng CACTUS 68
Hình 3.26: Ảnh hưởng của ltrong phân cụm 72
Hình 3.27: Thủ tục phân phối ban đầu trong thuật toán k-prototypes 74
Hình 3.28: Thủ tục phân phối lại(re-allocation) trong k-prototypes 75
Hình 3.29: Quá trình hội tụ của thuật toán k-prototypes 75
Hình 4.1 Thuật toán FCM 78
Hình 4.2 Mô phỏng kết quả các cụm được khám phá bởi thuật toán FCM 79
Hình 4.3 Thuật toán FCM 85
Hình 4.4 Thực nghiệm phương pháp FCM 86
Hình 4.5 Thực nghiệm phương pháp FCM với = 2 86
Hình 4.6 Thực nghiệm FCM, = 2 với các cụm có dữ liệu xếp chồng và ngoại lai 90
Hình 4.7 Thực nghiệm FCM với các cụm có dữ liệu xếp chồng và ngoại lai 90
Trang 11LỜI MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng của các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra một lượng dữ liệu lưu trữ khổng lồ Hàng triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều CSDL cực lớn Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết
là cần có những kĩ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng
lồ kia thành các tri thức có ích Từ đó, các kĩ thuật khám phá hay còn gọi là phát
hiện tri thức trong CSDL (Knowledge Discovery in Databases) đã trở thành một
lĩnh vực thời sự của ngành công nghệ thông tin trên thế giới hiện nay
Khai phá dữ liệu (Data Mining) là một bước trong quá trình khám phá tri thức
và được định nghĩa: là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự
như: khai phá tri thức từ CSDL (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ
dữ liệu (data archaeology), nạo vét dữ liệu (data dredging)
Với hai mục đích chính của khai phá dữ liệu là Dự đoán (Prediction) và Mô tả (Description), người ta thường sử dụng các phương pháp: phân lớp (Classification), dự đoán (Prediction), tìm luật liên kết (Association Rule) và các kỹ thuật phân cụm (Clustering) cho khai phá dữ liệu
Phân cụm dữ liệu là quá trình nhóm các đối tượng dữ liệu tương đồng với nhau thành các cụm Một cụm là tập hợp các đối tượng dữ liệu tương đồng với nhau
và các đối tượng dữ liệu thuộc các cụm khác nhau không tương đồng với nhau Phân cụm dữ liệu nhằm mục đích chính là tìm kiếm và phát hiện các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn , theo đó, cho phép người ta đi sâu vào phân tích và nghiên cứu ch o từng cụm dữ liệu này nhằm khám phá các thông tin tiềm ẩn, hữu ích, phục vụ cho việc ra quyết định Các kỹ thuật chính được áp dụng trong phân cụm dữ liệu thường phần lớn được kế thừa từ lĩnh vực thống kê , học máy, nhận dạng,… Đến nay, phân cụm dữ liệu đã được ứng dụng rộng rãi cho việc
Trang 12giải quyết các vấn đề trong nhiều lĩnh vực khác nhau như tài chính , thông tin địa lý, sinh học, nhận dạng ảnh,…
Từ những lý do trên, chúng tôi lựa chọn vấn đề “Các kỹ thuật phân cụm
trong khai phá dữ liệu” làm đề tài nghiên cứu của mình
Luận văn sẽ trình bày một số vấn đề về khám phá tri thức trong CSDL và tập trung nghiên cứu, trình bày về các kỹ thuật phân cụm trong KPDL Trong luận văn, ngoài phần mở đầu nêu lên các lý do chính lựa chọn đề tài, phần kết luận nhằm tóm tắt các vấn đề đã tìm hiểu được, đồng thời xác định hướng nghiên cứu tiếp theo, nội dung luận văn được trình bày trong 4 chương và phần phụ lục:
Chương 1: Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu: các
khái niệm liên quan, các giai đoạn trong quá trình khám phá tri thức, các kỹ thuật tiếp cận chính trong khai phá dữ liệu, …
Chương 2: Giới thiệu về phân cụm dữ liệu, trong đó đi sâu phân tích chi tiết
các vấn đề cơ bản trong PCDL và ý nghĩa của PCDL Đồng thời, trình bày tóm tắt
về các đặc trưng của các phương pháp PCDL như: phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ,… và nêu các kỹ thuật đánh giá kết quả PCDL
Chương 3: Trình bày các phân tích, đánh giá đối với các thuật toán PCDL điển
hình và chỉ ra ưu, nhược điểm của chúng
Chương 4: Trình bày về kỹ thuật phân cụm mờ trong PCDL, cụ thể là trình
bày hai thuật toán FCM (Fuzzy C-means) và FCM Nêu lên một số kết quả thực nghiệm cho các thuật toán phân cụm mờ
Phụ lục: Cài đặt chương trình thử nghiệm cho thuật toán k-means
Trang 13CHƯƠNG 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Quá trình khám phá tri thức trong cơ sở dữ liệu
Cuộc cách mạng của khoa học kỹ thuật đã cho phép số hóa thông tin dễ dàng, nhanh chóng với chi phí lưu trữ thấp Đồng thời, cùng với sự phát triển, trang bị hiện đại của hệ thống phần mềm, phần cứng máy tính, một số lượng dữ liệu khổng
lồ đã được tích lũy, lưu trữ Mục đích của việc thu thập và lưu trữ các kho dữ liệu khổng lồ như vậy không ngoài mục tiêu khai phá dữ liệu nhằm phát hiện các tri thức mới có ích cho hoạt động của con người Chính vì vậy, kỹ thuật thống kê và các công cụ quản trị dữ liệu cũ không thể đáp ứng được nhu cầu phân tích đầy đủ dữ liệu rộng lớn được nữa và một khuynh hướng mới đã được ra đời, phát triển, đó là
lĩnh vực khám phá tri thức và khai phá dữ liệu
Theo Fayyad, Piatetsky-Shapiro, Smyth, việc nghiên cứu phát triển lĩnh vực
khám phá tri thức trong CSDL (Knowledge Discovery in Databases: KDD) nhằm giải quyết tình trạng “ngập tràn thông tin mà vẫn thiếu thốn tri thức” [22]
Khám phá tri thức trong cơ sở dữ liệu là lĩnh vực đã, đang và sẽ được quan tâm triển khai nghiên cứu, phát triển một cách nhanh chóng và rộng rãi Đã có rất nhiều các thuật ngữ khác nhau mà được coi là cùng mang nghĩa của KDD như
knowledge extraction (chiết lọc tri thức), information discovery (phát hiện thông tin), information harvesting (thu hoạch thông tin), data archaeology (khai quật dữ liệu) và data pattern processing (xử lý mẫu dữ liệu) Năm 1989, Fayyad, Smyth và
Piatestsky-Shapiro đã định nghĩa một cách đầy đủ về khái niệm Khám phá tri thức
trong cơ sở dữ liệu (Knowledge Discovery in Database - KDD) như sau: [12]-[22] Khám phá tri thức trong cơ sở dữ liệu (đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu.
Quá trình khám phá tri thức trong CSDL được chia thành các bước như trong hình 1.1 dưới đây:
Trang 14Hình 1.1 Quá trình khám phá tri thức trong CSDL
- Trích lọc dữ liệu (Data Selection)
Là bước trích chọn những tập dữ liệu cần được khai thác từ các tập dữ liệu lớn (databases, datawarehouses) ban đầu theo một số tiêu chí nhất định
- Tiền xử lý dữ liệu (Data preprocessing)
Giai đoạn này hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu Tiền xử lý dữ liệu là bước làm sạch dữ liệu (xử lý
dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,…), rút gọn dữ liệu (sử dụng các phương pháp nén dữ liệu, histograms, entropy,…), rời rạc hóa dữ liệu (dựa vào histograms, dựa vào phân khoảng,…) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa Có thể nói, đây là một bước rất quan trọng vì dữ liệu này nếu không được “làm sạch - tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng
- Biến đổi dữ liệu (Data transformation)
Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho mục đích khai thác ở bước sau
- Khai phá dữ liệu (Data mining)
Đây là bước quan trọng và tốn nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật phân tích (phần lớn là các kỹ thuật của học máy) nhằm khai thác, trích chọn được các mẫu thông tin, các mối liên hệ đặc biệt trong dữ liệu
Dữ liệu
Dữ liệu đích
Dữ liệu đã tiền xử lý
Dữ liệu chuyển dạng
Mẫu
Tri thức
Đánh giá và biểu diễn tri thức
Trang 15- Đánh giá và biểu diễn tri thức (Knowledge representation & evaluation)
Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai thác ở bước trên theo dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,… Đồng thời, bước này cũng đánh giá những tri thức khám phá được theo các tiêu chí nhất định
Trong quá trình phát hiện tri thức trong các CSDL đưọc mô tả ở trên, chúng ta nhận thấy có sự tham gia của các kho dữ liệu Theo W.H Inmon [12] "kho dữ liệu
là tập hợp các dữ liệu định hướng theo chủ đề, được tích hợp từ, có tính phiên bản theo thời gian và kiên định được dùng để hỗ trợ việc tạo quyết định cho người quản
trị"
1.2 Tính liên ngành của khai phá dữ liệu
Khai phá dữ liệu là một khái niệm ra đời vào cuối những năm 1980 Nó được xem là giai đoạn quan trọng nhất trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh KPDL nhận được sự quan tâm đặc biệt của các nhà nghiên cứu trong nhiều lĩnh vực học máy, thu nhận mẫu, CSDL, thống kê, trí tuệ nhân tạo, thu nhận tri thức đối với
hệ chuyên gia (Hình 1.2) Hệ thống KDD lôi cuốn các phương pháp, thuật toán và
kỹ thuật từ các lĩnh vực rời rạc nhau này Mục tiêu thống nhất là trích lọc tri thức từ
dữ liệu trong ngữ cảnh các CSDL lớn [6]-[12]-[15]
Hình 1.2 Tính đa/liên ngành của khai phá dữ liệu
Đối với các lĩnh vực học máy và thu nhận mẫu, sự đan xen với KDD trải theo các nghiên cứu về lý thuyết và thuật toán đối với các hệ thống trích lọc mẫu và mô hình dữ liệu (chủ yếu đối với các phương pháp khai phá dữ liệu) Trọng tâm của KDD đối với việc mở rộng các lý thuyết và thuật toán này hướng tới bài toán tìm ra
Trang 16các mẫu đặc biệt (những mẫu mà trong một số ngữ cảnh còn được gọi là tri thức
hữu dụng hoặc hấp dẫn) trong các tập hợp dữ liệu lớn của thế giới thực
Phát hiện máy với mục tiêu là phát hiện các luật kinh nghiệm từ quan sát và thử nghiệm và mô hình nhân quả phát hiện các kết luận của mô hình nhân quả từ dữ
liệu là những lĩnh vực nghiên cứu có mối liên hệ với nhau
Một lĩnh vực nghiên cứu và triển khai có liên quan (trong nhiều trường hợp được coi là một bộ phận của lĩnh vực khai phá dữ liệu và phát hiện tri thức trong
CSDL) là lĩnh vực kho dữ liệu (data warehouse) chỉ dẫn tới các khuynh hướng hệ
thống thông tin quản lý (MIS: Managment Information Systems) phổ biến hiện tại đối với việc thu thập và làm sạch dữ liệu giao dịch và tạo cho chúng sự biến động khi tìm kiếm trực tuyến Một tiệm cận phổ biến đối với việc phân tích kho dữ liệu gọi là OLAP (On-Line Analytical Processing), qua một tập các nguyên lý được Codd đề xuất vào năm 1993 [19]
1.3 Các bài toán khai phá dữ liệu điển hình
Bước khai phá dữ liệu trong quá trình KDD thường áp dụng một phương pháp khai phá dữ liệu cụ thể, liên quan đến các khái niệm mẫu và mô hình Mẫu là một biểu thức trong một ngôn ngữ mô tả L được chọn Mô hình được coi là một biểu thức tổng quát trong ngôn ngữ mô tả L nói trên mà tính tổng quát được thể hiện thông qua các tham số (được gọi là tham số mô hình), trong trường hợp đó, mẫu là một thể hiện của mô hình
Nhiệm vụ của bài toán khai phá dữ liệu là từ dữ liệu (tập các sự kiện) quan sát
đã có thì hoặc cần phải xác định mô hình phù hợp với dữ liệu quan sát, hoặc cần tìm
ra các mẫu từ dữ liệu đó
Ở mức cao - tổng quát, hai mục tiêu chủ yếu của khai phá dữ liệu là dự đoán
và mô tả Dự đoán dùng một số biến hoặc trường trong CSDL để dự đoán hoặc về
giá trị chưa biết hoặc về giá trị sẽ có trong tương lai của các biến Mô tả hướng tới việc tìm ra các mẫu mô tả dữ liệu Dự đoán và mô tả có tầm quan trọng khác nhau đối với các thuật toán khai phá dữ liệu riêng
Ở mức chi tiết - cụ thể, dự đoán và mô tả được thể hiện thông qua các bài toán
cụ thể như mô tả khái niệm, quan hệ kết hợp, phân cụm, phân lớp, hồi quy, mô hình phụ thuộc, phát hiện biến đổi và độ lệch và một số bài toán cụ thể khác
Mô tả khái niệm
Bài toán mô tả khái niệm là tìm các đặc trưng và tính chất của các khái niệm Điển hình nhất là các bài toán như tổng quát hóa, tóm tắt, các đặc trưng dữ liệu ràng buộc,…Bài toán tóm tắt là một bài toán điển hình, áp dụng các phương pháp tìm
Trang 17một mô tả cô đọng đối với một tập con dữ liệu Một ví dụ điển hình về tóm tắt là kỳ vọng và độ lệch chuẩn Kỹ thuật tóm tắt thường được áp dụng trong phân tích dữ liệu tham dò có tương quan và tự động hóa sinh thông báo
Quan hệ kết hợp
Phát hiện mối quan hệ kết hợp là một bài toán quan trọng trong khai phá dữ liệu, trong đó khai phá luật kết hợp là một đại diện điển hình
Phân lớp
Phân lớp (Classification) thực hiện việc xây dựng các mô hình (hàm) dự báo
nhằm mô tả hoặc phát hiện các lớp hoặc khái niệm cho các dự báo tiếp theo Một số phương pháp điển hình là cây quyết định, luật phân lớp, mạng nơron Nội dung của phân lớp chính là học một hàm ánh xạ các dữ liệu vào một trong một số lớp đã biết
Ví dụ, phân lớp khuynh hướng trong thị trường tài chính, phát hiện tự động hóa các đối tượng đáng quan tâm trong CSDL ảnh lớn…
Phân cụm
Phân cụm (Clustering) thực hiện việc nhóm dữ liệu thành các lớp mới để có
thể phát hiện các mẫu phân bố Các cụm có thể rời nhau và toàn phần (tạo nên phân hoạch) hoặc có thể chồng chéo lên nhau Ví dụ như phát hiện các nhóm người tiêu dùng trong CSDL tiếp thị, Định hướng thường là cực đại tính tương đồng trong mỗi cụm và cực tiểu tính tương đồng giữa các phần tử thuộc các cụm khác nhau
Có một số ứng dụng yêu cầu cần giải quyết bài toán phân đoạn
(segmentation) Về bản chất, phân đoạn là tổ hợp của phân cụm và phân lớp, trong
đó phân cụm được tiến hành trước và sau đó là phân lớp
Hồi quy
Hồi quy là học một hàm ánh xạ dữ liệu nhằm xác định giá trị thực của một biến Tình huống ứng dụng hồi quy rất đa dạng, chẳng hạn như dự báo nhu cầu người tiêu dùng đối với một sản phẩm mới, dự đoán số lượng sinh vật phát quang trong khu rừng nhờ đo vi sóng các sensor từ xa, hoặc ước lượng xác suất người bệnh có thể chết theo kết quả test triệu chứng,…
Mô hình phụ thuộc
Bài toán xây dựng mô hình phụ thuộc hướng tới việc tìm ra một mô hình mô
tả sự phụ thuộc có ý nghĩa giữa các biến Mô hình phụ thuộc gồm hai mức: mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị) và mức định lượng Trong đó, ở mức cấu trúc của mô hình các biến là phụ thuộc bộ phận vào các biến khác, còn ở mức định lượng của mô hình mô tả sức mạnh của tính phụ thuộc khi sử dụng đo theo số
Trang 18 Phát hiện biến đổi và độ lệch
Tập trung vào việc phát hiện hầu hết sự thay đổi có ý nghĩa dưới dạng độ đo
đã biết trước hoặc giá trị chuẩn
Ngoài ra có thể kể tới phân tích định hướng mẫu và thống kế khác
1.4 Các dạng dữ liệu có thể khai phá dữ liệu
Nguồn dữ liệu được sử dụng để tiến hành khai phá dữ liệu nhằm phát hiện tri thức rất phong phú
Cơ sở dữ liệu quan hệ (relational databases) : là các dữ liệu được tổ chức theo
mô hình dữ liệu quan hệ
Cơ sở dữ liệu đa chiều (multidimention structures, data warehouses, data mart): là các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu
khác nhau Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng như khai phá tri thức và hỗ trợ quá trình ra quyết định
Cơ sở dữ liệu giao tác (transactonal databases)
Cơ sở dữ liệu quan hệ - hướng đối tượng (object relational databases): là dạng
lai giữa hai mô hình quan hệ và hướng đối tượng
Dữ liệu không gian và thời gian (spatial, temporal, and time-series data)
Cơ sở dữ liệu đa phương tiện (multimedia databases): là dạng dữ liệu âm
thanh, hình ảnh, text, www,…
1.5 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu
Theo quan điểm học máy (Machine Learning) thì các kỹ thuật trong khai
phá dữ liệu bao gồm:
Học có giám sát (Supervised learning): là quá trình gán nhãn lớp cho các phần
tử trong CSDL dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết
Học không có giám sát (Unsupervised learning): là quá trình phân chia một
tập dữ liệu thành các lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớp hay tập ví dụ huấn luyện
Học bán giám sát (Semi - Supervised learning): là quá trình phân chia một tập
dữ liệu thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện và một số các thông tin về một số nhãn lớp đã biết trước
Một số hướng tiếp cận chính của khai phá dữ liệu được phân chia theo chức năng hay lớp các bài toán khác nhau, bao gồm các kỹ thuật:
Trang 19 Phân lớp và dự đoán (classification & prediction): xếp đối tượng vào một
trong các lớp đã biết trước Ví dụ: phân lớp học sinh dựa trên sổ điểm,… Phân lớp
là một lĩnh vực rất quan trọng trong khai phá dữ liệu Phân lớp còn được gọi là học
có giám sát Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như
cây quyết định (decision tree), mạng nơron nhân tạo (neural network),…
Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng tương
đối đơn giản Ví dụ: “70% sinh viên học chuyên ngành hệ thống thông tin thì có tới 90% trong số đó đăng ký học Data mining” Luật kết hợp được ứng dụng trong nhiều lĩnh vực kinh doanh, y học, tài chính, thị trường chứng khoán,…
Khai thác mẫu tuần tự (sequential/temporal patterns): tương tự như khai thác
luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự
có dạng tiêu biểu X Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính dự báo
Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từng cụm
(số lượng và tên của cụm chưa được biết trước) Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Phân cụm
còn được gọi là học không có giám sát (unsupervised learning)
Mô hình học máy (có giám sát và không giám sát) được trình bày như hình 1.4 dưới đây:
Hình 1.3 Sơ đồ biểu diễn mô hình học máy: cần học đường nét rời
Trong đó, học máy không giám sát (phân cụm) không có giá trị mục tiêu cho
ví dụ học (không có hai đường liền nét hướng tới giá trị mục tiêu)
Trang 201.6 Ứng dụng của khai phá dữ liệu
KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn
dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Tuỳ theo bản chất của từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau
Ứng dụng của KPDL có thể được chia thành hai lớp chính bao gồm ứng dụng phân tích dữ liệu - hỗ trợ quyết định và một số lĩnh vực ứng dụng khác
Các ứng dụng trong phân tích dữ liệu và hỗ trợ quyết định bao gồm các ứng
dụng trong phân tích và quản lý thị trường, phân tích và quản lý rủi ro, khám phá ngoại lai và các mẫu không hữu ích Dữ liệu trong các ứng dụng này là khá phong phú từ các giao dịch thẻ tín dụng, nghiên cứu đời sống công đồng Các kỹ thuật KPDL đã được áp dụng thành công trong việc dự đoán lưu lượng viễn thông cho các công ty điện thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị trường cho các công ty tài chính hay phân nhóm các khách hàng tài năng Phân tích kiểu khách hàng theo từng loại sản phẩm, phân tích nhu cầu khách hàng, định danh loại sản phẩm thích hợp cho từng lớp khác hàng để đưa ra chiến lược kinh doanh đối với nhóm khách hàng mới Ngoài ra, ứng dụng trong lập
kế hoạch và phân tích tình hình tài chính, đánh giá lưu lượng tiền tệ, dự báo giá của các loại cổ phiếu trong thị trường chứng khoán, dữ liệu thẻ tín dụng, phát hiện gian lận,… trong lĩnh vực tài chính – ngân hàng cũng được phát triển
Các lĩnh vực ứng dụng điển hình khác được kể đến là khai phá Text, khai phá
Web, khai phá dữ liệu dòng, khai phá dữ liệu sinh học (tìm kiếm, so sánh các hệ gen
và thông tin di truyền, mối liên hệ gen và một số bệnh di truyền),…
1.7 Các thách thức trong KPTT và KPDL
- Thách thức đầu tiên trong KPTT và KPDL phải kể đến đó là trong tập dữ
liệu thường có chứa các dữ liệu “nhiễu” (noise) do quá trình thu thập thiếu chính xác, không đầy đủ; và chứa phần tử ngoại lai (outlier) – những đối tượng dữ liệu
“khác thường” (không tuân theo hành vi hoặc mô hình dữ liệu,…)
- Vấn đề thứ hai, kích thước, số chiều của các tập dữ liệu cần xử lý trong KPTT và KPDL thường rất lớn, do đó thời gian xử lý thường rất dài
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- Tích hợp với các hệ thống khác
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp cũng là những thách thức cần quan tâm trong KPTT và KPDL
Trang 21CHƯƠNG 2
PHÂN CỤM DỮ LIỆU
2.1 Bài toán phân cụm dữ liệu
Phân cụm dữ liệu là một hướng nghiên cứu rất quan trọng trong lĩnh vực khai phá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tiềm ẩn trong các tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích để đưa ra các quyết định Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các
cụm dữ liệu sao cho các phần tử trong một cụm thì “tương tự” nhau và các phần tử trong các cụm khác nhau thì “phi tương tự” với nhau Số các cụm dữ liệu được
phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định
Sau khi xác định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp để xác định "khoảng cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây chính là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường
các hàm này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng
lớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại; còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự
Trong học máy, phân cụm dữ liệu được xem là vấn đề học không có giám sát
(unsupervised learning), vì nó giải quyết vấn đề tìm một cấu trúc trong tập hợp các
dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về tập ví dụ huấn luyện Trong nhiều trường hợp, khi phân lớp được xem là vấn đề học có giám sát thì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, trong đó phân cụm dữ liệu sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu Một vấn đề thường gặp trong PCDL đó là hầu hết các dữ liệu cần cho phân
cụm đều có chứa dữ liệu “nhiễu” (noise) do quá trình thu thập thiếu chính xác hoặc
không đầy đủ Vì vậy, cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ “nhiễu” trước khi bước vào giai đoạn phân tích phân cụm dữ liệu
Ngoài ra, dò tìm phần tử ngoại lai (outlier) cũng là một trong những hướng
nghiên cứu quan trọng trong KPDL, chức năng của nó là xác định một nhóm nhỏ
Trang 22các đối tượng dữ liệu “khác thường”, dị biệt so với các dữ liệu khác - tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằm tránh ảnh hưởng của chúng tới quá trình và kết quả PCDL Khám phá các phần tử ngoại lai đã được ứng dụng trong các lĩnh vực như viễn thông, dò tìm gian lận thương mại,…
2.2 Các giai đoạn của quá trình phân cụm dữ liệu
Quá trình phân cụm có thể được mô tả như trong hình 2.1 dưới đây [8]:
Hình 2.1 Quá trình phân cụm dữ liệu
Quá trình này bao gồm bốn bước cơ bản như sau:
Trích chọn hay lựa chọn đặc tính (Feature selection or extraction): bao gồm
việc trích chọn ra các đối tượng dữ liệu thích hợp, hữu ích từ dữ liệu cơ sở Việc trích chọn tốt các đặc tính có thể làm giảm rất lớn các dữ liệu nhiễu và đơn giản hoá quá trình thiết kế và xử lý tiếp theo
Lựa chọn hoặc thiết kế thuật toán phân cụm (Clustering algorithm design or selection): liên quan tới việc kiểm tra xem nên phân cụm theo xu hướng nào và
chọn thuật toán hoặc thiết kế một thuật toán phân cụm với các tham số phù hợp
Đánh giá (Cluster Validation): việc kiểm định thường dựa trên các kiểm tra
thông thường và các kĩ thuật trực quan Tuy nhiên, số lượng dữ liệu lớn và số chiều của chúng tăng sẽ khiến quá trình đánh giá gặp khó khăn
Biểu diễn các kết quả (Results Interpretation): Mục đích cuối cùng của phân
cụm là cung cấp cho người sử dụng những hiểu biết tri thức đầy đủ, ý nghĩa từ dữ liệu cơ sở, bởi vậy, cần giải quyết hiệu quả vấn đề kết hợp các kết quả phân cụm với các nghiên cứu khác để đưa ra kết luận tin cậy về tri thức thu được và đề xuất những phân tích xa hơn
Trích chọn
dữ liệu
Lựa chọn thuật toán phân cụm
Biểu diễn các kết quả
Đánh giá các Cluster
Tri thức
Trang 232.3 Ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu thực hiện phân chia dữ liệu thành các cụm dữ liệu Quá trình phân cụm dữ liệu có nhiều ý nghĩa trong các hoạt động của con người và đã được áp dụng rất rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu,
xử lý ảnh, lập kế hoạch marketing Cụ thể:
Trong thương mại phân cụm dữ liệu có thể giúp các công ty khám phá ra các
nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả khách hàng từ các mẫu mua bán trong cơ sở dữ liệu khách hàng để từ đó đưa ra các chiến lược kinh doanh hợp lý
Trong sinh học phân cụm dữ liệu được sử dụng để xác định các loại sinh vật,
phân loại các gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu
Phân tích dữ liệu không gian tạo ra các cụm từ cơ sở dữ liệu đồ sộ của dữ liệu
không gian như dữ liệu thu được từ các hình ảnh chụp từ vệ tinh các thiết bị y học hoặc hệ thống thông tin địa lý (GIS), …trợ giúp con người tự động phân tích và xử
lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian
Trong lĩnh vực Web Mining, phân cụm dữ liệu có thể khám phá các nhóm tài
liệu quan trọng, có nhiều ý nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức từ dữ liệu, …
2.4 Các kiểu dữ liệu và độ đo tương tự
Trong phân cụm dữ liệu, các đối tượng dữ liệu cần phân tích được cho dưới rất nhiều dạng thức Mỗi đối tượng được mô tả thông qua các thuộc tính của nó Cho
một tập dữ liệu X chứa n đối tượng trong không gian k chiều; x 1 , x 2 , x 3 là các đối
tượng thuộc X: x 1 = (t 1 , t 2 ,… ,t k ), x 2 = (u 1 , u 2 ,… ,u k ), x 3 = (v 1 , v 2 ,… ,v k ) Trong đó t i,
u i , v i (i 1, k) là các đặc trưng của thuộc tính tương ứng với các đối tượng x 1 , x 2 , x 3
Khi đó, khái niệm “các kiểu dữ liệu” và “các kiểu thuộc tính dữ liệu” được xem là
tương đương nhau
Khi các giá trị của thuộc tính đã được xác định người ta tìm cách thích hợp để xác định “khoảng cách” giữa các đối tượng, hay chính là phép đo tương tự dữ liệu Đây là các hàm đo sự giống nhau giữa các cặp đối tượng dữ liệu Thông thường,
chúng ta tính độ tương tự (Similarity) hoặc độ phi tương tự (Dissimilarity) Giá trị
của hàm tính độ tương tự càng lớn thì sự giống nhau giữa các đối tượng càng lớn và ngược lại Hàm tính độ phi tương tự và hàm tính độ tương tự là tỉ lệ nghịch với nhau
Trang 24Tất cả độ đo sau đây được xác định trong không gian metric Bất kỳ một metric nào cũng là một độ đo nhưng điều ngược lại không đúng Độ đo ở đây có thể
là độ tương tự hoặc phi tương tự Một tập dữ liệu X là một không gian metric nếu:
Với mỗi cặp đối tượng x, y thuộc X đều xác định một số thực d(x, y) theo một quy tắc nào đó được gọi là khoảng cách giữa x và y
Quy tắc đó phải thỏa mãn các tính chất sau:
a) d(x, y) 0 nếu x ≠ y
b) d(x, y) = 0 nếu x = y
c) d(x, y) = d(y, x): quy tắc giao hoán
d) d(x, y) d(x, z) + d(z, x): quy tắc tam giác
Sau đây ta sẽ xem xét một số kiểu thuộc tính dữ liệu và độ đo tương ứng [17]
2.4.1 Kiểu thuộc tính nhị phân (Binary)
Thuộc tính nhị phân chỉ có hai giá trị là 0 và 1 Trong đó 0 có nghĩa là sai và 1
có nghĩa là đúng Để tìm độ đo, trước hết người ta xây dựng bảng sau:
Bảng 2.1 Bảng giá trị tham số
Đặt = + + + Với các đối tượng x, y có tất cả thuộc tính đều ở dạng
nhị phân Bảng 2.1 cho ta thông tin sau đây:
là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y
là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y
là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y
là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng x, y
Khi đó độ tương tự được cho như sau:
Hệ số đối sánh đơn giản (Simple Matching Coefficient): d x y ( , )
Trang 25Hệ số Jacard (Jaccard Coefficient): d x y ( , )
, công thức này được
áp dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây không đối xứng
2.4.2 Kiểu thuộc tính khoảng (Interval)
Để đo các giá trị theo xấp xỉ tuyến tính Với thuộc tính khoảng, ta có thể xác định một thuộc tính là đứng trước hoặc đứng sau một thuộc tính khác với một
khoảng là bao nhiêu Nếu x i > y i thì ta có x cách y một khoảng x i - y i tương ứng với
thuộc tính thứ i Độ đo phi tương tự của x và y được tính bằng các metric khoảng cách:
, nó là trường hợp của khoảng
cách Minkowski với q = 1
Khoảng cách cực đại: d x y ( , ) maxi=1 n xi yi , chú ý rằng đây là trường hợp
của khoảng cách Minkowski với q
Hình 2.2 Các khoảng cách Euclidean và Manhattan giữa hai đối tƣợng
2.4.3 Kiểu thuộc tính định danh (nominal)
Đây là dạng tổng quát hóa của thuộc tính nhị phân, trong đó miền giá trị là rời
rạc không phân biệt thứ tự Nếu x và y là hai thuộc tính định danh thì ta có thể xác định x = y hoặc x ≠ y
Trang 26Độ đo phi tương tự giữa hai đối tượng x và y được xác định qua công thức sau:
d x y ( , ) p m
p
trong đó, m là số thuộc tính đối sánh tương ứng trùng nhau và p là tổng số các thuộc tính
2.4.4 Kiểu thuộc tính có thứ tự (Ordinal)
Là thuộc tính định danh có tính đến thứ tự, nhưng chúng không được định
lượng Nếu x và y là hai thuộc tính có thứ tự thì ta có thể xác định x = y hoặc x≠ y hoặc x > y hoặc x < y Giả sử i là thuộc tính có thứ tự với các trạng thái M i Độ đo phi tương tự được tính thông qua các bước sau:
1 Các trạng thái M i có thứ tự [1, 2,…, M i ] Ta thay thế từng giá trị bởi giá
j
j i i
i
r z
z đại diện cho giá trị thuộc tính j của đối tượng thứ i
2.4.5 Kiểu thuộc tính tỉ lệ (Ratio)
Đây là thuộc tính khoảng nhưng được xác định một cách tương đối so với
điểm mốc, ví dụ như thuộc tính chiều cao lấy điểm mốc bằng 0
Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong số đó là
việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính tỉ lệ x i về dạng thuộc tính khoảng i = log(x i )
2.4.6 Kiểu thuộc tính trộn (Mixed)
Giả sử chúng ta có k thuộc tính thuộc kiểu trộn, hai đối tượng dữ liệu x và y và
d ( , )
k
f k f
Trang 27Trong đó, hàm chỉ tiêu xy f 0 nếu hoặc (1): xi( )f hoặc ( )f
xy 1
d
Nếu f là khoảng (interval):
( ) ( ) f
, ở đây h chạy qua tất
cả các đối tượng không lỗi của thuộc tính f
Nếu f là thứ tự (ordinal) hoặc khoảng (ratio): tính ( )f
f
r z
M
, và
coi zi( )f như là một khoảng đoạn
Bảng sau đưa ra tổng kết các kiểu thuộc tính với các độ đo thích hợp [17]
Bảng 2.2 Các kiểu thuộc tính với các độ đo thích hợp tương ứng
Số trẻ con, số ngôi nhà
N/A Eclidean hoặc
Cao/thấp, To/nhỏ,… Sau khi biểu diễn các giá trị
với hạng của chúng, coi chúng như là tỉ lệ chia
Định danh
(Nominal)
N/A: yêu cầu một số
vô hạn các giá trị phân biệt
Màu sắc, Các diễn viên nổi tiếng
Có/không, Bật/tắt,…
Hệ số đối sánh đơn giản hoặc hệ
số Jacard
2.5 Các kỹ thuật tiếp cận phân cụm dữ liệu
Đã có rất nhiều các kỹ thuật xuất hiện nhằm khám phá ra các nhóm trong các tập dữ liệu lớn Các kỹ thuật áp dụng để giải quyết vấn đề phân cụm dữ liệu đều
hướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ
Trang 28thực hiện của thuật toán Hiện nay, các kỹ phân cụm dữ liệu có thể phân loại theo
các cách tiếp cận chính sau [6]-[12]-[16]:
2.5.1 Phương pháp phân cụm phân hoạch
Phương pháp: Tư tưởng chính của phương pháp này là phân cơ sở dữ liệu D
có n phần tử thành k cụm dữ liệu, với k là một tham số cho trước Các thuật toán
phân cụm dựa trên phương pháp này thường khởi tạo một phân hoạch ban đầu, sau
đó sử dụng một chiến lược để đánh giá một hàm mục tiêu Mỗi cụm được miêu tả
bằng tâm của cụm (thuật toán k-means) hoặc bằng một trong các đối tượng định vị gần tâm của cụm (thuật toán k-medoid)
Ưu, nhược điểm: Ưu điểm của các thuật toán phân cụm dựa trên phương pháp này chính là tốc độ xử lý dữ liệu rất nhanh, có thể áp dụng cho tập dữ liệu lớn Tuy nhiên phương pháp còn có một hạn chế rất lớn đó là không giải quyết được trường hợp dữ liệu có các điểm nhiễu, điểm khuyết Ngoài ra, thuật toán còn có hạn chế
trong việc xác định k cụm ban đầu, phải thực hiện nhiều lần và không tìm được các
cụm với hình dạng phức tạp Một số thuật toán điển hình của phương pháp phân
hoạch là k-means, PAM, CLARA, CLARANS,
2.5.2 Phương pháp phân cụm phân cấp
Phương pháp: Tư tưởng chính của phương pháp này là sắp xếp đệ quy tập dữ liệu đã cho thành một cấu trúc có dạng hình cây Cây phân cấp này có thể được xây
dựng bằng phương pháp từ trên xuống (Top-down) hoặc bằng phương pháp từ dưới lên (Bottom-up)
Hình 2.3 Phương pháp xây dựng cây phân cụm phân cấp
Phương pháp từ dưới lên (Bottom-up): Bắt đầu xuất phát với việc khởi tạo các
cụm riêng biệt, sau đó tiến hành nhóm các cụm theo một độ đo tương tự (như khoảng cách giữa hai tâm của hai cụm), quá trình này được thực hiện cho đến khi
Trang 29tất cả các cụm được ghép thành một cụm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc được thỏa mãn Cách tiếp cận này sử dụng chiến lược
“tham ăn” trong quá trình phân cụm
Phương pháp từ trên xuống (Top-down) có trạng thái ban đầu là tất cả các đối
tượng trong cơ sở dữ liệu được xếp trong cùng một cụm Sau mỗi vòng lặp, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào
đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa
mãn Cách tiếp cận này sử dụng chiến lược “chia để trị” trong quá trình phân cụm
Phương pháp phân cụm phân cấp thường được sử dụng đối với dữ liệu không liên tục Một số thuật toán điển hình của phương pháp này là BIRCH, CURE,
Hình 2.4 Mô tả phân cụm phân hoạch và phân cụm phân cấp
2.5.3 Phương pháp phân cụm dựa trên mật độ
Phương pháp: Tư tưởng chính của phương pháp này là nhóm các đối tượng dữ
liệu thành một cụm dựa trên khái niệm liên kết giữa các điểm dữ liệu và hàm mật độ xác định của các điểm dữ liệu Mật độ này thường được xác định bằng số các đối tượng lân cận của một đối tượng dữ liệu Trong cách tiếp cận này, các đối tượng dữ liệu trong một cụm phải có số đối tượng dữ liệu lân cận lớn hơn một ngưỡng cho trước
Ưu, nhược điểm: Ưu điểm của phương pháp phân cụm dựa trên mật độ là có thể tìm ra các cụm có hình dạng bất kì, giải quyết được các điểm nhiễu và duyệt dữ liệu một lần Tuy nhiên, việc xác định các tham số mật độ của thuật toán rất khó
Trang 30khăn trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm dữ liệu Phương pháp có tốc độ chạy rất chậm, không áp dụng được đối với dữ liệu nhiều chiều Các thuật toán điển hình là DBSCAN, DENCLUDE, OPTICS,
2.5.4 Phương pháp phân cụm dựa trên lưới
Phương pháp: Tư tưởng chính của phương pháp là dựa trên cấu trúc dữ liệu lưới để PCDL Mục tiêu là lượng hóa tập dữ liệu thành các ô, các ô này tạo thành cấu trúc dữ liệu lưới, sau đó các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới
Ưu, nhược điểm: Ưu điểm của phương pháp này là thích hợp với dữ liệu nhiều chiều, chủ yếu tập trung áp dụng cho lớp dữ liệu không gian, thời gian xử lý nhanh
và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu Tuy nhiên, phương pháp này lại phụ thuộc vào số ô trong mỗi chiều của không gian lưới Các thuật toán điển hình của phương pháp này là STRING, CLIQUE, WaveCluster,
2.5.5 Phương pháp phân cụm dựa trên mô hình
Phương pháp này khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạng ra các phân hoạch
Các thuật toán phân cụm dựa trên mô hình có hai tiếp cận chính: mô hình thống kê và mạng Nơron Phương pháp này gần giống với phương pháp dựa trên mật độ, bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm Các thuật toán điển hình của phương pháp này là thuật toán EM, COBWEB, SOM
2.5.6 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của phân cụm dữ liệu không gian đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình PCDL Để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Phân cụm thống kê: Dựa trên các khái niệm phân tích thống kê, sử dụng các
độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho dữ liệu
có thuộc tính số
Trang 31 Phân cụm khái niệm: Áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý
Phân cụm mờ: Sử dụng kỹ thuật mờ để PCDL, trong đó một đối tượng dữ liệu có thể thuộc vào nhiều cụm dữ liệu khác nhau Thuật toán phân cụm mờ quan trọng nhất là thuật toán FCM (Fuzzy c-means)
Phân cụm mạng Kohonen: Phân cụm dựa trên khái niệm của các mạng Nơron Mạng Kohonen có tầng nơron vào và các tầng nơron ra Mỗi nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng
2.6 Yêu cầu đối với các thuật toán phân cụm dữ liệu
Đánh giá hiệu quả của thuật toán phân cụm vẫn chưa có một tiêu chuẩn rõ ràng, bởi vì một thuật toán có thể thực hiện tốt trên một tập dữ liệu này, nhưng lại không tốt trên tập dữ liệu khác Sự khác nhau này xuất phát từ mục đích của việc chia lớp cũng như loại dữ liệu và kích thước của dữ liệu Một số tiêu chuẩn thường được đề cập đến khi đánh giá hiệu quả thuật toán phân cụm là:
Tính tuyến tính: các thuật toán phải hiệu quả và có thời gian chạy tỷ lệ tuyến
tính với số lượng các điểm dữ liệu
Khả năng phát hiện được các lớp có hình dạng bất kỳ: các thuật toán phải có
khả năng nhận dạng được các hình bất kì (không theo quy luật), bao gồm những hình với những phần có kẽ hở hoặc lõm hoặc những hình lồng nhau
Khả năng làm việc được với dữ liệu nhiễu: cơ chế clustering phải thích ứng
được với số lượng lớn các điểm nhiễu
Không phụ thuộc vào thứ tự của dữ liệu vào: các thuật toán phải không phụ
thuộc với thứ tự của dữ liệu đầu vào
Giảm thiểu yêu cầu về tham số đầu vào: dữ liệu không cần có một kiến thức
tiên nghiệm nào hoặc không cần số các cluster được tạo ra phải được qui định, cho nên không miền kiến thức đầu vào nào cần phải được người dùng qui định
Xử lý được với dữ liệu đa chiều: các thuật toán phải xử lý được dữ liệu với số
lượng lớn các thuộc tính, tức là số chiều không gian tăng lên
Tính có thể hiểu được và khả năng sử dụng: đối với một số thuật toán, khi
thực hiện và so sánh với kết quả thực tế thì lại không hợp lý Do đó, kết quả ứng dụng của kỹ thuật là vấn đề rất quan trọng của thuật toán
Trang 32CHƯƠNG 3
CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐIỂN HÌNH
3.1 Các thuật toán phân cụm phân hoạch
3.1.1 Thuật toán k-means
Thuật toán phân hoạch k-means do MacQueen đề xuất vào năm 1967 [14]
Mục đích của thuật toán k-means là sinh k cụm dữ liệu {C 1 , C 2 ,…, C k} từ một
tập dữ liệu chứa n đối tượng trong không gian d chiều X i = {x i1 , x i2 ,…, x id}, i 1, n, sao cho hàm tiêu chuẩn:
2 1
đạt giá trị tối thiểu
trong đó: m i là trọng tâm của cụm C i , D là khoảng cách giữa hai đối tượng
Trọng tâm của một cụm là một vectơ, trong đó giá trị của mỗi phần tử là trung bình cộng các đối tượng vectơ dữ liệu trong cụm đang xét Tham số đầu vào của
thuật toán là số cụm k, và tham số đầu ra là các trọng tâm của các cụm dữ liệu Độ
đo khoảng cách D giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách
Euclidean
Ý tưởng đề xuất cho thuật toán k-means có thể hình dung như trong hình 3.1 [11]:
Hình 3.1 Ý tưởng thuật toán k-means
Trong đó: Hình 3.1(a) Khởi tạo trọng tâm; hình 3.1(b) Tính toán lại vị trí của các trọng tâm; hình 3.1(c) Vị trí cuối của các trọng tâm
Trang 33Thuật toán k-means bao gồm các bước cơ bản như trong hình 3.2 dưới đây:
m ban đầu trong không gian R d (d là số
chiều của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Hình 3.2 Các bước cơ bản của thuật toán k-means
K-means biểu diễn các cụm bởi các trọng tâm của các đối tượng trong cụm đó Thuật toán k-means chi tiết được trình bày trong hình 3.3 dưới đây [11]:
Trang 34Hình 3.3 Chi tiết thuật toán k-means
Ý nghĩa của các khái niệm biến và hàm sử dụng trong thuật toán k-means chi tiết trong hình 3.3 như sau:
MSE (Mean Squared Error): Được gọi là sai số bình phương trung bình hay còn gọi là hàm tiêu chuẩn MSE dùng để lưu giá trị của hàm tiêu chuẩn và được cập nhật qua mỗi lần lặp Thuật toán dừng ngay khi giá trị MSE tăng lên
so với giá trị MSE cũ của vòng lặp trước đó
D2
(x i , m j ): Là khoảng cách Euclidean từ đối tượng dữ liệu thứ i tới trọng tâm j
OldMSE, m’[j], n’[j]: Là các biến tạm lưu giá trị trạng thái trung gian cho các
biến tương ứng: giá trị hàm tiêu chuẩn, giá trị vectơ tổng của các đối tượng
trong cụm thứ j, số các đối tượng của cụm thứ j
Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạp tính toán là O ((3 nkd T ) flop) Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, là số vòng lặp, T flop
là thời gian để thực hiện một phép tính cơ
sở như phép tính nhân, chia,…
Trang 35Trong khi thi hành, một vấn đề là làm sao gỡ các nút thắt trong các trường hợp
có nhiều trung tâm có cùng khoảng cách tới một đối tượng Trong trường hợp này,
có thể gán các đối tượng ngẫu nhiên cho một trong các cụm thích hợp hoặc xáo trộn các đối tượng để vị trí mới của nó không gây ra các nút thắt Như vậy, do k-means phân cụm đơn giản nên có thể áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu
Hơn nữa, chất lượng PCDL của thuật toán k-means phụ thuộc nhiều vào các
tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trường hợp
các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế Trên thực tế chưa có một giải pháp tối ưu nào
để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với
các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất
3.1.2 Thuật toán PAM
Thuật toán PAM (Partitioning Around Medoids) được đề xuất bởi Kaufman
và Rousseeuw [17]-[18], là thuật toán mở rộng của thuật toán k-means nhằm tăng khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc phần tử ngoại lai PAM sử dụng
các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là
đối tượng đặt tại vị trí trung tâm nhất bên trong mỗi cụm Vì vậy, các đối tượng
medoid ít bị ảnh hưởng của các đối tượng ở rất xa trung tâm
Ban đầu, PAM khởi tạo k đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid đại diện tương ứng sao cho chúng tương tự đối với medoid trong cụm gần nhất
Giả sử O j là đối tượng không phải là medoid mà O m là đối tượng medoid, khi
đó ta nói O j thuộc về cụm có đối tượng medoid là O m làm đại diện nếu d(O j ,O m ) = min Oe d(O j , O e ); trong đó d(O j ,O m ) là độ phi tương tự giữa O j và O m , min Oe là giá trị
nhỏ nhất của độ phi tương tự giữa O j và tất cả các đối tượng medoid của các cụm dữ
liệu Chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi
tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với cụm của
nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các
đối tượng medoid Độ phi tương tự được xác định bằng độ đo khoảng cách, thuật
toán PAM được áp dụng cho dữ liệu không gian
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid bất kỳ Sau mỗi bước thực hiện, PAM cố gắng hoán chuyển giữa đối tượng medoid
O m và một đối tượng O p , không phải là medoid, miễn là sự hoán chuyển này nhằm
Trang 36cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn Chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu
PAM tính giá trị C jmp cho tất cả các đối tượng O j để làm căn cứ cho việc hoán
chuyển giữa O m và O p Trong đó:
O m : là đối tượng medoid hiện thời cần được thay thế
O p : là đối tượng medoid mới thay thế cho O m
O j : là đối tượng dữ liệu (không phải medoid) có thể được di chuyển sang cụm khác
O j,2 : là đối tượng medoid hiện thời gần đối tượng O j nhất
Có bốn cách tính khác nhau cho mỗi trường hợp C jmp [18]
Trường hợp 1: Giả sử O j hiện thời thuộc về cụm có đại diện là O m và O j tương tự với O j,2 hơn O p (có nghĩa là d(O j , O p ) d(O j , O j,2 )) Trong khi đó, O j,2 là
đối tượng medoid tương tự xếp thứ hai tới O i trong số các medoid Trong trường hợp này, thay thế O m bởi đối tượng medoid mới O p và O j sẽ thuộc về cụm có đối
tượng đại diện là O j,2 Vì vậy, giá trị hoán chuyển C jmp được xác định là:
C jmp = d(O j , O j,2 ) – d(O j , O m ) (1)
Giá trị C jmp không âm
Trường hợp 2: O j hiện thời thuộc về cụm có đại diện là O m , nhưng O i ít tương
tự với O j,2 so với O p (d(O j , O p ) < d(O j , O j,2 )) Nếu O m được thay thế bởi O p thì O j sẽ
thuộc về cụm có đại diện là O p Vì vậy, giá trị thực C jmp được xác định như sau:
C jmp = d(O j , O p ) – d(O j , O m ) (2)
Giá trị C jmp có thể âm hoặc dương
Trường hợp 3: Giả sử O j hiện thời không thuộc về cụm có đối tượng đại diện
là O m mà thuộc về cụm có đại diện O j,2 Mặt khác, giả sử O j tương tự với O j,2 hơn so
với O p Khi đó, nếu O m được thay thế bởi O p thì O j vẫn sẽ ở lại trong cụm có đại
diện là O j,2 Do đó:
Trường hợp 4: O j hiện thời thuộc về cụm có đại diện là O j,2 nhưng O j ít tương
tự với O j,2 hơn so với O p Vì vậy, nếu thay thế O m bởi O p thì O j sẽ chuyển từ cụm
O j,2 sang cụm O p Do đó, giá trị hoán chuyển C jmp được xác định:
C jmp = d(O j , O p ) – d(O j , O j,2 ) (4)
Giá trị C jmp là luôn âm
Trang 37Như vậy, kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O m bằng O p
được xác định :
mp jmp j
Chọn k đối tượng medoid bất kỳ
Tính TC mp cho tất cả các cặp đối tượng O m , O p Trong đó, O m là
đối tượng medoid và O p là đối tượng không phải medoid
Chọn cặp đối tượng O m và O p Tính min Om , min Op , TC mp Nếu
TC mp là âm, thay thế O m bởi O p và quay lại bước 2 Nếu TC mp dương,
chuyển sang bước 4
Với mỗi đối tượng không phải medoid, xác định đối tượng
medoid tương tự với nó nhất, đồng thời, gán nhãn cụm cho chúng
End
Hình 3.4 Các bước thực hiện thuật toán PAM
Trong bước 2 và 3, PAM phải duyệt tất cả k(n - k) cặp O m , O p Với mỗi cặp,
việc tính toán TC mp yêu cầu kiểm tra (n - k) đối tượng Vì vậy, độ phức tạp tính toán của PAM là O(Ik(n-k) 2 ), trong đó I là số vòng lặp Như vậy, thuật toán PAM kém hiệu quả về thời gian tính toán khi giá trị k và n là lớn
3.1.3 Thuật toán CLARA
Thuật toán CLARA (Clustering LARge Applications) được Kaufman và
Rousseeuw đề xuất vào năm 1990 [17]-[18] nhằm khắc phục nhược điểm của thuật
toán PAM trong trường hợp giá trị k và n là lớn CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM và tìm ra các đối tượng trung tâm medoid cho mẫu được trích ra từ mẫu dữ liệu này Nếu mẫu dữ liệu được trích theo một cách ngẫu nhiên thì các medoid của nó xấp xỉ với các medoid của toàn bộ
tập dữ liệu ban đầu Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết quả
Trang 38phân cụm tốt nhất khi thực hiện phân cụm trên mẫu này Để cho chính xác, chất lượng của các cụm được đánh giá thông qua độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng dữ liệu ban đầu Kết quả thực nghiệm chỉ
ra rằng, 5 mẫu dữ liệu có kích thước 40 + 2k cho các kết quả tốt Các bước thực hiện
của thuật toán CLARA được thể hiện trong hình 3.5 như sau [17]-[18]:
Begin
For i = 1 to 5 do Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ
liệu và áp dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm
các đối tượng medoid đại diện cho các cụm
Đối với mỗi đối tượng O j trong tập dữ liệu ban đầu, xác định
đối tượng medoid tương tự nhất trong số k đối tượng medoid
Tính độ phi tương tự trung bình cho phân hoạch các đối tượng thu được ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiên
thời thì sử dụng giá trị này thay cho giá trị tối thiểu ở trạng thái trước,
như vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho
đến thời điểm này
Quay về bước 1
End
Hình 3.5 Các bước thực hiện thuật toán CLARA
Độ phức tạp tính toán của CLARA là O(k(40+k) 2
+ k(n-k)), và thuật toán có
thể thực hiện đối với tập dữ liệu lớn Cần chú ý với kỹ thuật tạo mẫu trong PCDL: kết quả phân cụm có thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt
tối ưu cục bộ Ví dụ, nếu các đối tượng medoid của dữ liệu khởi tạo không nằm
trong mẫu, khi đó kết quả thu được không được đảm bảo là tốt nhất
Ở đây, một phần nhỏ dữ liệu hiện thời được chọn như một đại diện của dữ liệu
thay vì sử dụng toàn bộ dữ liệu và sau đó medoid được chọn từ mẫu sử dụng PAM
Nếu mẫu được chọn theo cách ngẫu nhiên thì nó có thể cần phải đại diện tập dữ liệu
gốc Các đối tượng đại diện (medoids) được chọn là tương tự mà đã được chọn từ
tập dữ liệu Nó đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên mỗi mẫu, và trả lại cụm tốt nhất ở đầu ra, như vậy, CLARA có thể xử lý với tập dữ liệu lớn hơn PAM
Trang 393.1.4 Thuật toán CLARANS
Thuật toán khác cũng sử dụng kiểu k-medoid được gọi là CLARANS
(Clustering Large Applications based on RANdomized Search) do Raymond Ng và
Jiawei Han đề xuất năm 1994, đó là sự kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới [12]-[17]-[18] Ý tưởng cơ bản của CLARANS là không xem
xét tất cả các khả năng có thể thay thế các đối tượng tâm medoid bởi một đối tượng
khác, nó ngay lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất
CLARANS lấy ngẫu nhiên một đối tượng của k đối tượng medoid trong tâm của cụm và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n - k)
đối tượng còn lại Cụm thu được sau khi thay thế đối tượng trung tâm được gọi là một láng giềng của phân hoạch cụm trước đó Số các láng giềng được hạn chế bởi
tham số do người dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên Tham số Numlocal cho phép người dùng xác định số
vòng lặp tối ưu cục bộ được tìm kiếm Không phải tất cả các láng giềng được duyệt
mà chỉ Mexneighbor số láng giềng được duyệt Nếu một láng giềng tốt hơn được
tìm thấy, CLARANS di chuyển láng giềng đó tới nút và quá trình bắt đầu lặp lại; nếu không, kết quả cụm hiện thời là tối ưu cục bộ Nếu tối ưu cục bộ được tìm thấy, CLARANS bắt đầu với lựa chọn nút ngẫu nhiên mới trong tìm kiếm tối ưu cục bộ mới CLARANS không thích hợp với tập dữ liệu lớn vì nó lấy phần nhỏ của toàn bộ tập dữ liệu và được chọn để đại diện cho toàn bộ tập dữ liệu và thực hiện sau đó CLARANS không bị giới hạn không gian tìm kiếm như đối với CLARA, và trong cùng một lượng thời gian thì chất lượng của các phân cụm là lớn hơn CLARA Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như sau: [12]-[17]-[18]
Giả sử O là một tập có n đối tượng và M O là tập các đối tượng tâm medoid,
NM = O – M là tập các đối tượng không phải tâm Các đối tượng dữ liệu sử dụng trong thuật toán CLARANS là các khối đa diện Mỗi đối tượng được diễn tả bằng một tập các cạnh, mỗi cạnh được xác định bằng hai điểm Giả sử P R3 là một tập hợp tất cả các điểm Nói chung, các đối tượng ở đây là các đối tượng không gian và chúng ta định nghĩa tâm của mỗi đối tượng chính là trung bình cộng của tất cả các đỉnh hay còn gọi là trọng tâm:
Center: O P
Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là
khoảng cách Euclidean: dist: PxP R0
Trang 40Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông
qua hàm tâm: dist: OxO R0 ; sao cho dist(o i , o j ) = dist(center(o i ), center(o j )) Mỗi đối tượng được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của đối tượng đó tới tâm medoid của nó là nhỏ nhất Vì vậy, định nghĩa một tâm medoid như sau: medoid: O M sao cho mediod(o) = m i , m i M, m i
M: dist(o, m i ) dist(o, m j ), oO Cuối cùng, định nghĩa một cụm tới tâm medoid m i tương ứng là một tập con các đối tượng trong O với medoid(o) = m i
Giả sử C 0 là tập tất cả các phân hoạch của O Hàm tổng để đánh giá chất lượng
của một phân hoạch được định nghĩa là: total_distance: C0 R0 sao cho
total_distance(c) = dist(o, m i ) với m i M, o cluster(m i )
Thuật toán CLARANS chi tiết được mô tả trong hình 3.6 dưới đây:
Input: O, k, dist, numlocal và maxneighbor
j = 1;
} Else j++;
End
Hình 3.6 Thuật toán CLARANS