Phạm vi đề tài này sẽ hệ thống hoá các kết quả nghiên cứu mới nhất về Data Mining trong dữ liệu nhờ phân tích dựa trên mật độ, đồng thời chỉ ra một phương pháp tổng quát ứng dụng Data Mi
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 5
CHƯƠNG MỘT TỔNG QUAN VỀ DATA MINING 7
I I- ĐIỀU GÌ DẪN ĐẾN KỸ THUẬT DATA MINING 7
1- Nhu cầu khai thác dữ liệu 7
2- Sự cho phép của kỹ thuật và xu thế thời đại 8
II II- DATA MINING LÀ GÌ 9
1- Định nghĩa về Data Mining 9
2- Các bước trong Data Mining 10
3- Phân loại các hệ thống Data Mining 11
4- Ứng dụng của Data Mining 11
CHƯƠNG HAI CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU 13
I- KHÁI QUÁT VỀ PHÂN CỤM DỮ LIỆU 13
1-.Phân cụm dữ liệu là gì? 13
2-Các ứng dụng của phân cụm dữ liệu 13
3-Các vấn đề nghiên cứu trong phân cụm 14
4-Các yêu cầu đối với bài toán phân cụm 15
II- KHÁI QUÁT VỀ CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU 17
1-Phương pháp phân hoạch (Partitioning methods) 17
2-Phương pháp phân cấp (Hirarchical methods) 22
3- Phương pháp dựa vào mật độ (Density-based Method) 23
4- Phương pháp dựa vào chia lưới (Grid-based methods) 24
III- PHƯƠNG PHÁP PHÂN CỤM DỰA VÀO MẬT ĐỘ DBSCAN
1-Cáckháiniệm 29
2- Bổ đề chứng minh tính đúng đắn của DBSCAN: 29
3- Thuật toán DBSCAN 29
CHƯƠNG BA TÌM KIẾM PHẦN TỬ NGOẠI LAI DỰA VÀO SỐ LOF 32
I- CÁC ĐỊNH NGHĨA VỀ PHẦN TỬ NGOẠI LAI ĐỊA PHƯƠNG 1-K-distance của một đối tượng 33
2-Lân cận bán kính k-distance của đối tượng p 34
3-Khoảng cách có thể đến một đối tượng 34
4-Mật độ địa phương có thể đến được 34
Trang 35-Hệ số ngoại lai của một đối tượng ( LOF )
35
II- TÍNH CHẤT CỦA PHẦN TỬ NGOẠI LAI 36
1- Số LOF của những đối tượng nằm sâu trong cụm gần bằng 1 36
2) Cận dưới và cận trên của LOF 37
3- Giới hạn LOF của một đối đượng lân cận đến được trải trên nhiều cụm 40
II- ẢNH HƯỞNG CỦA THAM SỐ MinPts 41
1- Sự Phụ Thuộc của LOF Theo Minpts 41
2- Xác Định Miền Của Minpts 43
CHƯƠNG BỐN TÌM HIỂU KINH NGHIỆM XÂY DỰNG ỨNG DỤNG DATA MINING TRONG THỰC TIỄN 46
I- CÁC PHẠM TRÙ ỨNG DỤNG DATA MINING 47
1- Khai phá dữ liệu khám phá (Discovery data mining) 47
2- Khai phá dữ liệu đoán trước 47
II- PHƯƠNG PHÁP TỔNG QUÁT XÂY DỰNG ỨNG DỤNG 48
1- Định nghĩa vấn đề doanh nghiệp hướng tới 49
2- Định nghĩa mô hình dữ liệu 50
3- Chuẩn bị dữ liệu nguồn 51
4- Đánh giá chất lượng dữ liệu 52
5- Lựa chọn kỹ thuật Mining 53
6- Thể hiện, làm rõ và đánh gía kết quả 54
7- Sử dụng những kết quả đó 54
III – ÁP DỤNG THỰC TIỄN : 54
1- Vấn Đề Thương Nghiệp 55
2- Dữ Liệu Cần Sử Dụng 57
3- Nguồn dữ Liệu, Chuẩn Bị Dữ Liệu 61
4- Ước lượng dữ liệu 66
5- Phương Pháp Kỹ Thuật Để Khai Phá Dữ Liệu 68
6- Trình bày kết quả 74
7- Triển Khai Mô Hình 83
CHƯƠNG NĂM KẾT LUẬN VÀ ĐỀ NGHỊ 86
I- KẾT LUẬN 86
Trang 4II- ĐỀ XUẤT HƯỚNG PHÁT TRIỂN 87
TÀI LIỆU THAM KHẢO 88
Trang 5LỜI NÓI ĐẦU
Triết học Á đông nói rằng mọi thứ được sinh ra trên đời đều có “lý”, nhưng thực tế cái “lý” ấy nhiều khi chúng ta không hiểu được hoặc vì nó không được thể hiện tường minh, hoặc vì sự xuất hiện của nó quá ngắn ngủi chúng ta không kịp “nhìn thấy” hoặc nó xuất hiện rất thưa chúng ta không đủ “độ dày” để thống kê nên đã không chịu chấp nhận cái “lý” của nó hoặc là cố tình phớt lờ nó
đi Một ví dụ khá điển hình đó là “Hoa nở vào mùa xuân” - tại sao? Vì người ta thấy ( thông kê ) như vậy – nhưng không thể kết luận rằng “Hoa Cúc nở vào mùa thu” là vô lý
Những nhà triết học đã đưa tư tưởng của họ vượt qua những gì “Mắt thấy – tai nghe” và những nhà khoa học luôn cố gắng tìm cách chứng minh những điều ấy là sự thật Họ cố gắng tìm kiếm những gì không nhìn thấy và cả những gì chưa nhìn thấy
Ngày nay với sự phát triển mạnh mẽ của công nghệ - nhất là công nghệ sinh học và công nghệ thông tin, con người có thể “nhìn xa trông rộng” hơn Và một trong các xu hướng để mở rộng “tầm nhìn” đó là tìm kiếm những gì chứa đựng ngay trong cái mà chúng ta đang có
Tài sản lớn nhất của nhân loại đó là thông tin Thông tin ngày nay được lưu trữ nhiều nhất là trong các hệ thống thông tin (nội bộ và toàn cầu) – Đó là các
Cơ sở dữ liệu – thông tin ấy đã được sử dụng tường minh trực tiếp và qua các báo cáo thông kê Nhưng ngoài ra những thông tin ấy còn có thể nói lên nhiều điều nữa mà người có nó còn chưa thấy được
Bởi vậy, việc khám phá tri thức trong Cơ sở dữ liệu ( KDD – Knowledgle Discovery in Database ) nói chung và Khai phá dữ liệu (Data Mining) nói riêng đang được nhiều người quan tâm nghiên cứu
Trang 6Phạm vi đề tài này sẽ hệ thống hoá các kết quả nghiên cứu mới nhất về Data Mining trong dữ liệu nhờ phân tích dựa trên mật độ, đồng thời chỉ ra một phương pháp tổng quát ứng dụng Data Mining trong thực tiễn dựa theo kinh nghiệm của IBM và chỉ ra một áp dụng thực tiễn điển hình bài toán dự đoán khuấy động “Dự đoán khách hàng có thể rời bỏ Công ty viễn thông”
Ngoài phần mở đầu, kết luận, luận văn được chia thành các chương sau: Chương 1: Giới thiệu về các khái niệm cơ bản, quá trình hình thành phát triển, các bước cơ bản trong kỹ thuật, các cách phân loại và những ứng dụng của Data mining
Chương 2 : Giới thiệu tổng quan về các phương pháp phân cụm dữ liệu và các thuật toán phân cụm dữ liệu điển hình đồng thời trình bày chi tiết về thuật toán DBSCAN
Chương 3 : Trình bày kết quả mới nhất về lý thuyết cơ bản đánh giá phần
tử ngoại lai dựa vào số LOF trong đó đưa ra các định nghĩa chặt chẽ hơn về phần
tử ngoại lai khi xem xét các đối tượng trong tập dữ liệu dựa trên mật độ theo cách nhìn địa phương Trình bày cấp độ ngoại lai và các tính chất của từng đối tượng
Chương 4: Trình bày kinh nghiệm ứng dụng kỹ thuật Data Mining trong thực tiễn của IBM và xem xét các khía cạnh của ứng dụng dự đoán khuấy động
do IBM thực hiện cho các công ty Viễn thông trên thế giới
Trong quá trình thực hiện đề tài, tôi đã cố gắng rất nhiều, nhưng do lần đầu tiên mới làm quen với kỹ thuật Data Mining, hơn nữa do thời gian có hạn, và bản thân tôi gặp phải khó khăn về sức khoẻ nên kết quả đạt được không tránh khỏi những khiếm khuyết Kính mong được sự góp ý của quý Thầy Cô và các bạn đồng nghiệp
Tp Hồ chí Minh, Tháng 5 năm 2004
PHAN THỊ HỒNG THU
Trang 7CHƯƠNG MỘT TỔNG QUAN VỀ DATA MINING
I- ĐIỀU GÌ DẪN ĐẾN KỸ THUẬT DATA MINING
Data Mining được bắt nguồn từ những lĩnh vực: Hoc máy, kỹ thuật nhận dạng, thống kê, cơ sở dữ liệu và trực quan hoá, nhằm hướng tới vấn đề trích ra những thông tin từ một cơ sở dữ liệu lớn nhằm hỗ trợ dự đoán và ra quyết định
Mặc dù vậy với những phương pháp và kỹ thuật truyền thống đã không thể tạo điều kiện để Data Mining phát triển mạnh với một lý do đơn giản là các phương pháp truyền thống không thể đáp ứng nhu cầu thời gian thực
Một sự trùng hợp tuyệt vời kéo theo sự phát triển của Data Mining đó chinh là sự gặp gỡ của hai
yếu tố:
1- Nhu cầu khai
thác dữ liệu của doanh
nghiệp: Môi trường doanh
nghiệp thay đổi và sự quan
tâm của các nhà quản lý
2- Sự cho phép của
những phương tiện thực
hiện nó: Chính là sự phát
triển về mặt kỹ thuật của
Công nghệ thông tin
1- Nhu cầu khai thác
dữ liệu
Xã hội hiện nay có
thể nói đó là một xã hội
thông tin, mỗi doanh
nghiệp hay một tổ chức, lượng thông tin ngày càng chồng chất và được tích luỹ với một tốc độ bùng nổ Mỗi chuyên viên hay cán bộ quản lý luôn bị ngập đầu
Trang 8trong dữ liệu với một sức ép là phải luôn đưa ra những quyết định dựa trên những phán đoán theo những thông tin hiện có của doanh nghiệp hay tổ chức ấy
Xã hội càng phát triển, chu kỳ sống của một sản phẩm càng ngắn ngủi điều ấy có nghĩa là mức độ cạnh tranh càng cao, sự sống còn của doanh nghiệp phụ thuộc vào những quyết đinh sáng suốt có tinh chiến lược, mà mọi sự quyết đinh đúng đắn đều phải dựa trên nền tảng thông tin và dự đoán Những nhà quản trị doanh nghiệp thấy rõ những thông tin dự đoán mang lại lợi ích vô cùng to lớn cho doanh nghiệp của họ - điều này đã thúc đẩy họ sẵn sàng bỏ ra những chi phí cho việc phát triển Data Mining
2- Sự cho phép của kỹ thuật và xu thế thời đại
Hơn 40 năm của Công nghệ thông tin đã dẫn tới việc tồn tại những kho dữ liệu khổng lồ được lưu trong các hệ thống máy tính (tính bằng gigabytes và tetabytes )
Xu hướng giải pháp công nghệ thông tin hiện nay là lưu trữ thông tin tập trung trên những hệ thống máy chủ ngày càng mạnh, kể cả dữ liệu của chính phủ, các tổ chức lợi nhuận và phi lợi nhuận đến các doanh nghiệp ngoài ra còn rất nhiều thông tin có thể tải về trên các website và các Cơ sở dữ liệu dùng chung
Những giải thuật mới được sản sinh từ các trường Đại học và các trung tâm nghiên cứu ngày càng được chuyển tới ứng dụng vào đời sống xã hôi bởi sự liên kết ngày càng tăng giữa Các trường Đại học, các trung tâm nghiên cứu với môi trường thương mại
Công nghệ tính toán song song và sự phát triển của những thuật toán phức tạp cộng thêm sức mạnh ngày càng vượt trội của các máy tính cá nhân cho phép thể hiện trực quan hình ảnh của những thông tin trừu tượng cũng là một chìa khoá để mở cửa cho Data Mining
II- DATA MINING LÀ GÌ
1- Định nghĩa về Data Mining
Data Mining được hiểu như một tiến trình nhằm mục tiêu dự đoán những kiến thức mới có khả năng hữu dụng và tối thiểu là có thể hiểu được trong dữ liệu
Trang 9Có rất nhiều định nghĩa về Data Mining, tạm thời ta có thể hiểu Data mining như một công nghệ tri thức giúp ta khai thác những thông tin hữu ích từ những kho lưu trữ dữ liệu hiện có trong hệ thống công nghệ thông tin Dưới đây
là một trong số các định nghĩa ấy:
“Data Mining là sự thăm dò và trích ra những thông tin hữu ích không biêt trước tiềm ẩn trong cơ sở dữ liệu lớn”
sự ra đời và phát triển của Data Mining Nhiều kỹ thuật của Data Mining thực chất đã được sử dụng trong suốt thời kỳ đó nhưng chủ yếu là ứng dụng với các bài toán khoa học
Trang 10Với sự ra đời của Cơ sở dữ liệu quan hệ và khả năng lưu trữ một kho dữ liệu rất lớn đã là một cầu nối giữa những kỹ thuật đang ứng dụng cho những bài toán khoa học có thể áp dụng ra môi trường thương mại
Và một điều khẳng định chắc chắn rằng: Data mining không thể tách rời giữa kỹ thuật, công nghệ và giải pháp Công nghệ thông tin
2- Các bước trong Data Mining
Có thể phân chia kỹ thuật Data mining thành các bước chính sau đây:
a) Tích hợp dữ liệu (data integration): Quá trình hợp nhất dữ liệu
thành những kho dữ liệu (data warehouses & data marts) sau khi làm sạch và tiền xử lý (data cleaning & preprocessing)
b) Trích chọn dữ liệu (data selection): Trích chọn dữ liệu từ những
kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
c) Khai thác dữ liệu (data mining): tìm kiếm, khám phá tri thức từ dữ
liệu đã được trích chọn trong bước hai Bước này – tuỳ theo từng bài toán – sẽ áp dụng những kỹ thuật khác nhau mà chúng ta sẽ làm quen trong các phần sau
d) Đánh và giá diễn biến tri thức (knowledge evaluation & presentation): Đánh giá và biểu diễn tri thức vừa khai thác được trong
bước ba sang dạng gần gũi với người dùng hơn để sẵn sàng cho việc sử dụng
3- Phân loại các hệ thống Data Mining
Data Mining là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác nhau như cơ sở dữ liệu, học máy (machine learning), giải thuật trực quan hoá v.v
Chúng ta có thể phân loại các hệ thống Data Mining dựa trên các tiêu chí khác nhau sau đây :
Trang 11a) Phân loại dựa trên dữ liệu: cơ sở dữ liệu quan hệ (relation
database), kho dữ liệu (data warehouse), cơ sở dữ liệu giao dịch (transactional database), cơ sở dữ liệu không gian (spatial database), cơ
sở dữ liệu đa phương tiện (multimedia database), cơ sở dữ liệu text & www, v.v
b) Phân loại dựa trên loại tri thức khám phá: tóm tắt và mô tả
(summarization & description) luật kết hợp (association rules), phân lớp (classification), phân cụm (clustering), khai phá chuỗi (sequential mining), v.v
c) Phân loại dựa trên kỹ thuật được áp dụng: hướng cơ sở dữ liệu
(database-oriented), phân tích trực tuyến (Online analytical Processing – OLAP), machine learning (cây – quyết định, mạng nơ ron nhân tạo , k-mean, giải thuật di truyền, máy vectơ hỗ trợ - SVM, tập thô, tập mờ, v.v.), trực quan hoá (visualization), v.v
d) Phân loại dựa trên lĩnh vực được áp dụng: kinh doanh bán lẻ
(retial), truyền thông (telecommunication), tin-sinh (bio-informaties) y học (medical treatment), tài chính và thị trường chứng khoán (finance & stock market), Web mining, v.v
4- Ứng dụng của Data Mining
Dễ thấy rằng Data Mining có thể ứng dụng vào mọi lĩnh vực, miễn là các
dữ liệu được lưu trữ số hoá và người sử dụng nó thực sự cần tới những thông tin tiềm ẩn trong dữ liệu
Có thể liệt kê ra đây những ứng dụng điển hình của Data Mining hiện nay trên thế giới:
Trang 12 Phân tích dữ liệu và hỗ trợ ra quyết định
Dự báo trong điều trị y học
Hoá học
Vật lý học
V.v
Trang 13CHƯƠNG HAI
CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
I- KHÁI QUÁT VỀ PHÂN CỤM DỮ LIỆU
ra sự giống nhau giữa các đối tượng theo một độ đo nào đó đặc trưng cho mỗi lớp
Việc phân cụm không độc lập mà thường được kết hợp với các phương pháp khác Ta có thể thấy thông qua ví dụ về phân cụm để tìm hiểu các vì sao và
độ sáng của nó
2- Các ứng dụng của phân cụm dữ liệu
Phân cụm là một lĩnh vực hoạt động quan trọng của con người Khi còn
bé, đứa trẻ học cách phân biệt giữa các đồ vật, giữa động vật và thực vật bằng cách liên tục thay đổi nhận thức trong quan hệ phân cụm Việc phân cụm đã được ứng dụng trong nhiều lĩnh vực: nhân dạng mẫu, phân tích dữ liệu, xử lý ảnh và nghiên cứu thị trường Bằng các phân cụm, chúng ta có thể nhận ra được các miền dày đặc hoặc thưa thớt Do vậy, phát hiện ra được sự phân bố các mẫu và
có thể thấy được sự tương quan giữa các thuộc tính của dữ liệu
Trong kinh doanh, phân cụm có thể giúp các nhà nghiên cứu thị trường phát hiện ra các nhóm khách hàng khác nhau và đặc tính của từng nhóm khách hàng này dựa vào dữ liệu mua bán
Trang 14Trong sinh học, phân cụm được sử dụng để phân loại thực vật, động vật, phân loại gen và có được những thông tin chi tiết hơn về cấu trúc dân cư
Phân cụm cũng có thể giúp nhận dạng các vùng đất giống nhau dựa vào cơ
sở dữ liệu quan sát được trên trái đất, phân chia các nhóm nhà trong thành phố theo các tiêu chí, kiểu dáng, giá trị, vị trí địa lý
Phân cụm cũng giúp cho việc phân chia tài liệu trên Web dựa vào nội dung thông tin
Ngoài ra, phân cụm có thể dùng như một bước tiền xử lý cho các thuật toán như phát hiện ra các đặc tính và phân loại dữ liệu Sau đó thuật toán sẽ thực hiện trên cụm dữ liệu đã được phát hiện
3- Các vấn đề nghiên cứu trong phân cụm
Có rất nhiều vấn đề nghiên cứu về phân cụm trong các lĩnh vực khác như: khai phá dữ liệu, thống kê, học máy, công nghệ cơ sở dữ liệu không gian, sinh học và nghiên cứu thị trường Do kích thước cơ sở dữ liệu tăng lên rất nhanh, gần đây phân cụm dữ liệu đã thực sự trở thành chủ đề đáng quan tâm trong nghiên cứu khai phá dữ liệu
Trong lĩnh vực thống kê, phân cụm đã được nghiên cứu phát triển trong nhiều năm, tập trung chủ yếu vào phân cụm dựa vào khoảng cách Các công cụ phân cụm dựa trên một số phương pháp như k-mean, k-medoids đã được xây dựng trong nhiều hệ thống phần mềm thống kê như S-plus, SPSS và SAS Trong học máy, phân cụm là một ví dụ về học không thầy Không giống như sự phân loại, phân cụm và học không thầy không dựa vào các lớp được định nghĩa trước
và ví dụ huấn luyện Nó là một hình thức học bằng quan sát, đúng hơn học bằng
ví dụ Trong quan niệm về phân cụm, một nhóm các đối tượng tạo thành một lớp nếu nó được mô tả bằng một khái niệm
Khái niệm phân cụm bao gồm 2 phần:
Phát hiện ra lớp thích hợp
Đưa ra sự mô tả cho mỗi lớp, giống trong phân loại
Nguyên tắc phân chia là cố gắng phân các đối tượng có sự giống nhau lớn nhất và sự khác biệt nhỏ nhất vào một cụm
Trang 15Trong khai phá dữ liệu, các vấn đề nghiên cứu trong phân cụm chủ yếu tập trung vào tìm kiếm các phương pháp phân cụm có hiệu quả và tin cậy trong
cơ sở dữ liệu lớn Các yêu cầu đặt ra là: tính hiệu quả (effectivenness) và tính tuyến tính (scalability) của thuật toán, khả năng làm việc của phương pháp với các cụm có hình dạng phức tạp, kiểu dữ liệu trong không gian đa chiều, phương pháp phân cụm dữ liệu dạng số và dữ liệu dạng khác trong cơ sở dữ liệu
4- Các yêu cầu đối với bài toán phân cụm
Phân cụm là một lĩnh vực nghiên cứu với nhiều thách thức, và ở đó tiềm năng ứng dụng của nó đáp ứng rất nhiều yêu cầu đặc biệt của con người Các yêu cầu cụ thể là:
Có thể làm việc với cơ sở dữ liệu lớn: Nhiều thuật toán phân cụm
làm việc tốt với dữ liệu nhỏ chứa ít hơn 200 đối tượng dữ liệu Tuy nhiên, một cơ sở dữ liệu lớn có thể chứa hàng triệu đối tượng Phân cụm trên một mẫu của một tập dữ liệu lớn có thể dẫn đến một kết quả kém chính xác Do đó đòi hỏi phải có một thuật toán riêng áp dụng cho cơ sở
dữ liệu lớn
Có thể làm việc với nhiều loại dữ liệu khác nhau: Nhiều thuật toán
đã được thiết kế để phân cụm dữ liệu dạng số Tuy nhiên, trong thực tế
có thể yêu cầu phân cụm với nhiều kiểu dữ liệu khác như: nhị phân, chuỗi, liệt kê, hoặc tổng hợp của các kiểu dữ liệu này
Phát hiện các cụm dữ liệu có hình dạng bất kỳ: Các thuật toán phân
cụm phần lớn xác định các cụm dựa vào khoảng đo lường Euclidean hoặc Mahatran Thuật toán dựa vào phép đo khoảng cách có xu hướng tìm các cụm có hình cầu và có mật độ và kích thước giống nhau Tuy nhiên, một cụm có thể có hình dạng bất kỳ Do đó, phát triển thuật toán
có khả năng tìm ra các cụm với hình dạng bất kỳ là rất quan trọng
Tối thiểu các tham số đầu vào: Nhiều thuật toán phân cụm yêu cầu
người dùng nhập vào tham biến nào đó trong phân cụm (như là số cụm mong muốn) Kết quả phân cụm có thể khá nhạy với tham số vào Tuy
Trang 16nhiên, tham biến vào thường khó xác định, đặc biệt là tập dữ liệu chứa đối tượng không gian đa chiều Điều này không chỉ gây khó khăn cho người sử dụng mà còn làm cho chất lượng phân cụm khó kiểm soát
Khả năng làm việc với các dữ liệu nhiễu: Hầu hết cơ sở dữ liệu thực
đều chứa dữ liệu không đầy đủ, hoặc không biết rõ, hoặc dữ liệu lỗi Một
số thuật toán phân cụm bất biến với dữ liệu kiểu này và có thể dẫn tới các cụm có chất lượng không cao
Không phụ thuộc thứ tự dữ liệu đưa vào: Một số thuật toán phân
cụm không bất biến với thứ tự dữ liệu vào Ví dụ, cùng một tập dữ liệu, khi chúng được đưa vào với các thứ tự khác nhau cho cùng một thuật toán, kết quả có thể tạo ra các cụm khác nhau rõ rệt Để phát triển thuật toán thì tính độc lập với dữ liệu đầu vào là rất quan trọng
Khả năng làm việc với dữ liệu đa chiều: Một cơ sở dữ liệu hoặc một
kho dữ liệu tích hợp (data warehouse) có thể nhiều chiều hoặc nhiều thuộc tính Nhiều thuật toán phân cụm rất tốt khi xử lý dữ liệu ít chiều, hai hoặc ba chiều Đây là một thách thức trong việc phân cụm các đối tượng dữ liệu trong không gian nhiều chiều, đặc biệt khi các dữ liệu đó
là thưa thớt và không đối xứng
Phân cụm dựa trên sự ràng buộc: Nhiều ứng dụng thực tế có thể cần
thực hiện phân cụm dưới các loại ràng buộc khác nhau Một nhiệm vụ thách thức là tìm ra nhóm dữ liệu với việc phân cụm tốt nhất thỏa mãn yêu cầu ràng buộc
Tính dễ dùng và dễ hiểu: Người sử dụng mong chờ kết quả phân cụm
để có thể hiểu được đầy đủ, và có thể dùng được Điều đó có nghĩa là, việc phân cụm phải mang lại ý nghĩa và ứng dụng Việc nghiên cứu một mục đích ứng dụng ảnh hưởng quan trọng đến lựa chọn phương pháp phân cụm
Với các yêu cầu đặt ra, rất khó tìm được một phương pháp phân cụm nào đáp ứng đầy đủ các yêu cầu trên Do vậy, tìm được một phương pháp đáp ứng
Trang 17được càng nhiều yêu cầu của bài toán phân cụm luôn là một thách thức lớn trong lĩnh vực khai phá dữ liệu Nó đòi hỏi nhiều công sức, thời gian để đạt được những kết quả tốt
II- KHÁI QUÁT VỀ CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU
Có rất nhiều thuật toán phân cụm khác nhau Việc lựa chọn một thuật toán thích hợp phụ thuộc vào kiểu dữ liệu cần thực hiện cũng như mục đích của từng ứng dụng Nếu phân cụm được thực hiện như một công cụ mô tả hoặc thăm dò, khi đó phải thực hiện nhiều thuật toán phân cụm khác nhau trên một tập dữ liệu
để tìm ra một phương pháp phù hợp nhất Các phương pháp phân cụm có thể kể đến như: phương pháp phân hoạch, phương pháp phân cấp, phương pháp dựa vào mật độ, phương pháp chia lưới
1- Phương pháp phân hoạch (Partitioning methods)
Phân hoạch là thuật toán phổ dụng Cho trước một tập D có n đối tượng trong không gian d chiều và một tham số k Thuật toán phân hoạch tổ chức các đối tượng thành k cụm sao cho độ lệch của mỗi đối tượng đến tâm của cụm hoặc đến một phân phối cụm (cluster distribution) là nhỏ nhất Các thuật toán khác nhau tính độ lệch của một điểm theo các cách khác nhau Độ lệch này thường được gọi là hàm tương đồng (similarity function)
Phương pháp phân hoạch có 3 thuật toán chính: thuật toán k-means (MacQueen 1967), thuật toán mong đợi cực đại (Expectation Maximization-EM) (Bradley et al 1998 ; Dempster et al 1977 ; Yu et al 1988) và thuật toán k-medoids (Kaufiman và Rousseenw 1990) Ba thuật toán này dùng các cách khác nhau để thể hiện các lớp Thuật toán k-means sử dụng centroid (giá trị trung bình của các đối tượng trong một nhóm làm tâm nhóm) Thuật toán k-medoids sử dụng đối tượng gần tâm nhất trong nhóm Khác với k-means và k-medoids, EM
sử dụng một phân phối gồm một giá trị trung bình, một ma trận kích thước d x d
để thể hiện cho mỗi cụm Thay và gán mỗi đối tượng vào một cụm dành cho nó,
EM gán mỗi đối tượng vào một cụm dựa vào xác suất thuộc về cụm đó - xác suất này được tính từ phân phối của mỗi cụm Theo cách này, mỗi cụm có một xác
Trang 18suất nhất định thuộc về mỗi cụm, điều này làm cho phân cụm theo EM là một kỹ thuật phân hoạch mờ nhạt
Mặc dù có sự khác nhau trong cách phân cụm, ba thuật toán đều có chung một cách tiếp cận Đầu tiên, các thuật toán cố gắng tìm k tâm để đánh giá tiêu chuẩn đưa ra Khi đã tìm thấy k tâm tốt nhất thì n đối tượng được xếp vào k nhóm một cách tự động
Tuy nhiên, bài toán tìm k tâm tốt nhất toàn cục được coi là bài toán NP
Do đó 3 thuật toán sử dụng một kỹ thuật khác - kỹ thuật định vị lặp đi lặp lại (iterative relocation), cho phép tìm thấy tốt nhất địa phương Kỹ thuật này được minh họa trong thuật toán tổng quát dưới đây Tuy nhiên, các hàm tiêu chuẩn trong ba thuật toán khác nhau và chúng cũng khác nhau trong bước 3 và 4 của thuật toán tổng quát Yếu điểm chung của cả ba thuật toán dựa trên phân hoạch là
ta phải chỉ định tham số k và không thể tìm ra các lớp có hình dạng bất kỳ
a) Sơ đồ thuật toán tổng quát thuật toán Iterative Relocation:
Input: Số cụm k và một cơ sở dữ liệu chứa nội dung đối tượng
Output: Một tập k cụm sao cho hàm tiêu chuẩn lỗi E nhỏ nhất
Until “tâm mới không thay đổi”
b) Thuật toán phân họach k-means:
K-means là một phương pháp sử dụng rộng rãi trong thực tế và nó có thể được biến đổi thích hợp với từng bài toán cụ thể Phương pháp này được J.B MacQueen đưa ra vào năm 1967 Để đơn giản cho việc mô tả, ta sử dụng mô hình dữ liệu hai chiều nhưng trong thực tế, thuật toán này có thể áp dụng cho dữ liệu đa chiều
Bước đầu tiên ta chọn k điểm dữ liệu làm nhân (seed) (Trong thuật toán MacQueen lấy k điểm dữ liệu đầu tiên) Tổng hợp tổng quát, việc chọn nhân là
Trang 19những điểm có khoảng cách không gian giữa chúng lớn có thể đáp ứng cho việc phân cụm tốt hơn
Bước tiếp theo xác định các điểm dữ liệu còn lại vào các cụm sao cho việc chia đó là thích hợp nhất Điều đó có thể thực hiện một cách đơn giản bằng cách chia điểm dữ liệu vào cụm nào gần nó nhất Khoảng cách đó được đo bằng khoảng cách từ điểm đó đến tâm của cụm
Thực hiện phân cụm theo cách này thì chỉ đơn giản vẽ đường thẳng vuông góc đi qua trung điểm của seed1_seed2, ta chia được tập điểm làm hai phần Những điểm nàm cùng phía với seed1 không thể nằm trong cụm chứa seed2 và ngược lại Tương tự, ta thực hiện phân chia đối với seed2_seed3, seed1-seed3 sẽ phân được các điểm vào một trong ba cụm Nếu trong không gian p chiều thì không đơn thuần là một đường thẳng mà là một siêu phẳng p-1 chiều
Sau khi đã thực hiện đối với tất cả các điểm dữ liệu, chúng ta chia được tất
cả các điểm này vào k cụm Tiếp theo, ta tính lại tâm của cụm Cách đơn giản để tính lại tâm của cụm là xác định trung bình cộng của tất cả các điểm trong cụm
đó
c) Thuật toán phân hoạch k-medoids:
Thuật toán k-means khá nhạy đối với những đối tượng ở xa trung tâm (gọi
là nhiễu) Một đối tượng với một giá trị vô cùng lớn có thể dẫn đến sai lệch căn bản sự phân bố của dữ liệu
Vậy phải sửa đổi thuật toán như thế nào để có thể làm giảm điều đó ?
Khác với k-means, thay và đưa ra giá trị means của các đối tượng trong một
nhóm, medoids có thể được dùng như là đối tượng chính đã được định vị trong
một nhóm Như vậy, phương pháp phân cụm vẫn được thực hiện dựa trên nguyên
tắc cực tiểu hóa tổng các sai khác giữa mỗi đối tượng và đối tượng medois có liên quan tương ứng với chúng Điều này hình thành cơ bản phương pháp k-
medoids
Chiến lược cơ bản của thuật toán phân cụm k-medoids là tìm kiếm k nhóm
trong n đối tượng bằng cách: tìm kiếm tùy ý một đối tượng medois (đại diện) đầu tiên đối với mỗi nhóm Mối đối tượng còn lại được nhóm cùng với đối tượng
Trang 20medois mà nó giống nhất Sau đó là chiến lược lặp thay thế một đối tượng
medois bởi một đối tượng medois mới Việc lặp kéo dài làm đặc tính của kết quả
phân cụm sẽ được cải tiến Đặc tính này đã được đánh giá bởi việc sử dụng một hàm giá Đó là độ đo sự sai khác trung bình giữa một đối tượng và đối tượng
medoids của chính nhóm đó Việc xác định rõ có hay không một đối tượng
không là medois, Orandom, là một sự thay thế tốt đối với một đối tượng medois hiện thời, Oj, bốn trường hợp sau cụ thể hóa cho mỗi đối tượng không là medois, p:
- Trường hợp 1: p thuộc đối tượng medois Oj Nếu Oj đã được thay thế bởi
Orandom bằng một đối tượng medois và p ở gần nhất với đại diện của Oi , i j, khi
đó p được ấn định lại là Oi
- Trường hợp 2: p hiện thời thuộc về đại diện Oj, i j bằng một đại diện
và p là ở gần nhất với Orandom, khi đó p được ấn định lại là Orandom
- Trường hợp 3: p hiện thời thuộc về đại diện Oi , ij Nếu Oj đã được thay thế bởi Orandom bằng một đại diện và p vẫn ở gần nhất với Oi, i j, khi đó p không thay đổi
- Trường hợp 4: p hiện thời thuộc về đại diện Oi , i j Nếu Oj đã được thay thế bởi Orandom bằng một đại diện và p là ở gần nhất với Orandom, khi đó p được ấn định lại là Orandom
Hình 5 minh họa bốn trường hợp Mỗi lần một sự phân chia xảy ra, một sự khác nhau trong E bình phương lỗi được góp phần vào hàm giá Bởi vậy hàm giá tính toán sự khác nhau trong giá trị lỗi bình phương nếu một đại diện hiện thời đã được thay thế bởi một đối tượng không đại diện Toàn bộ giá của sự hoán chuyển
Trang 21là tổng của các giá đã được chịu bởi tất cả các đối tượng không đại diện Nếu toàn bộ giá là không có, khi đó Oj được thay thế hoặc được hoán đổi với Orandom
từ lỗi bình phương thực E đã được rút gọn Nếu toàn bộ giá là dương, đại diện hiện thời Oj đã được xem xét có thể chấp nhận, và không có sự thay đổi nào trong việc lặp lại
Thuật toán k-medoids:
Thuật toán k-medoids đối với sự phân cụm dựa trên đại diện hoặc các đối tượng trung tâm
Input: Số nhóm k và một cơ sở dữ liệu chứa n đối tượng
Output: Một tập của k nhóm mà tổng sự sai khác của tất cả các đối
tượng với đại diện gần chúng nhất giảm đến mức tối thiểu
(1) Chọn tùy ý k đối tượng làm các đại diện ban đầu
Until < không thay đổi>
PAM (Partitioning around Medoid) là một thuật toán k - đại diện đầu tiên được giới thiệu Nó cố gắng định rõ k phần trong bộ n đối tượng Sau khi lựa chọn ngẫu nhiên k đại diện, thuật toán cố gắng lặp để đưa ra một sự lựa chọn tốt hơn các đại diện Tất cả các nhóm (k phần) của các đối tượng đã được phân tích,
ở đây mỗi đối tượng trong mỗi phần đã được xem xét là một đại diện và những đối tượng khác thì không là đại diện Đặc tính của kết quả phân cụm được tính toán đối với mỗi sự phối hợp như vậy, một đối tượng Oj, được thay thế bởi một đối tượng sao cho việc giảm bình phương lỗi là lớn nhất Tập các đối tượng tốt hơn đối với mỗi nhóm trong mỗi phép lặp hàng hóa các đại diện đối với phép lặp tiếp theo Đối với các giá trị vô cùng lớn của n và k, việc tính toán như vậy trở nên rất có giá trị
Trang 22 So sánh hai thuật toán:
"Thuật toán mạnh hơn là means hay medoids ?" Thuật toán medoids là mạnh hơn so với thuật toán k-means trong sự hiện diện của các đối tượng nhiễu và các đối tượng ở xa trung tâm, bởi vì một đại diện là được ảnh hưởng ít nhất bởi cái ở xa trung tâm hoặc các giá trị tận cùng là khác hơn với một giá trị trung bình Tuy nhiên, quá trình của nó là tốn kém hơn so với phương pháp k-means Cả hai thuật toán đòi hỏi người dùng định rõ k là số các nhóm
k-2- Phương pháp phân cấp (Hirarchical methods)
Phương pháp phân cấp thực hiện bằng cách nhóm các đối tượng dữ liệu trên cây phân cấp Phương pháp phân cụm phân cấp được chia ra làm hai loại: phân cấp theo kiểu từ dưới lên (bottom up) và phân cấp theo kiểu từ trên xuống (top down) Chất lượng của phương pháp tùy thuộc vào quyết định phân cụm
a) Phân cụm theo phương pháp từ dưới lên:
Phương pháp phân cụm từ dưới lên dựa vào độ đo khoảng cách giữa hai nhóm các đối tượng ở mỗi bước để quyết định ghép hai nhóm đó hay không Khởi tạo số cụm bằng số điểm dữ liệu Mọi cụm chỉ có duy nhất một điểm dữ liệu (nếu cơ sở dữ liệu có N điểm dữ liệu thì ban đầu sẽ có N cụm) Sau đó, tại mỗi bước ghép hai cụm có khoảng cách nhỏ nhất (mức độ giống nhau là lớn nhất) Sau N-1 bước, ta được một cụm duy nhất
Cụm sau khi thực hiện N-1 bước gọi là cụm gốc Cùng với cây mới tạo được, chúng ta có thể chọn k cụm thích hợp cho bài toán bằng cách cho vào một tham số để kết thúc việc cụm Cách làm này đưa đến một bài toán nhỏ hơn đó là phải đo được khoảng cách giữa hai cụm
b) Phân cụm theo phương pháp từ trên xuống:
Phương pháp phân cụm từ trên xuống sẽ thực hiện quá trình ngược lại với phương pháp trước, tại mỗi bước sẽ quyết định phân chia một cụm hay không Khởi tạo ban đầu chỉ có một cụm gồm tất cả các điểm có trong cơ sở dữ liệu, quá trình thực hiện tương tự như việc xây dựng một cây bắt đầu từ gốc Chúng ta tìm cách chia mỗi nút gốc (nút cha) thành hai nút con (trong thuật toán mở rộng, số nút con tách ra từ một nút có thể lớn hơn hai) Quá trình được thực hiện cho đến
Trang 23khi thỏa mãn điều kiện về cụm đã đưa vào hoặc đến khi mỗi cụm chỉ gồm một đối tượng
Khó khăn của phương pháp phân cấp là việc chọn điểm để thực hiện quá trình ghép hoặc phân cụm tiếp theo sẽ được thực hiện tiếp trên lớp đã được tạo
ra Khi đã đưa ra quyết định ghép cụm lại hoặc phân chia cụm, ta không thể thực hiện lại Do vậy, một điểm thuộc cụm này sẽ không thể chuyển sang cụm khác
3- Phương pháp dựa vào mật độ (Density-based Method)
Hầu hết các phương pháp phân hoạch để phân cụm đối tượng đều dựa vào khoảng cách giữa các đối tượng Các phương pháp đó chỉ có thể tìm được ra các cụm có dạng hình cầu và tỏ ra khó khăn khi các lớp có hình dạng bất kỳ Các phương pháp phân cụm khác đều được sử dụng dựa trên khái niệm mật độ Chúng thường đánh giá các cụm như một vùng dày đặc các đối tượng trong không gian dữ liệu - các cụm này được phân biệt bằng các vùng có mật độ đối tượng thấp (nhiễu) Có thể dùng phương pháp dựa trên mật độ để lọc nhiễu (outlier) và tìm ra các cụm có hình dạng bất kỳ
Thuật toán dựa trên mật độ đầu tiên là Density - Based Clustering of Applications with Noise (DBSCAN) (Ester et al 1996) Thuật toán này đánh giá mật độ xung quanh lân cận của một đối tượng là đủ lớn nếu số điểm dữ liệu trong đường tròn bán kính của đối tượng đó lớn hơn MinPts - số các đối tượng Vì các cụm được phát hiện thuộc tham số và MinPts nên hiệu quả của thuật toán phụ thuộc vào khả năng chọn tập tham số tốt của người dùng Để giải quyết vấn
đề này, phương pháp Ordering Points to Identify the Clustering Structer (OPTICS) đã được đề xuất (Ankerst et al 1999) Không chỉ phân cụm toàn bộ tập dữ liệu, OPTICS còn sắp xếp các cụm theo thứ tự tăng dần để phân tích các cụm một cách tự động và liên tiếp
Để xử lý các truy vấn lân cận một cách hiệu quả, hai phương pháp đều dựa trên cấu trúc chỉ số không gian như cây R* (Beckmann et al 1990) hoặc cây
X (Berchtold et al 1996) Tuy nhiên, tính hiệu quả cũng bị giảm theo chiều tăng của số chiều Nghĩa là, DBSCAN và OPTICS không hiệu quả cho dữ liệu có số chiều lớn
Trang 24Để thao tác với dữ liệu có số chiều lớn một cách có hiệu quả, thuật toán Density Clustering (DEN-CLUE) (Hinneburg và Keim 1998) dựa trên mô hình hóa mật độ toàn thể của điểm dữ liệu theo phép giải tích - là tổng hợp của các hàm tác động của các điểm dữ liệu quanh nó Để tính tổng các hàm tác động một cách hiệu quả, người ta sử dụng cấu trúc lưới Các thử nghiệm của Hinneburg và Keim đã cho thấy DENCLUE thực hiện tốt hơn DBSCAN gấp 45 lần Tuy nhiên, cần phải lựa chọn cẩn thận các tham số phân cụm cho DENCLUE - các tham số này có thể tác động đáng kể đến chất lượng phân cụm
4- Phương pháp dựa vào chia lưới (Grid-based methods)
Các phương pháp dựa trên mật độ như DBSCAN và OPTICS là các phương pháp dựa trên chỉ số - không hiệu quả khi số chiều lớn Để tăng hiệu quả, chiến lược phân cụm dựa trên lưới - sử dụng cấu trúc dữ liệu lưới ra đời
Phương pháp chia lưới được thống kê để quản lý những điểm trong không gian dữ liệu đa chiều Nó sẽ chia toàn bộ không gian dữ liệu thành những khối d chiều với kích thước của các cạnh nói chung là đều nhau Tuy nhiên, việc chọn kích thước của các cạnh cho khối cũng là một bài toán cần được giải quyết trước khi sử dụng phương pháp chia lưới
Với d trục trong không gian dữ liệu d chiều tạo nên một mảng d chiều và gọi là từ điển dữ liệu Mỗi phần tử gọi là một cell và có thể chứa một hoặc nhiều điểm dữ liệu, hoặc có thể không chứa điểm dữ liệu nào Những cell không chứa điểm dữ liệu nào gọi là cell rỗng và không được xét đến Mỗi điểm dữ liệu phải nằm trong một cell và tất cả các điểm trong một cell được lưu trữ cùng nhau một cách riêng biệt với các cell khác Nói cách khác, các điểm dữ liệu trong cùng một cell được lưu trữ trong cùng một khối và độc lập với các điểm thuộc cell khác
Một số ví dụ điển hình cho chiến lược dựa trên lưới: Statistical Information in Grid (STING) (Wang et al 1997) - thám hiểm các thông tin thống
kê được lưu trong lưới ; WaveCluster (Sheikholeslami et al 1998) - phân cụm các đối tượng sử dụng phép biến đổi sóng ; và CLIQUE 9 (Agrawal et al 1998) - trình bày một số chiến lược dựa vào mật độ và lưới để chia lớp không gian dữ liệu có số chiều lớn
Trang 25Kết luận : Vậy, phân cụm trong cơ sở dữ liệu là quá trình nhằm tìm ra các
đối tượng có đặc tính tương tự nhau vào một cụm Nguyên tắc chung phân cụm
là dựa vào một hàm đích xác định khoảng cách của một đối tượng với đối tượng tâm của cụm và hàm này là cơ sở để quyết định một đối tượng có thuộc vào cụm hay không Để xác định quan hệ giữa các đối tượng, ta cần xây dựng một đại lượng xác định độ khác nhau giữa các đối tượng Việc xác định độ khác nhau giữa các đối tượng phụ thuộc vào kiểu thuộc tính biểu diễn đối tượng, với một kiểu dữ liệu ta định nghĩa được một công thức tính độ khác nhau riêng
Có rất nhiều phương pháp phân cụm khác nhau Mỗi phương pháp có rất nhiều thuật toán tương ứng Đối với từng bài toán cụ thể, ta có thể áp dụng các thuật toán khác nhau Tuy nhiên, hai phương pháp đầu tỏ ra kém hiệu quả trong trường hợp cơ sở dữ liệu có chứa nhiễu Ở đây ta sẽ trình bày phương pháp để hạn chế điều đã nói ở trên Đó là phương pháp phân cụm dựa vào mật độ DBSCAN
III- PHƯƠNG PHÁP PHÂN CỤM DỰA VÀO MẬT ĐỘ DBSCAN
Các thuật toán phân cụm tập trung vào bài toán xác định cụm Tuy nhiên, việc ứng dụng để phát triển đối với các cơ sở dữ liệu không gian lớn đòi hỏi các yêu cầu sau:
(1) Các yêu cầu tối thiểu các tham số đầu vào
(2) Phát hiện ra các cụm với hình dạng không xác định, và hình dạng của các cụm trong các cơ sở dữ liệu không gian có thể là hình cầu, đường thẳng hoặc đường kéo dài vô hạn
(3) Có hiệu quả tốt đối với các cơ sở dữ liệu lớn, chẳng hạn các cơ sở dữ liệu có thể chứa trên một vài nghìn đối tượng
Các thuật toán phân cụm đã biết không đáp ứng được tất cả các yêu cầu Thuật toán DBSCAN phát hiện ra các cụm có hình dạng không xác định và làm việc tốt trên các cơ sở dữ liệu không gian lớn
Các khái niệm
Trang 26Chúng ta dễ dàng thừa nhận một cách hiển nhiên rằng các cụm thì chứa các điểm và các điểm nhiễu thì không thuộc bất kỳ cụm nào
Nguyên nhân giúp ta có thể nhận ra các cụm là: mật độ các điểm trong mỗi cụm cao hơn ở ngoài cụm ; mật độ trong các vùng chứa nhiều thấp hơn mật
độ ở bất kỳ cụm nào
Ta sẽ trình bày rõ hơn khái niệm "cụm" và "nhiễu" trong một cơ sở dữ liệu
D chứa các điểm trong không gian k chiều Ý tưởng chính là: các điểm trong một cụm phải có mật độ các điểm lân cận vượt qua một ngưỡng nào đó Hình dạng của vùng lân cận phụ thuộc vào việc lựa chọn hàm khoảng cách giữa hai điểm p,
q ; ký hiệu là dist (p, q) Trường hợp sử dụng khoảng cách Manhatan trong không gian hai chiều, vùng lân cận là hình chữ nhật Phương pháp làm việc tốt đối với bất kỳ hàm khoảng cách nào, bởi vậy có thể lựa chọn một hàm thích hợp tùy theo từng ứng dụng Để hình dung được dễ dàng, tất cả các ví dụ chúng ta đưa ra sẽ được biểu diễn trong không gian hai chiều và sử dụng khoảng cách Euclidean
* Định nghĩa 1: Lân cận với ngưỡng Eps của một điểm
(Eps-Neighborhood of a point)
Lân cận với ngưỡng Eps của một điểm P, ký hiệu là NEps (p) được định nghĩa như sau:
NEps (p) = {q D | khoảng cách (p,q) Eps}
Một điểm p muốn nằm trong lớp C nào đó thì NEps(p) phải có tối thiểu MinPts điểm Số điểm tối thiểu được chọn bao nhiêu là một bài toán khó, và nếu
số điểm tối thiểu mà lớn chỉ những điểm thực sự nằm trong lớp C mới đạt đủ tiêu chuẩn, còn những điểm nằm ngoài biên không đạt được điều đó Ngược lại, nếu
số điểm tối thiểu mà nhỏ, mọi điểm sẽ chỉ rơi vào một lớp
Theo định nghĩa trên, chỉ những điểm thực sự nằm trong một lớp mới thỏa mãn điều kiện là điểm thuộc lớp Những điểm nằm ở biên không thỏa mãn là điểm thuộc lớp Chúng ta có thể đưa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc một lớp như sau: Một điểm p muốn thuộc một lớp C phải tồn tại một điểm q mà p NEps và số điểm trong NEps(q) phải lớn hơn số điểm tối thiểu Điều này được định nghĩa như sau
Trang 27* Định nghĩa 2: Đến được trực tiếp theo mật độ (directly density
reachable) gọi tắt là đến được trực tiếp
Một điểm p được gọi là đến được trực tiếp điểm q với Eps nếu:
(1) p NEps (q) và (2) || NEps (q) || MinPts (điều kiện nhân) Điểm q gọi là điểm nhân (core point)
Ký hiệu || X || là số phần tử của tập x, MinPts là một số thực dương
Ta thấy đến được trực tiếp là một hàm phản xạ và đối xứng với hai điểm đều là điểm nhân và không đối xứng nếu một trong hai điểm không phải là điểm nhân
* Định nghĩa 3: Đến được mật độ (denstiry-reachable) gọi tắt là đến
Dễ dàng nhận thấy, đến được là đối xứng với các điểm nhân
Hai điểm biên của một cụm C có thể không đến được nhau bởi vì có thể
cả hai đều không thỏa mãn điều kiện nhân Tuy nhiên, phải tồn tại một điểm nhân trong C mà cả hai điểm biên của C đều có thể đến được mật độ từ điểm nhân đó
Để hiểu rõ hơn, chúng ta đưa ra khái niệm liên thông mật độ - thể hiện quan hệ giữa các điểm biên này
* Định nghĩa 4: Liên thông mật độ (density-connected)
Một điểm p được gọi là liên thông mật độ với điểm q với hai tham số Eps
và MinPts nếu tồn tại một điểm o mà cả p và q đều có thể đến được mật độ từ o theo hai tham số Eps, MinPts
Liên thông mật độ là một quan hệ có tính chất đối xứng Với các điểm đến được mật độ, quan hệ này cũng có tính chất phản xạ
Chúng ta có thể đưa ra khái niệm cụm dựa trên mật độ như sau:
Trang 28- Cụm là một tập các điểm liên thông mật độ lớn nhất theo khả năng đến đƣợc mật độ
Từ đó có thể đƣa ra khái niệm nhiễu nhƣ sau:
Nhiễu là tập hợp các điểm không thuộc bất kỳ cụm nào
* Định nghĩa 6: Nhiễu (Noise)
Giả sử C1, C2,… , Ck các cụm trong tập dữ liệu D theo tham số Epsi và MinPtsi, i = 1, , k, ta định nghĩa:
Nhiễu là tập các điểm dữ liệu trong D mà không thuộc bất kỳ cụm Ci nào
Noise = {pD | i: p Ci}
Chú ý:
Cụm theo tham số Eps và MinPts chứa ít nhất MinPts điểm vì lý do sau:
C chứa ít nhất một điểm p, p phải liên thông mật độ với chính nó qua một
số điểm o (có thể trùng hợp với p) Do đó ít nhất o phải thỏa mãn điều kiện nhân
vì thế, – Neighbourhood chứa ít nhất MinPts điểm
2- Bổ đề chứng minh tính đúng đắn của DBSCAN:
Bổ đề 1: Giả sử p là một điểm nằm trong D và | N Eps (p) | MinPts Tập
O = {o | o đến được mật độ từ p theo hai tham số Eps và MinPts} là một cụm theo Eps và MinPts
Dễ thấy, cụm C theo Eps và MinPts là xác định duy nhất với điểm nhân của nó Tuy nhiên, mỗi điểm trong C lại đến đƣợc mật độ từ bất kỳ điểm nhân nào trong C và do đó C chứa các điểm đến đƣợc mật độ từ điểm nhân bất kỳ của
C
Trang 29Bổ đề 2: Giả sử C là một cụm theo tham số Eps, MinPts và p là điểm bất
kỳ thuộc C với |N Eps (p) | MinPts thì C trùng với tập O
O = {o| o D và o đến được mật độ từ p theo tham số Eps và MinPts }
3- Thuật toán DBSCAN
Phần này chúng ta tìm hiểu thuật toán DBSCAN (Density Based Spatial Clustering for Applications with Noise), được thiết kế để phát hiện ra các cụm và nhiễu trong cơ sở dữ liệu không gian dựa theo hai khái niệm cụm và nhiễu đã được định nghĩa trong phần trước Trước hết, chúng ta phải biết các tham biến Eps, MinPts thích hợp và ít nhất một điểm ứng với cụm Sau đó, chúng ta điều chỉnh tất cả các điểm đến được mật độ từ điểm ban đầu thông qua các tham biến Việc tìm các tham biến thích hợp quả là không dễ dàng
Do đó DBSCAN sử dụng các biến toàn cục Eps và MinPts
Thuật toán
Để tìm ra một cụm, DBSCAN bắt đầu với một điểm p tùy ý và điều chỉnh tất cả các điểm đến được từ p theo Eps và MinPts Nếu p là điểm nhân, theo bổ
đề 2, ta xây dựng được một cụm chứa p Nếu p là điểm biên - không có điểm nào
có thể đến được mật độ từ p, bỏ qua p và xét điểm tiếp theo
Để tìm xây dựng được một cụm chứa p (tìm tất cả các điểm đến được mật
+ Tìm lân cận của điểm đang thực hiện, giả sử đó là điểm p1, ta tìm tập các điểm lân cận của p1, NEps(p1)
+ Nếu NEps(p1) < MinPts, ta chuyển sang điểm tiếp theo trong tập nhân
Trang 30+ Ngược lại, p1 là điểm nhân, nếu tập các điểm lân cận của p1 chưa được phân cụm thì tập các lân cận của p1 được phân vào cụm và đưa vào tập nhân, đồng thời xóa điểm đang xét (ở đây là p1) và chuyển sang điểm tiếp theo trong tập nhân
Cuối cùng, ta tìm được tất cả các điểm thuộc cùng một cụm với p hay tìm được tất cả các điểm đến được mật độ từ p, nghĩa là ta đã xây dựng được một cụm
Có thể tóm tắt thuật toán thành các bước cơ bản sau như sau:
- Bước 1: Khởi tạo các điểm dữ liệu vào, xác định tham số Eps, MinPts,
tập đối tượng
- Bước 2: Xác định tập nhân Xét một điểm bất kỳ trong tập hợp các điểm
ban đầu Đầu tiên, ta gán tất cả các điểm thỏa mãn nằm trong lân cận của điểm đó với bán kính Eps thuộc tập nhân Với mỗi điểm nằm trong tập nhân, xét xem điểm đó có thỏa mãn điều kiện nhân (q là điểm nhân thì NEps(p1) MinPts) Nếu thỏa mãn, điểm đó gọi là điểm nhân
- Bước 3: Với các điểm nhân tìm được, xác định miền liên thông các điểm
nhân Đây là phần quan trọng của thuật toán Phần xác định miền liên thông các điểm nhân chính là ta đi tìm tất cả các điểm đến được mật độ từ điểm đang xét hay mở rộng cụm Với mỗi điểm nhân, ta đi tìm các lân cận của điểm đó Nếu điểm đó thỏa mãn điều kiện nhân thì nó thuộc vào một cụm và các điểm lân cận được đưa vào tập nhân Nếu không, ta bỏ qua điểm đó và xét đến điểm nhân tiếp theo trong tập nhân đã tìm được Cuối cùng, ta thu được một tập các điểm miền liên thông các điểm nhân Các điểm đó là một cụm
- Bước 4: Xác định các cụm, mỗi cụm là miền liên thông các điểm nhân
Trang 31CHƯƠNG BATÌM KIẾM PHẦN TỬ NGOẠI LAI
DỰA VÀO SỐ LOF
Đa số những nghiên cứu về Data Mining đều tập trung vào việc tìm kiếm những cụm dữ liệu Tuy nhiên trong nhiều trường hợp việc tìm ra những phần tử
cá biệt hay những sự kiện hiếm có so với đa số lại hữu dụng hơn là tìm kiếm những trường hợp thông thường Chẳng hạn tìm kiếm những hành vi phá hoại trong thương mại điện tử, tìm những sai sót trong công tác kiểm toán, tìm kiếm nhân tài …
Những nghiên cứu trước đây trong việc tìm kiếm những phần tử ngoại lai thường dựa vào kết quả thống kê Những nghiên cứu này có thể chia ra làm hai nhánh:
Lấy sự phân phối làm cơ bản: Trong đó một sự phân phối chuẩn được
dùng để làm khít dữ liệu một cách tốt nhất Phần tử ngoại lai được xác đinh dựa trên khả năng phân phối Theo hướng này trong nhiều ứng dụng KDD sự phân phối diễn ra không biết được hơn nữa việc làm khớp dữ liệu với những sự phân phối cơ bản thì tốn kém và có thể tạo ra những kết quả không mỹ mãn
Lấy độ sâu làm cơ bản: Mỗi đối tượng dữ liệu được ánh xạ với một điểm
trong không gian k-chiều và được gán cho một độ sâu Phần tử ngoại lai giống như những đối tượng dữ liệu có độ sâu nhỏ hơn Những thuật toán trong thực tế cài đặt theo hướng này kém hiệu quả khi k>=4
Những nghiên cứu gần đây trong các bài toán phân cụm, phần tử ngoại lai được định nghĩa dựa theo khoảng cách giữa nó với cụm Những định nghĩa này tổng quát hơn những định nghĩa trước đó và sự tính toán bớt phức tạp hơn
Những thuật toán phân cụm có mục tiêu chính là tìm ra những cụm, chúng được phát triển để đánh giá cụm mà không hướng về việc phát hiện những phần
tử ngoại lai Vì vậy các phần tử ngoại lai trong các thuật toán này chỉ được xem xét ở mức nhị phân – có nghĩa là một đối tượng dữ liệu có phải ngoại lai hay không
Trang 32Theo quan điểm các thuật toán phân cụm phần tử ngoại lai là những đối tượng không nằm trong các cụm dữ liệu – thông thường được gọi là nhiễu Tập hợp những điểm nhiễu được tạo ra trong các thuật toán phân cụm phụ thuộc cao vào thuật toán và các tham số giới hạn cụm và quan trọng nhất là những phần tử ngoại lai này được coi một cách chung chung nên các phần tử ngoại lai tìm được trong những thuật toán này hầu như là không có ý nghĩa
Các tác giả Markus M.Breunig, Hans-Peter Kriegel, Raymond T.Ng, Jorg Sander (2000) đã xác định phần tử ngoại lai trong những tập hợp dữ liệu phức tạp như mức độ một đối tượng cô lập so với khu vực xung quanh nó thông qua khái niệm hệ số ngoại vi cục bộ LOF và chỉ ra rằng những đối tượng nằm sâu trong cụm, giá trị LOF xấp xỉ bằng 1 và phân tích mức độ phụ thuộc của LOF vào MinPts từ đó chỉ ra nguyên tắc thực tiễn để chọn khoảng giá trị MinPts
và phương pháp xếp loại các đối tượng dựa trên LOF tối đa của chúng từ đó có thể phát hiện ra phần tử ngoại lai
Trong các phần sau đây chúng ta tìm hiểu kỹ hơn về hệ số LOF
I- CÁC ĐỊNH NGHĨA VỀ PHẦN TỬ NGOẠI LAI ĐỊA PHƯƠNG
1- K-distance của một đối tượng
Xét một tập dữ liệu D, giả sử p, o là các phần tử trong D, goi d(p,o) là khoảng cách giữa p và o
Định nghĩa 1: (k-distance of an object p)
Với một số tự nhiên k bất kỳ, khoảng cách k-distance của đối tượng p được đinh nghĩa là khoảng cách d(p,o) giữa p và đối tượng o thuộc D sao cho:
(1) Với ít nhất k đối tượng o’ D \ {p} thoả mãn:
d(p,o’) d(p,o) và:
(2) Với ít nhất k-1 đối tượng o’ D \ {p} thoả mãn:
d(p,o’) < d(o,p)
2- Lân cận bán kính k-distance của đối tượng p
Định nghĩa 2: (k-distance neighbourhood of an object p)
Trang 33Với số k-distance cho trước, khu vực lân cận bán kính k-distance của đối tượng p thì chứa mọi phần tử mà khoảng cách tới p nhỏ hơn hay bằng k-distance nghĩa là:
N k-distance(p) (p) = { q D \ {p} | d(p,q) k-distance(p) }
Những đối tượng q ở biểu thức trên được gọi là k phần tử gần nhất của p
Để đơn giản chúng ta quy ước dùng ký kiệu:
N k(p) thay cho N k-distance(p) (p)
Chú ý rằng trong định nghĩa 1, k-distance(p) sử dụng tốt với mọi số nguyên k bất kỳ Mặc dù đối tượng o không phải độc nhất cho trường hợp này,
và số phần tử Nk(p) > k
3- Khoảng cách có thể đến một đối tượng
Đinh nghĩa 3: (reachability distance of an object p w.r.t object o)
Cho k là một số tự nhiên Khoảng cách có thể đến được Reach-dist của
đối tượng p với đối tượng o được định nghiã:
Reach-dist k (p,o) = max { k-distance(o), d(p,o) }
Về mặt ý nghĩa: nếu đối tượng p ở quá xa p thì khoảng cách có thể đến chinh là khoảng cách thông thường Ngược lại nếu p đủ gần o thì đó chính là k-distance(o) Định nghĩa này nhằm khắc phục sự giao động thống kê khoảng cách d(p,o) tới tất cả những đối tượng p đủ gần o có thể được giảm bớt đi Sức mạnh của hiệu ứng làm tròn này có thể điều khiển bằng hệ số k, k càng lớn thì những khoảng cách có thể đến được của những đối tương trong khu vực lân cận càng giống nhau
Trang 34Để tìm ra phần tử ngoại lai dựa theo mật độ cũng cần phải so sánh mật độ của nhiều tổ hợp phần tử khác nhau Có nghĩa là chúng ta phải quyết định mật độ của tập các phần tử một cách chủ động Vì thế chúng ta coi MinPts là một hệ số duy nhất và sử dụng giá trị:
Reach-dist MinPts (p,o) cho phần tử o N MinPts (p) như là tiêu chuẩn đánh giá của ngưỡng để quyết định mật độ khu vực lân cận của một đối tượng p
Định nghĩa 4: (local reachability density of an object p)
Mật độ địa phương có thể đến được của đối tượng p được đinh nghĩa:
),(
) (
p N
o p dist
reach
MinPts
p N o
MinPts
Min Pts
Trực quan, mật độ có thể đến được địa phương ( Mật độ lân cận ) của đối tượng p là nghịch đảo của khoảng cách có thể đến được trung bình dựa trên MinPts lân cận gần nhất của p Chú ý rằng mật độ lân cận có thể là nếu toàn bộ khoảng cách đến được trong tổng bằng 0 Điều này có thể xảy ra khi đối tượng p tồn tại tối thiểu MinPts đối tượng khác p nhưng lại trùng toạ độ không gian với p
5- Hệ số ngoại lai của một đối tượng ( LOF )
Định nghĩa 5: ( Local Outlier Factor of an object p)
Hệ số ngoại lai của một đối tượng p được đinh nghĩa:
)(
)()
p N
p lrd
o lrd
p LOF
MinPts
p N
o MinPts
MinPts MinPts
Min Pts
Hệ số ngoại lai của một đối tượng p mô tả mức độ mà chúng ta coi là ngoại lai Đó là trung bình của tỷ lệ của mật độ lân cận đến được của p và của MinPts phần tử lân cận gần nhất Dễ thấy rằng mật độ lân cận đến được của p càng nhỏ và mật độ lân cận đến được của MinPts phần tử lân cận gần nhất của p càng cao thì giá trị LOF càng cao Trong mục sau, tính chất hình thức của LOF
sẽ được chính xác hoá
Trang 35II- TÍNH CHẤT CỦA PHẦN TỬ NGOẠI LAI
1- Số LOF của những đối tượng nằm sâu trong cụm gần bằng 1
Đặt = (reach-dist-max/reach-dist-min – 1)
Với toàn bộ các đối tượng trong C:
(1) Toàn bộ MinPts lân cận q của p nằm trong C và (2) Toàn bộ MinPts lân cận o của q nằm trong C
Khi đó: 1/(1+) LOF(p) (1+)) Chứng minh:
Với toàn bộ MinPts lân cận q gần nhất của p:
reach-dist(p,q) ≥ reach-dist-min Khi đó mật độ lân cận đến được của p theo định nghĩa 3 thì 1/reach-dist-min
Mặt khác, reach-dist(p,q) reach-dist-max, vì thế mật độ lân cận đến được của p sẽ ≥ 1/reach-dist-max
Coi q là MinPts của p bởi một tỷ số giống như của p ở trên mật độ lân cận đến được của q thì cũng nằm trên khoảng
1/reach-dist-Max và 1/reach-dist-Min
Vì thế theo định nghĩa 5 ta có:
Min dist reach
Max dist
reach p
LOF Max
dist reach
Min dist reach
Có thể giải thích Bổ đề 1 như sau: Bằng trực quan C tương đương như
“một cụm” Chúng ta coi đối tượng p nằm sâu trong cụm, nghĩa là toàn bộ MinPts lân cận gần nhất q của p nằm trong C và toàn bộ MinPts lân cận gần nhất
Trang 36của q cũng nằm trong C Với những đối tượng p sâu như vậy, giá trị LOF(p) được giới hạn Nếu C là cụm chặt, giá trị trong bổ đề 1 là khá nhỏ kéo theo LOF(p) khá gần 1
2) Cận dưới và cận trên của LOF
Bổ đề 1 chỉ ra rằng những đối tượng nằm sâu trong cụm thì số LOF khá gần 1 nên không thể gán chúng là phần tử ngọi lai Bây giờ chúng ta xét tới những đối tượng nằm ở rìa và ở ngoài cụm
Indirect MaxPts (p) = Max{reach-dist(p,o) | q MinPts(p), o MinPts (p)}
Để đơn giản ta ký hiệu Indirect MinPts (p), Indirect MinPts (p) lần lượt là IMin ,
) ( )
( )
(
) (
p direct p
LOF p
indirect
p direct
Min
Max Min
Chứng minh:
)(
)(
max
p LOF p
indirect
p direct Min
o N MinPts (p): reach-dist(p,o) ≥ direct Min (p) Theo định nghĩa directMin (p) ta suy ra:
Trang 37)(
1)
(
),(
) (
p direct
p N
o p dist reach
MinPts MinPts
p N
1)
(
p direct
p lrd
1)
(
),(
) (
p indirect o
N
q o dist reach
Max MinPts
o N
1)
(
p indirect o
)()
(
)(1
)(1
)(
)(
)(LOF(p)
) ( )
(
p indirect
p direct p
N
p ditrect
p indirect
p N
p lrd
o lrd
Max Min MinPts
p N o
Min Max
MinPts
p N o
)()
(
min p indirect
p direct p
LOF Max : chứng minh tương tự
Dễ dàng nhận ra rằng giới hạn đưa ra trong Định lý 1 chặt chẽ hơn so với giới hạn chỉ ra trong Bổ đề 1, điều này có nghĩa rằng số trong bổ đề 1 có thể đưa gần sát về 0 hơn
Ở mục 3 sau đây, chúng ta sẽ phân tích chi tiết hơn độ chặt chẽ của giới hạn được đưa ra trong định lý 1
3) Sự giao động của LOF
Gọi LOF Max , LOF Min lần lượt là giới hạn trên và dưới của LOF
Trong phần này do chỉ xét với một đối tượng p nên để đơn giản và không
sợ gây nhầm lẫn, ta sử dụng kiểu viết tắt bằng cách bỏ thông số p, chẳng hạn direct là viết tắt của direct(p)
Gọi Pct là tỷ lệ giao động của khoảng cách có thể đến được của đối tượng
p
Trang 38Giả sử pct/100 = x% tương ứng ta có:
direct Max = direct * ( 1+x% ), direct Min = direct * ( 1-x% )
indirect Max = indirect*(1+x%), indirect Min = indirect*( 1-x% )
100.100
max
pct indirect indirect
pct direct direct
pct indirect indirect
pct direct direct
direct indirect
1004
10011001
10011001
pct
pct pct
Đẳng thức trên chứng tỏ tỷ số ( LOFmax-LOFmin)/(direct/indirect) chỉ phụ thuộc vào tham số pct và tỷ số sẽ khi pct 100 Điều này cũng chỉ ra rằng nếu pct không đổi thì độ lệch LOFmax-LOFmin phụ thuộc vào tỷ lệ direct/indirect
Đồ thị trên hình 7 biểu diễn đường cong của tỷ lệ ( LOFmaxLOFmin)/(direct/indirect) theo pct
Trang 39-4- Giới hạn LOF của một đối đượng lân cận đến được trải trên nhiều cụm
Định lý 2:
Coi p là một đối tượng nằm trong Cơ sở dữ liệu D,
1 MinPts |D| và C1, C2, … Cn là các phân cụm của NMinPts(p)
N MinPts (p) = C1 C2 … Cn
với Ci Cj = và Ci 1i,jn, i j
Đặt I = |C|/|NMinPts(p)| gọi là phần trăm của đối tượng trong lân cận của p
mà những đối tượng này cũng ở trong Ci
Các khái niệm direct i
Min (p), direct i Max (p), indirect i Min (p), indirect i Max(p) được định nghĩa tương tự như direct Min (p), directMax (p), indirect Min (p), indirect Max (p) nhưng hạn chế trong tập Ci
i
i i
p indirect p
direct p
LOF
1 1
min
) (
) ( )
i
i i
p indirect p
direct p
LOF
1 1
max
) (
) ( )
Việc chứng minh định lý này cũng tương tự như định lý 1
II- ẢNH HƯỞNG CỦA THAM SỐ MinPts
Trang 40Trong phần trước đã xem xét và đánh giá các tính chất chung của LOF với các đối tượng nằm trong một vùng Đó là các đối tượng có LOF xấp xỉ bằng 1 Với các đối tượng khác, LOF của chúng bị chặn như ở hai định lý: Định lý 1 và Định lý 2 tùy thuộc vào các đối tượng thuộc tập các lân cận phụ thuộc tham số Minpts nằm trong một hay nhiều vùng Điều quan trọng là chú ý rằng tất cả các kết quả trước đều dựa trên giá trị Minpts xác định Trong phần này sẽ xem xét về vấn đề giá trị Minpts ảnh hưởng tới giá trị của LOF và đưa ra cách để xác định giá trị Minpts phù hợp cho việc tính toán LOF
1- Sự Phụ Thuộc của LOF Theo Minpts
Với các kết quả phân tích thành lập ở phần trước, có một số câu hỏi được đặt ra Giá trị của LOF thay đổi như thế nào khi điều chỉnh giá trị Minpts Khi cho một dãy tăng của các giá trị Minpts, thì có tương ứng là một chuỗi các thay đổi một cách đơn điệu của LOF hay không? Điều đó có nghĩa rằng LOF có tăng, giảm đơn điệu không ?
Không may mắn rằng thực tế LOF không tăng cũng không giảm một cách đơn điệu Hình 8 trình bày một trường hợp đơn giản khi tất cả các đối tượng