1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân cụm mờ và ứng dụng phân loại bệnh

82 447 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương pháp phân cụm dữ liệu là phân một tập dữ liệu ban đầu thành các cụm dữ liệu có cùng tính chất hay có các tính chất gần giống nhau và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ

Trang 1

1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

HOÀNG THỊ TÂN

PHÂN CỤM MỜ VÀ ỨNG DỤNG PHÂN LOẠI BỆNH

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Trang 2

2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

HOÀNG THỊ TÂN

PHÂN CỤM MỜ VÀ ỨNG DỤNG PHÂN LOẠI BỆNH

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS ĐOÀN VĂN BAN

Trang 3

i

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn toàn thể quý thầy cô trong Khoa Sau Đại Học Trường Đại học công nghệ thông tin và truyền thông là những người đã hết lòng dạy dỗ và truyền đạt những kiến thức quý báu cho tôi trong suốt thời gian học tập Tôi xin gửi lời cảm ơn sâu sắc đến Thầy PGS-TS Đoàn Văn Ban người đã giúp đỡ tôi trong suốt thời gian tôi thực hiện đề tài Thầy đã định hướng, tạo những điều kiện thuận lợi và đã tận tình hướng dẫn để tôi hoàn thành đề tài này

Tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đã luôn là nguồn động viên to lớn, giúp đỡ tôi trong suốt quá trình tôi thực hiện đề tài

Tác giả

Hoàng Thị Tân

Trang 4

ii

LỜI CAM ĐOAN

Tôi xin cam đoan :

- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của Thầy Đoàn Văn Ban

- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực

- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

- Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả

Hoàng Thị Tân

Trang 5

iii

MỤC LỤC

TRANG PHỤ BÌA 0

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC CÁC BẢNG vi

DANH MỤC CÁC HÌNH VẼ vii

MỞ ĐẦU 1

Chương 1 PHÂN CỤM DỮ LIỆU 3

1.1 Khái niệm và mục tiêu của phân cụm dữ liệu 3

1.1.1 Khái niệm 3

1.1.2 Mục tiêu 4

1.2 Các kiểu dữ liệu và độ đo phân loại dữ liệu 5

1.2.1 Phân loại dữ liệu 5

1.2.2 Độ đo phân cụm dữ liệu 6

1.3 Các yêu cầu của phân cụm 10

1.4 Một số ứng dụng của phân cụm dữ liệu 12

1.5 Một số kỹ thuật tiếp cận trong phân cụm dữ liệu 13

1.5.1 Phương pháp phân cụm phân hoạch 13

1.5.2 Phương pháp phân cụm dữ liệu phân cấp 14

1.5.3 Phương pháp phân cụm dựa trên mật độ 15

1.5.4 Phương pháp phân cụm dựa trên lưới 15

1.5.5 Phương pháp phân cụm dựa trên mô hình 16

1.5.6 Phương pháp phân cụm có dữ liệu ràng buộc 17

1.6 Một số thuật toán cơ bản trong phân cụm dữ liệu 18

1.6.1 Thuật toán phân cụm phân hoạch - Thuật toán k-means 18

1.6.2 Thuật toán phân cụm phân cấp – Thuật toán CURE 20

1.6.3 Thuật toán phân cụm dựa trên mật độ - Thuật toán DBSCAN 22

1.6.4 Thuật toán phân cụm dựa trên lưới - Thuật toán STING 26

1.6.5 Thuật toán phân cụm dựa trên mô hình - Thuật toán EM 28

1.6.6 Thuật toán phân cụm có dữ liệu ràng buộc 29

Trang 6

iv

1.7 Kết luận chương 1 30

Chương 2 PHÂN CỤM DỮ LIỆU MỜ 31

2.1 Phân cụm mờ 31

2.1.1 Giới thiệu phân cụm mờ 31

2.1.2 Các thuật toán trong phân cụm mờ 32

2.2 Thuật toán FCM (Fuzzy C-means) 32

2.2.1 Hàm mục tiêu 32

2.2.2 Thuật toán 35

2.3 Thuật toán εFCM (ε- Insensitive Fuzzy C-means) 39

2.3.1 Hàm mục tiêu 39

2.3.2 Thuật toán 40

2.4 Thuật toán FCM-Cải tiến 41

2.5 Kết luận chương 2 48

Chương 3 ỨNG DỤNG PHÂN LOẠI BỆNH 50

3.1 Thu thập và biểu diễn tri thức 50

3.1.1 Giới thiệu bài toán phân loại bệnh 50

3.1.2 Xây dựng quy trình lập luận phân loại bệnh 50

3.1.3 Thu thập các triệu chứng 52

3.1.4 Biểu diễn tri thức trong môi trường mờ 56

3.2 Phương pháp suy diễn mờ 57

3.2.1 Cơ chế suy diễn mờ 57

3.2.2 Xác định độ phụ thuộc dựa trên tập mờ đa điều kiện 58

3.3 Xây dựng ứng dụng 59

3.3.1 Phân tích yêu cầu 59

3.3.2 Thiết kế cơ sở dữ liệu 60

3.3.3 Xây dựng chương trình 61

3.3.4 Đánh giá thực nghiệm 67

3.4 Kết luận chương 3 70

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

TÀI LIỆU THAM KHẢO 72

Trang 7

v

DANH MỤC CÁC TỪ VIẾT TẮT

εFCM ε- Insensitive Fuzzy C-means

DBSCAN Density Based Spatial Clustering of

Applications with Noise STRING STatistical INformation Grid

EM Expectation-Maximization

CURE Clustering Using REpresentatives

PAM Partitioning Around Medois

CLARA Clustering LARge Application

BIRCH Balanced Iterative Reducing and

Clustering using Hierarchies

OPTICS Ordering Points To Identify the

Clustering Structure

Trang 8

Bảng 3.8 Vùng mờ hóa để đánh giá mức độ triệu chứng 58

Bảng 3.12 Ví dụ nhóm các triệu chứng vào các nhóm bệnh 69

Trang 9

vii

DANH MỤC CÁC HÌNH VẼ

Hình 1.4 Các thiết lập để xác định ranh giới các cụm ban đầu 18

Hình 1.8 Hình dạng các cụm được khám phá bởi thuật toán DBSCAN 23

Hình 2.2 Hàm thuộc với trọng tâm của cụm A trong k-means 37 Hình 2.3 Hàm thuộc với trọng tâm của cụm A trong FCM 38

Trang 10

có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng

dữ liệu khổng lồ đã có Để thuận tiện cho việc tra cứu thông tin người ta thường phân cụm các dữ liệu lại với nhau

Phân cụm dữ liệu là một kỹ thuật trong 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 tự nhiên tiềm ẩn, quan tâm trong tập dữ liệu lớn, từ

đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định

Phương pháp phân cụm dữ liệu là phân một tập dữ liệu ban đầu thành các cụm

dữ liệu có cùng tính chất hay có các tính chất gần giống nhau và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt Tuy nhiên, trong thực tế, các cụm dữ liệu lại có thể chồng chéo lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều cụm khác nhau, do đó mô hình này không mô tả được dữ liệu thực Chính vì vậy người ta đã áp dụng lý thuyết về tập mờ trong phân cụm dữ liệu để giải quyết cho trường hợp này Cách thức kết hợp

này được gọi là phân cụm mờ

Phân cụm mờ là phương pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên

Chính vì lý do đó mà em chọn đề tài “Phân cụm mờ và Ứng dụng phân loại bệnh ” làm đề tài cho luận văn tốt nghiệp thạc sĩ của mình

Trang 11

2

2 Mục tiêu nghiên cứu

- Tìm hiểu các khái niệm cơ bản về phân cụm dữ liệu, kiểu dữ liệu và các thuật toán phân cụm dữ liệu

- Tìm hiểu lý thuyết về phân cụm mờ và các kỹ thuật phân cụm mờ

- Áp dụng thuật toán phân cụm mờ xây dựng ứng dụng phân loại bệnh

3 Đối tượng và phạm vi nghiên cứu

Đề tài tập trung đi sâu nghiên cứu về cách xây dựng hệ thống phân cụm dữ liệu theo hướng phân cụm mờ Hệ thống này được phát triển nhằm phục vụ cho việc

phân loại các dữ liệu rõ ràng hơn, tối ưu các dữ liệu được phân cụm

4 Phương pháp nghiên cứu

- Phân tích, nghiên cứu lý thuyết tổng quan về phân cụm dữ liệu rồi từ đó tìm hiểu các phương pháp, kỹ thuật và thuật toán phân cụm dữ liệu mờ

- Xây dựng, cài đặt chương trình ứng dụng

5 Bố cục của luận văn

Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo, nội dung luận

văn được bố cục làm ba chương chính:

Chương 1 Tổng quan về phân cụm dữ liệu:

Nêu khái quát về khái niệm, mục tiêu, các kiểu dữ liệu, độ đo dữ liệu và các yêu cầu của phân cum dữ liệu Trình bày một số ứng dụng, một số kỹ thuật tiếp cận

và thuật toán áp dụng trong phân cụm dữ liệu

Chương 2 Kỹ thuật phân cụm dữ liệu mờ: Giới thiệu về phân cụm mờ và

trình bày các thuật toán phân cụm mờ

Chương 3 Bài toán ứng dụng phân loại bệnh: Áp dụng thuật toán phân cụm

mờ FCM để xây dựng chương trình Phân loại bệnh

Trang 12

3

Chương 1 PHÂN CỤM DỮ LIỆU

1.1 Khái niệm và mục tiêu của phân cụm dữ liệu

1.1.1 Khái niệm

Phân cụm dữ liệu là một kỹ thuật trong 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 tự nhiên tiềm ẩn, quan trọng trong tập dữ liệu lớn, từ

đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định

Phân cụm dữ liệu là kỹ thuật sử dụng quan sát đối tượng để nhóm các đối tượng thành các cụm hoặc chia một tập dữ liệu ban đầu thành các cụm sao cho:

- Các đối tượng trong cùng một cụm là giống nhau hoặc gần giống nhau được

xác định bằng độ tương tự Hay nói một cách khác, các đối tượng trong cùng một cụm là tương tự với nhau

- Các đối tượng thuộc các cụm khác nhau sẽ không tương tự (phi tương tự)

với nhau

Vậy có thể hiểu một cách đơn giản là “Phân cụm là quá trình tổ chức các đối

tượng thành các nhóm sao cho các đối tượng trong cùng một nhóm là tương tự với nhau”

Số các cụm được xác định tuỳ thuộc vào phương pháp phân cụm Các thuật toán phân cụm tìm các nhóm chứa đối tượng tương tự nhau Hai hay nhiều đối tượng được xếp vào cùng một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với các khái niệm được mô tả trước Một cụm là các đối tượng có thể xem như là một nhóm trong nhiều ứng dụng

Mặt khác, phân cụm là học bằng quan sát hơn là học bằng ví dụ nên còn được gọi là học không giám sát P h â n c ụ m dữ liệu có ý nghĩa rất quan trọng trong

hoạt động của con người Lúc đầu, chúng ta đã học cách làm thế nào để phân biệt giữa người và vật, giữa động vật và thực vật, giữa cái này và cái kia, và liên tục được phân loại rồi đưa vào trong tiềm thức của mình Phân cụm được sử dụng rộng

Trang 13

4 cứu thị trường, Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm

Một vấn đề thường gặp trong phân cụm 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 do quá trình thu thập thiếu chính xác hoặc thiếu đầ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 chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu thiếu thông tin về một số thuộc tính nào đó Một trong các

kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó

là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, 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 sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm

1.1.2 Mục tiêu

Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa

có nhãn để có thể quyết định được cái gì tạo thành một cụm tốt Nó có thể được chỉ

ra rằng không có tiêu chuẩn tuyệt đối tốt mà có thể không phụ thuộc vào kết quả phân cụm Vì vậy, nó đòi hỏi người sử dụng phải cung cấp tiêu chuẩn này, theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu

Theo các nghiên cứu cho thấy thì hiện nay chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của các cụm dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và

mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng

Trang 14

5 trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu

1.2 Các kiểu dữ liệu và độ đo phân loại dữ liệu

1.2.1 Phân loại dữ liệu

Cho một cơ sở dữ liệu D có chứa n đối tượng trong không gian k chiều, trong

đó x, y, z là các đối tượng thuộc D:

Sau đây là các kiểu dữ liệu:

 Phân loại các kiểu dữ liệu dựa trên kích thước miền

- Thuộc tính liên tục (Continuous Attribute): nếu miền giá trị của nó là vô hạn

không đếm được

- Thuộc tính rời rạc (Discrette Attribute): Nếu miền giá trị của nó là tập hữu

hạn, đếm được

- Lớp các thuộc tính nhị phân: là trường hợp đặc biệt của thuộc tính rời rạc

mà miền giá trị của nó chỉ có 2 phần tử được diễn tả như : Yes/No,

True/False hoặc Nam/Nữ, …

 Phân loại các kiểu dữ liệu dựa trên hệ đo

Giả sử rằng chúng ta có hai đối tượng là x, y và các thuộc tính xi, yi tương ứng với thuộc tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau:

- Thuộc tính định danh (Nominal Scale): đây là dạng thuộc tính khái quát hoá

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ự và có nhiều hơn hai phần tử, nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x != y hoặc x = y

Trang 15

6

- Thuộc tính có thứ tự (Ordinal Scale): là thuộc tính định danh có thêm tính

thứ tự, nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì ta có thể xác định là x != y hoặc x = y hoặc x > y hoặc x < y

- Thuộc tính khoảng (Interval Scale): Với thuộc tính khoảng, chúng ta có thể

xác định một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì ta nói x cách y một khoảng xi – yi

tương ứng với thuộc tính thứ i

- Thuộc tính tỉ lệ (Ratio Scale): 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, thí dụ như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc

Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), còn thuộc tính khoảng và thuộc tính tỉ lệ được gọi chung là thuộc tính số (Numeric)

1.2.2 Độ đo phân cụm dữ liệu

Để phân cụm, người ta phải xác định "khoảng cách" giữa các đối tượng, hay là phép đo độ tương tự của 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 Tthô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 [2]

Tất cả các độ đo dưới đây được xác định trong không gian metric Không gian metric là một tập trong đó có xác định các khoảng cách giữa từng cặp phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng dữ liệu trong cơ sở

dữ liệu D như đã đề cập ở trên được gọi là một không gian metric nếu:

- Với mỗi cặp phần tử x, y ϵ X đều có xác định, theo một quy tắc nào đó, một

số thực δ(x, y), được gọi là khoảng cách giữa x và y

- Quy tắc nói trên thỏa mãn hệ tính chất sau:

+ δ(x, y) > 0 nếu x ≠ y;

+ δ(x, y) = 0 nếu x = y;

+ δ(x, y) = δ(y,x) với mọi x, y;

Trang 16

7 + δ(x, y) ≤ δ(x, z) + δ(z, y)

Hàm δ(x, y) được gọi là một metric của không gian metric Các phần tử của X được gọi là các điểm của không gian này

 Thuộc tính khoảng:

Thuộc tính khoảng là các phép đo liên tục của một tỷ lệ tuyến tính thô Để chuẩn hoá các phép đo, một lựa chọn đó là chuyển đổi các phép đo gốc sang các biến không đơn vị (unitless)

Điều này có thể được biểu diễn như sau:

Tính trung bình độ lệch tuyệt đối Sf

- Khoảng cách Minskowski:

1 1

( , ) ( | | )

n

q q

i i i

   trong đó q là số tự nhiên dương

- Khoảng cách Euclidean :

2 1

( , ) ( )

n

i i i

Trang 17

8

1 ( , ) | |

n

i i i

số, ta có bảng 1.1, với a là tổng số các thuộc tính có giá trị bằng 1 cho cả hai đối tượng x và y, b là tổng số các thuộc tính có giá trị bằng 1 cho đối tượng x và 0 cho đối tượng y, c là tổng số các thuộc tính có giá trị bằng 0 cho đối tượng x và 1 cho đối tượng y, d là tổng số các thuộc tính có giá trị bằng 0 cho cả đối tượng x và y Tổng số lượng của các thuộc tính là p, p = a + b + c + d

- Hệ số đối sánh đơn giản

Trang 18

 Thuộc tính định danh:

Thuộc tính định danh là sự suy rộng của thuộc tính nhị phân, trong đó nó có thể mang nhiều hơn hai trạng thái Ví dụ, bản đồ màu là một thuộc tính định danh

có thể có 5 trạng thái: đỏ, vàng, xanh lá cây, hồng và xanh da trời

Cho số các trạng thái của một thuộc tính định danh là M Các trạng thái có thể được chỉ ra bởi các ký tự, các biểu tượng hay một tập các số nguyên như 1,2, ,M Lưu ý rằng các số nguyên như thế này chỉ được dùng cho dữ liệu điều khiển và không đại diện cho bất kỳ một trật tự cụ thể nào Độ phi tương tự giữa hai đối tượng

x và y có thể được định nghĩa như sau:

có thể được tạo lập cho từng màu trong danh sách 5 màu trên Cho một đối tượng có màu vàng, thuộc tính vàng đặt là 1, trong khi bốn thuộc tính còn lại đặt là 0

 Thuộc tính có thứ tự

Trang 19

10 Thuộc tính có thứ tự rời rạc tương tự như một thuộc tính định danh, loại trừ M trạng thái của giá trị có thứ tự được sắp xếp theo một trật tự có nghĩa Các thuộc tính có thứ tự rất hữu ích cho việc thể hiện các đánh giá chất lượng một cách chủ quan mà không thể đo được bằng cách khách quan Một thuộc tính có thứ tự liên tục trông giống như một tập dữ liệu liên tục với một tỷ lệ chưa biết, đó là mối quan hệ

có thứ tự của các giá trị, là yếu tố cần thiết nhưng không phải là tính chất trọng yếu thực sự của chúng

Giả sử i là thuộc tính thứ tự có Mi giá trị (Mi kích thước miền giá trị) Các trạng thái Mi được sắp xếp thứ tự như sau: [1… Mi], chúng ta có thể thay thế mỗi giá trị của thuộc tính bằng giá trị cùng loại ri, với ri ∈ {1… Mi}

Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy chúng ta chuyển đổi chúng về cùng miền giá trị [0,1] bằng cách thực hiện phép biến đổi sau

cho mỗi thuộc tính 1

1

i i i

r Z M

Sử dụng công thức tính độ tương tự của thuộc tính khoảng đối với các giá trị

Zi, đây cũng chính là độ tương tự của thuộc tính có thứ tự

 Thuộc tính tỉ lệ

Để tính độ tương tự giữa các thuộc tính tỉ lệ có nhiều cách khác nhau Một trong những cách đó là sử dụng công thức tính logarit cho mỗi thuộc tính Hoặc loại

bỏ đơn vị đo của các thuộc tính dữ liệu bằng cách chuẩn hóa chúng, hoặc gán trọng

số cho mỗi thuộc tính giá trị trung bình, độ lệch chuẩn Với mỗi thuộc tính dữ liệu

đã được gán trọng số tương ứng wi (1 i k), độ tương đồng dữ liệu được xác định như sau:

2 1

( , ) W ( )

n

i i i i

  

1.3 Các yêu cầu của phân cụm

Những yêu cầu cơ bản của phân cụm trong khai phá dữ liệu là:

 Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập

dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu lớn có thể

Trang 20

11 chứa tới hàng triệu đối tượng Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm cách nào để chúng ta có thể phát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các cơ sở dữ liệu lớn?

 Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật toán được

thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và dữ liệu có thứ

tự hay dạng hỗn hợp của những kiểu dữ liệu này

 Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm xác định

các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuy nhiên, một cụm có thể có bất kỳ một hình dạng nào Do đó, việc phát triển các thuật toán

có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng

 Tối thiểu lượng tri thức cần cho xác định 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 đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có số lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm

 Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những cơ sở dữ liệu thực đều

chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một

số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp

 Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm nhạy

cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các

Trang 21

12 cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu

 Số chiều lớn: Một cơ sở dữ liệu hoặc một kho dữ liệu có thể chứa một số chiều

hoặc một số các thuộc tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến ba chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có từ ba chiều trở lên Nó là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn

 Phân cụm 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ụ đặt ra là đi tìm những nhóm

dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc

 Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm

dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng

Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác

1.4 Một số ứng dụng của phân cụm dữ liệu

Phân cụm dữ liệu có rất nhiều ứng dụng trong nhiều lĩnh vực khác nhau [3]

Ví dụ như:

- Thương mại: Giúp các thương nhân khám phá ra các nhóm khách hàng quan

trọng để đưa ra các mục tiêu tiếp thị

- Sinh học: 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

Trang 22

13

- Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý, …

nhằm cung cấp thông tin cho quy hoạch đô thị

- Nghiên cứu trái đất: Theo dõi các tâm động đất nhằm cung cấp thông tin

cho nhận dạng các vùng nguy hiểm

- Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tươngđồng nhau để

cung cấp cho độc giả

- Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thường cao,

nhận dạng gian lận thương mại

- WWW: 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 Website Các lớp tài liệu này trợ giúp cho việc khai phá tri thức từ dữ liệu

1.5 Một số kỹ thuật tiếp cận trong phân cụm dữ liệu

1.5.1 Phương pháp phân cụm phân hoạch

Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử dữ liệu chỉ thuộc về một nhóm

dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan

hệ hoặc có quan hệ xa nhau so với mỗi điểm khác Tuy nhiên, phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dày đặc Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế thường đi tìm giải pháp tối

ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược tham lam (Greedy) để tìm kiếm nghiệm

Trang 23

14 Một số thuật toán phân cụm phân hoạch điển hình: k-means, PAM, CLARA, CLARANS, … [11]

1.5.2 Phương pháp phân cụm dữ liệu phân cấp

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một 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 xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này đó là:

- Kết nhập nhóm, thường được gọi là tiếp cận dưới lên (Bottom – Up)

- Phân chia nhóm, thường được gọi là tiếp cận trên xuống (Top – Down)

Hình 1.1 Các chiến lược phân cụm dữ liệu

Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong khai phá dữ liệu

Trang 24

15 Nhiều giải thuật phân cụm mở rộng như BIRCH và CURE [11] được phát triển dựa trên một tiếp cận tích hợp như vậy

1.5.3 Phương pháp phân cụm dựa trên mật độ

Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật

độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa vào mật

độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Tuy vậy, việc xác định các tham số mật

độ của thuật toán rất khó khă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

DBSCAN [11] là một phương pháp dựa trên mật độ điển hình, nó tăng trưởng các cụm theo một ngưỡng mật độ OPTICS [11] là một phương pháp dựa trên mật

độ, nó tính toán một thứ tự phân cụm tăng dần cho phép phân tích cụm tự động và tương tác

1.5.4 Phương pháp phân cụm dựa trên lưới

Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô 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

Trang 25

16 với các đối tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân cụm dựa trên mật độ không giải quyết được

Ưu điểm của phương pháp phân cụm dựa trên lưới là 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, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới

Hình 1.2 Cấu trúc phân cấp STING là một ví dụ điển hình của phương pháp dựa trên lưới WaveCluster và CLIQUE là hai giải thuật phân cụm dựa trên cả lưới và mật độ [11]

1.5.5 Phương pháp phân cụm dựa trên mô hình

Phương pháp này cố gắng 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 chúng hiệu chỉnh các mô hình này để nhận

Trang 26

17 dạng ra các phân hoạch Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình

có hai cách 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 phân cụm dựa trên mật độ, 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

1.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 trên cơ sở dữ liệu lớn đã 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 phân cụm Để 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

Hình 1.3 Các cách mà các cụm có thể đưa ra

Trang 27

18

1.6 Một số thuật toán cơ bản trong phân cụm dữ liệu

1.6.1 Thuật toán phân cụm phân hoạch - Thuật toán k-means

Thuật toán điển hình của thuật toán phân cụm phân hoạch chính là thuật toán k-means [2]

Thuật toán k-means dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Trong thực tế, nó đo khoảng cách tới giá trị trung bình của các đối tượng

dữ liệu trong cụm, nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán tại tung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình lặp này dừng khi các trung tâm hội tụ

Hình 1.4 Các thiết lập để xác định ranh giới các cụm ban đầu

Mục đích của thuật toán k-means là sinh k cụm dữ liệu {C1, C2, , Ck} từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi = {xi1, xi2, , xid}, i = 1, n,

sao cho hàm tiêu chuẩn: 2

  đạt giá trị tối thiểu

Trong đó, mi là trọng tâm của phân cụm Ci, D là khoảng cách giữa các đối tượng

Trang 28

19

Hình 1.5 Tính toán trọng tâm của các cụm mới

Thuật toán k-means bao gồm các bước cơ bản sau :

Input: Số cụm k và các trọng tâm cụm {mj}kj=1

Output: Các cụm C[i] (1 ≤ i ≤ k) và hàm tiêu chuẩn E đạt giá trị tối thiểu Begin

Bước 1: Khởi tạo

Chọn k trọng tâm {mj}kj=1 ban đầu trong không gian Rd (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

Bước 2: Tính toán khoảng cách

Đối với mỗi điểm Xi (1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm mj (1 ≤ j ≤ k) Sau đó tìm trọng tâm gần nhất đối với mỗi điểm

Bước 3: Cập nhật lại trọng tâm

Đối với mỗi 1 ≤ j ≤ k, cập nhật trọng tâm cụm mj bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu

Trang 29

20 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, Tflop là thời gian để thực hiện một phép tính cơ sở như phép tính nhân, chia,

Như vậy, do k-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn Tuy nhiên, nhược điểm của k-means là chỉ á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 phân cụm dữ liệu 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

Ngoài thuật toán k-means ra, phân cụm phân hoạch còn bao gồm một số các thuật toán khác như: Thuật toán PAM; Thuật toán CLARA; Thuật toán CLARANS

1.6.2 Thuật toán phân cụm phân cấp – Thuật toán CURE

Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phần tử ngoại lai Thuật toán CURE [12] khắc phục được vấn đề này và tốt hơn với các phần tử ngoại lai Thuật toán này định nghĩa một số các điểm đại diện cố định nằm rải rác trong toàn bộ không gian dữ liệu và được chọn để mô tả các cụm được hình thành Các điểm này được tạo ra nhờ sự lựa chọn các đối tượng nằm rải rác cho các cụm và sau

đó “co lại” hoặc di chuyển chúng về trung tâm cụm bằng nhân tố co cụm Quá trình này được lặp lại và như vậy trong quá trình này, có thể đo tỉ lệ gia tăng của cụm Tại mỗi bước của thuật toán, hai cụm có cặp điểm đại diện gần nhau (mỗi điểm trong cặp thuộc về mỗi cụm khác nhau) sẽ được hòa nhập

Trang 30

21

Hình 1.6 Khái quát thuật toán CURE Như vậy, có nhiều hơn một điểm đại diện mỗi cụm cho phép CURE khám phá được các cụm có hình dạng không phải là hình cầu Việc co lại các cụm có tác dụng làm giảm tác động của các phần tử ngoại lai Như vậy, thuật toán này có khả năng

xử lí tốt trong trường hợp có các phần tử ngoại lai và làm cho nó hiệu quả với những hình dạng không phải là hình cầu và kích thước độ rộng biến đổi Hơn nữa,

nó tỉ lệ tốt với cơ sở dữ liệu lớn mà không làm giảm chất lượng phân cụm

Hình 1.7 Các cụm dữ liệu được khám phá bởi CURE

Để xử lí được các cơ sở dữ liệu lớn, CURE sử dụng mẫu ngẫu nhiên và phân hoạch, một mẫu là được xác định ngẫu nhiên trước khi được phân hoạch, và sau đó tiến hành phân cụm trên mỗi phân hoạch, như vậy mỗi phân hoạch là từng phần đã được phân cụm, các cụm thu được lại được phân cụm lần thứ hai để thu được các cụm con mong muốn, nhưng mẫu ngẫu nhiên không nhất thiết đưa ra một mô tả tốt cho toàn bộ tập dữ liệu

Trang 31

22

Thuật toán CURE được thực hiện qua các bước cơ bản sau:

1 Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu

2 Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau: Ý tưởng chính ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n’/p (n’ là kích thước của mẫu)

3 Phân cụm các điểm của mỗi nhóm: Thực hiện phân cụm dữ liệu cho các nhóm cho đến khi mỗi nhóm được phân thành n’/pq cụm (với q > 1)

4 Loại bỏ các phần tử ngoại lai: Trước hết, khi các cụm được hình thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán sẽ tự động loại bỏ các nhóm nhỏ

5 Phân cụm các cụm không gian: các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn

6 Đánh dấu dữ liệu với các nhãn tương ứng

Độ phức tạp tính toán của thuật toán CURE là O(n21og(n)) CURE là thuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và có thể áp dụng tốt đối với dữ liệu có phần tử ngoại lai và trên các tập dữ liệu hai chiều Tuy nhiên,

nó lại rất nhạy cảm với các tham số như số các đối tượng đại diện, tỉ lệ co của các phần tử đại điện

Ngoài thuật toán CURE ra, phân cụm phân cấp còn bao gồm một số thuật toán khác như: Thuật toán BIRCH; Thuật toán AGNES; Thuật toán DIANA; Thuật toán ROCK; Thuật toán CHANMELEON [11]

1.6.3 Thuật toán phân cụm dựa trên mật độ - Thuật toán DBSCAN

Thuật toán điển hình của thuật toán phân cụm dựa trên mật độ là thuật toán DBSCAN [11]

Trang 32

23 Thuật toán DBSCAN thích nghi với mật độ dày để phân cụm và khám phá ra các cụm có hình dạng bất kỳ trong không gian cơ sở dữ liệu có nhiễu

Trên thực tế DBSCAN tìm kiếm cho các cụm bằng cách kiểm tra các đối tượng mà có số đối tượng láng giềng nhỏ hơn một ngưỡng tối thiểu, tức là có tối thiểu MinPts đối tượng và mỗi đối tượng trong cụm tồn tại một đối tượng khác trong cụm giống nhau với khoảng cách nhỏ một ngưỡng Eps Tìm tất cả các đối tượng mà các láng giềng của nó thuộc về lớp các đối tượng đã xác định ở trên, một cụm được xác định bằng một tập tất cả các đối tượng liên thông mật độ các láng giềng của nó DBSCAN lặp lại tìm kiếm ngay khi các đối tượng liên lạc mật độ từ các đối tượng trung tâm, nó có thể bao gồm việc kết hợp một số cụm có mật độ liên lạc Quá trình kết thúc khi không tìm được điểm mới nào có thể thêm vào bất cứ cụm nào

DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trong khi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào Khi có một đối tượng được chèn vào chỉ tác động đến một láng giềng xác định Mặt khác, DBSCAN sử dụng tham số Eps và MinPts trong thuật toán để kiểm soát mật độ của các cụm DBSCAN bắt đầu với một điểm tuỳ ý và xây dựng mật độ láng giềng có thể được đối với Eps và MinPts Vì vậy, DBSCAN yêu cầu người dùng xác định bán kính Eps của các láng giềng và số các láng giềng tối thiểu MinPts, các tham số này khó mà xác định được tối ưu, thông thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm Độ phức tạp của DBSCAN là O(n2), nhưng nếu

áp dụng chỉ số không gian để giúp xác định các láng giềng của một đối tượng dữ liệu thì độ phức của DBSCAN đã được cải tiến là O(nlogn) Thuật toán DBSCAN

có thể áp dụng cho các tập dữ liệu không gian lớn đa chiều, khoảng cách Euclide được sử dụng để đo sự tương tự giữa các đối tượng nhưng không hiệu quả đối với

dữ liệu đa chiều

Trang 33

Nếu sử dụng giá trị toàn cục Eps và Minpts, DBSCAN có thể hoà nhập hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau Giả sử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là:

IF PointClId = UNCLASSIFIED THEN

IF ExpandCluster(SetOfPoints, Point, ClusterId, Eps, MinPts) THEN ClusterId := nextId(ClusterId)

Trang 34

25

ExpandClusster(SetOfPoints, Points, C1Id, Eps, MinPts): Boolean;

seeds:= SetOfPoints.regionQuery(Point, Eps)

result := SetOfPoints.regionQuery(CurrentP, Eps);

IF result.size >= MinPts THEN

FOR i FROM 1 to result.size DO

resultpP := result.get(i);

IF resultp.C1Id IN {UNCLASSIFIED, NOISE} THEN

IF resultp.ClId = UNCLASSIFIED THEN

Trong đó SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm được khám phá

từ bước trước, C1Id (ClusterId) là nhãn đánh dấu phần tử dữ liệu nhiễu có thể thay

đổi nếu chúng có thể liên lạc mật độ từ một điểm khác trong cơ sở dữ liệu, điều này

chỉ xảy ra đối với các điểm biên của dữ liệu Hàm SetOfPoints.get(i) trả về phần tử thứ i của SetOfPoints Thủ tục SetOfPoints.regionQuery(Point, Eps) trả về một

danh sách các điểm dữ liệu lân cận với điểm Point trong ngưỡng Eps từ tập dữ liệu

Trang 35

26

SetOfPoints Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN là độc lập với

thứ tự duyệt các đối tượng dữ liệu Eps và MinPts là hai tham số toàn cục được xác định bằng thủ công hoặc theo kinh nghiệm Tham số Eps được đưa vào là nhỏ so với kích thước của không gian dữ liệu, thì độ phức tạp tính toán trung bình của mỗi truy vấn là O(logn)

Ngoài thuật toán DBSCAN ra, phân cụm dựa trên mật độ còn bao gồm 2 thuật toán khác như: Thuật toán OPTICS; Thuật toán DENCLUE [11]

1.6.4 Thuật toán phân cụm dựa trên lưới - Thuật toán STING

STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các

ô lưới được hình thành từ các ô lưới con để thực hiện phân cụm Có nhiều mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giải trong cấu trúc lưới,

và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao được phân hoạch thành

số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp Việc phân tích thông tin dựa trên các đặc điểm thống kê của tập dữ liệu trong mỗi ô như:

- Count: số đối tượng trong ô;

- M: vectơ trung bình của dữ liệu trong ô;

- S: độ lệch chuẩn của mọi giá trị thuộc tính trong ô;

- Min: giá trị cực tiểu của các thuộc tính trong ô;

- Max: giá trị cực đại của các thuộc tính trong ô;

- Distribution: kiểu phân phối của các giá trị thuộc tính trong ô

Hình 1.9 mô tả 3 mức lưới liên tiếp nhau trong cấu trúc STING, mỗi ô ở mức trên được phân thành bốn ô ở mức tiếp theo Các tham số thống kê ở mức cao khi chưa xác định được sẽ được tính toán từ các tham số trong các ô ở mức thấp hơn Kiểu phân bố ở ô mức cao được tính toán dựa trên các kiểu phân bố ở các

ô tương ứng ở mức thấp Nếu các phân bố ở mức thấp không cho biết phân bố mức cao thì phân bố ở ô mức cao sẽ là không xác định (được đặt là none)

Trang 36

27

Hình 1.9: Ba tầng liên tiếp nhau của cấu trúc STING

Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê ở trên được tính trực tiếp thông qua các đối tượng dữ liệu này Các truy vấn không gian được thực hiện bằng cách xét các ô thích hợp tại mỗi mức của phân cấp Một truy vấn không gian được xác định như là một thông tin khôi phục lại của dữ liệu không gian và các quan hệ của chúng

STING có khả năng mở rộng cao, nhưng do sử dụng phương pháp đa phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất Đa phân giải là khả năng phân rã tập dữ liệu thành các mức chi tiết khác nhau Khi hoà nhập các ô của cấu trúc lưới để hình thành các cụm, nó không xem xét quan hệ không gian giữa các nút của mức con không được hoà nhập phù hợp (do chúng chỉ tương ứng với các cha của nó) và hình dạng của các cụm dữ liệu khám phá được, tất cả ranh giới của các cụm có các biên ngang và dọc, theo biên của các ô và không có đường biên chéo được phát hiện ra

Một trong những hạn chế trong khi sử dụng cách tiếp cận đa phân giải để thực hiện phân tích cụm chất lượng của phân cụm STING hoàn toàn phụ thuộc vào tính chất hộp ở mức thấp của cấu trúc lưới Nếu tính chất hộp là mịn, dẫn đến chi phí thời gian xử lý tăng, tính toán trở nên phức tạp và nếu mức dưới cùng là quá thô thì

nó có thể làm giảm bớt chất lượng và độ chính xác của phân tích cụm

Cấu trúc dữ liệu lưới thuận tiện cho quá trình xử lí song song và cập nhật liên tục, khi duyệt toàn bộ cơ sở dữ liệu một lần để tính toán các đại lượng thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thời gian để tạo các cụm xấp xỉ

Trang 37

28 O(n), trong đó n là tổng số các đối tượng Sau khi xây dựng cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng số ô lưới ở mức thấp (g <<n)

Thuật toán STING gồm các bước sau:

Bước 1: Xác định tầng để bắt đầu:

Bước 2: Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ước lượng

khoảng) của xác suất mà ô này liên quan tới truy vấn

Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan

hoặc không liên quan

Bước 4: Nếu lớp này là lớp dưới cùng, chuyển sang Bước 6; nếu khác thì

chuyển sang Bước 5

Bước 5: Duyệt xuống dưới của cấu trúc cây phân cấp một mức Chuyển sang

Bước 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn

Bước 6: Nếu đặc tả được câu truy vấn, chuyển sang Bước 8; nếu không thì

chuyển sang Bước 7

Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lí Trả lại

kết quả phù hợp yêu cầu của truy vấn Chuyển sang Bước 9

Bước 8: Tìm thấy các miền có các ô liên quan Trả lại miền mà phù hợp với

yêu cầu của truy vấn Chuyển sang Bước 9

Bước 9: Dừng

Ngoài thuật toán STING ra, phân cụm dựa trên lưới còn có thêm một thuật toán khác là: Thuật toán CLIQUE

1.6.5 Thuật toán phân cụm dựa trên mô hình - Thuật toán EM

Thuật toán EM được xem như là thuật toán dựa trên mô hình hoặc là mở rộng của thuật toán k-means Thật vậy, EM gán các đối tượng cho các cụm đã cho theo xác suất phân phối thành phần của đối tượng đó Phân phối xác suất thường được sử dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tượng

dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng dữ liệu EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật

Trang 38

29 toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá cao Đã có một số cải tiến được đề xuất cho EM dựa trên các tính chất của dữ liệu: có thể nén, có thể sao lưu trong bộ nhớ và có thể hủy bỏ Trong các cải tiến này, các đối tượng bị hủy bỏ khi biết chắc chắn được nhãn phân cụm của nó, chúng được nén khi không bị loại bỏ và thuộc về một cụm quá lớn so với bộ nhớ và chúng

sẽ được lưu lại trong các trường hợp còn lại

Thuật toán được chia thành hai bước và quá trình đó được lặp lại cho đến khi vấn đề được giải quyết:

Các bước thực hiện của thhuật toán EM

Khởi tạo tham số:

λ0={μ1(0), μ2(0), …, μK(0), p1(0), p2(0), …, pK(0)}

Bước E:

( ) 2 ( ) ( ) 2 ( )

( | , ) ( , ) ( | , , )( | , )

1.6.6 Thuật toán phân cụm có dữ liệu ràng buộc

Thuật toán Phân cụm có dữ liệu ràng buộc gồm các thuật toán: FCM, eFCM

và FCM - Cải tiến

Trang 39

30

- Thuật toán FCM là thuật toán phân cụm mờ, đây là một mở rộng của thuật

toán k-means nhằm để khám phá ra các cụm chồng lên nhau, tuy nhiên, FCM vẫn chứa đựng các nhược điểm của thuật toán k-means trong việc xử

lí đối với các phần tử ngoại lai và nhiễu trong dữ liệu

- Thuật toán εFCM là một thuật toán mở rộng của thuật toán FCM nhằm

khắc phục các nhược điểm trong việc xử lí đối với các phần tử ngoại lai và nhiễu trong dữ liệu

- Thuật toán FCM-Cải tiến là một thuật toán cải tiến nhằm để khắc phục các

nhược điểm của thuật toán εFCM Khi các tập dữ liệu lớn, tập dữ liệu nhiều chiều cũng như cách xác định tham số ε của thuật toán εFCM là những vấn

đề khó được xử lý để đạt hiệu quả cao khi sử dụng thuật toán εFCM, chính

vì thế mà cần một thuật toán cải tiến hơn để xử lý bài toán đặt ra

1.7 Kết luận chương 1

Phân cụm dữ liệu là phương pháp quan trọng nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn trong các tập dữ liệu lớn, từ đó sẽ cung cấp thông tin hữu ích cho việc ra quyết định

Trong chương này đã trình bày một số kiến thức tổng quan khái niệm và mục tiêu của phân cụm dữ liệu, nêu lên các kiểu dữ liệu, độ đo dữ liệu và các yêu cầu của phân cum dữ liệu; Giới thiệu một số lĩnh vực có sử dụng phân cụm dữ liệu cho các ứng dụng; Trình bày một số kỹ thuật tiếp cận dữ liệu và các thuật toán áp dụng trong phân cụm dữ liệu

Trong chương 2 sẽ trình bày các kỹ thuật trong việc phân cụm dữ liệu mờ

Trang 40

31

Chương 2 PHÂN CỤM DỮ LIỆU MỜ

2.1 Phân cụm mờ

2.1.1 Giới thiệu phân cụm mờ

Hiện nay chúng ta gặp rất nhiều ứng dụng về bài toán phân cụm Ví dụ như trong ngành bưu điện, hàng ngày bưu điện phải phân loại thư theo mã nước, tiếp theo phân loại theo mã tỉnh/thành phố, sau đó khi thư về đến bưu điện tỉnh thì bưu điện tỉnh lại phải phân loại thư theo quận/huyện để gửi đi, đến bưu điện quận/huyện lại phân loại thư theo xã/phường để gửi thư Đó chính là một ứng dụng của bài toán phân cụm rõ

Bài toán phân cụm rõ: Cho tập dữ liệu mẫu X, ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất thì ta gán điểm dữ liệu đó vào trong nhóm

đó Nhưng trong thực tế không phải lúc nào bài toán phân cụm rõ cũng áp dụng được Chẳng hạn, ta có phép phân loại sau: Một bệnh nhân có các triệu chứng như:

ho, đau rát cổ, sốt thì có thể bệnh nhân này bị viêm họng Còn bệnh nhân khác có triệu chứng: ho, sốt, đau đầu, chảy mũi thì có thể do cảm cúm Vậy bệnh nhân bị ho

và sốt thì chưa thể xác định rõ là bệnh nhân này bị bệnh gì? Vì vậy, chúng ta cần đưa vào khái niệm về bài toán phân cụm mờ

Trong các phương pháp phân cụm đã giới thiệu trong chương I, mỗi phương pháp phân cụm phân hoạch một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt Tuy nhiên, trong thực tế, đường biên giữa các cụm

có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều cụm khác nhau, do đó mô hình này không mô tả được dữ liệu thực

Vì vậy mà người ta đã áp dụng lý thuyết về tập mờ trong phân cụm dữ liệu để giải quyết cho những trường hợp này Cách thức kết hợp này được gọi là Phân cụm mờ Phân cụm mờ là phương pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu có thể thuộc về hai hoặc nhiều cụm [8] Ruspini (1969) giới thiệu khái niệm phân hoạch mờ để mô tả cấu trúc cụm của tập dữ liệu và đề xuất một thuật toán để

Ngày đăng: 09/12/2016, 15:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bùi Công Cường và Nguyễn Doãn Phước, “Hệ mờ, mạng nơron và ứng dụng”, Nhà xuất bản Khoa học và Kỹ thuật, 2001 Sách, tạp chí
Tiêu đề: “Hệ mờ, mạng nơron và ứng dụng”
Nhà XB: Nhà xuất bản Khoa học và Kỹ thuật
[2] Nguyễn Văn Chức (chuc1803@gmail.com), “Thuật toán K-Means với bài toán phân cụm dữ liệu”, http://bis.net.vn/forums/t/374.aspx Sách, tạp chí
Tiêu đề: “Thuật toán K-Means với bài toán phân cụm dữ liệu”
[3] Hoàng Xuân Huấn và Nguyễn Thị Xuân Hương, “Một mở rộng tuật toán phân cụm k-Means cho dữ liệu hỗn hợp”, Tạp chí Tin học và Điều khiển học, T.22, S.3 (2006), 267-274.Tiếng Anh Sách, tạp chí
Tiêu đề: “Một mở rộng tuật toán phân cụm k-Means cho dữ liệu hỗn hợp”
Tác giả: Hoàng Xuân Huấn và Nguyễn Thị Xuân Hương, “Một mở rộng tuật toán phân cụm k-Means cho dữ liệu hỗn hợp”, Tạp chí Tin học và Điều khiển học, T.22, S.3
Năm: 2006
[4] James C. Bezdek, “Pattern Recognition with fuzzy Objective Function Algorithms”, New York, Plenum, 1981 Sách, tạp chí
Tiêu đề: “Pattern Recognition with fuzzy Objective Function Algorithms”
[5] James C. Bezdek, Robert Ehrlich và William Full, “The Fuzzy c-Means Clustering Algorithm”, Computers &amp; Geosciences Vol. 10, No. 2-3, pp. 191- 203, 1984, © 1984 Pergamon Press Ltd Sách, tạp chí
Tiêu đề: “The Fuzzy c-Means Clustering Algorithm”
[6] James C. Bezdek, Robert L. Cannon and Jitendra V. Dave, “Efficient Implementation of the Fuzzy c-Means Clusteng Algornthms”, Ieee Transactions On Pattern Analysis and Machine Intelligence, VOL. Pami-8, No. 2, March 1986 Sách, tạp chí
Tiêu đề: Efficient Implementation of the Fuzzy c-Means Clusteng Algornthms
[7] P.J. Flynn, A.K. Jain and M.N. Murty, “Data Clustering: A Review”, Michigan State University, Indian Institute of Science, The Ohio State University, ACM Computing Surveys, Vol. 31, No. 3, September 1999 Sách, tạp chí
Tiêu đề: “Data Clustering: A Review”
[8] Md. Ehsanul Karim, Feng Yun, Sri Phani Venkata Siva Krishna Madani, “Fuzzy Clustering Analysis”, Thesis for the degree Master of Science in Mathematical Modelling and Simulation, April 2010 Sách, tạp chí
Tiêu đề: “Fuzzy Clustering Analysis”
[9] Daniel T. Larose, “Discovering Knowledge in Data: An Introduction to Data Mining”, ISBN 0-471-66657-2 Copyright ©2005 by John Wiley &amp; Sons, Inc Sách, tạp chí
Tiêu đề: “Discovering Knowledge in Data: An Introduction to Data Mining”
[10] Jacek M. Leski, “An ε-Insensitivity Fuzzy C-means Clustering”, Viện Điện tử, Trường đại học công nghệ Silesian, 2003 Sách, tạp chí
Tiêu đề: “An ε-Insensitivity Fuzzy C-means Clustering”

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w