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

Các kỹ thuật phân cụm trong khai phá dữ liệu

98 1,5K 2

Đ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 98
Dung lượng 1,32 MB

Nội dung

Khai phá dữ liệu Data Mining là một bước trong quá trình khám phá tri thức và được định nghĩa: là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thị Thu Hiền

Các kỹ thuật phân cụm trong khai phá dữ liệu

LUẬN VĂN THẠC SĨ

Hà Nội - 2009

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thị Thu Hiền

Các kỹ thuật phân cụm trong khai phá dữ liệu

Ngành: Công Nghệ Thông tin

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Các kỹ thuật phân cụm trong khai phá dữ liệu”

là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn được

sử dụng trung thực Những kết luận của luận văn chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào khác

Học viên thực hiện

Nguyễn Thị Thu Hiền

Trang 4

LỜI CẢM ƠN

Luận văn được hoàn thành dưới sự hướng dẫn, chỉ bảo tận tình, chu đáo của PGS.TS Vũ Đức Thi Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến Thầy cùng sự giúp đỡ nhiệt tình của Thầy trong suốt quá trình tôi thực hiện luận văn

Tôi xin cảm ơn các Thầy, Cô giáo và các Cán bộ trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền thụ kiến thức, kinh nghiệm học tập, nghiên cứu khoa học cho tôi trong suốt quá trình học tập tại trường

Tôi cũng xin gửi lời cảm ơn tới trường Đại học Sư phạm Thái Nguyên, Khoa Toán, Tổ Tin học và các đồng nghiệp đã tạo điều kiện cho tôi thực hiện tốt kế hoạch học tập của mình

Cuối cùng, tôi xin bày tỏ lòng biết ơn tới gia đình tôi đã luôn bên cạnh động viên, ủng hộ và tạo điều kiện tốt nhất cho tôi học tập và hoàn thành luận văn này

Học viên thực hiện

Nguyễn Thị Thu Hiền

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5

DANH MỤC BẢNG BIỂU 6

DANH MỤC HÌNH VẼ, ĐỒ THỊ 7

LỜI MỞ ĐẦU 9

CHƯƠNG 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 11

1.1 Quá trình khám phá tri thức trong cơ sở dữ liệu 11

1.2 Tính liên ngành của khai phá dữ liệu 13

1.3 Các bài toán khai phá dữ liệu điển hình 14

1.4 Các dạng dữ liệu có thể khai phá dữ liệu 16

1.5 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu 16

1.6 Ứng dụng của khai phá dữ liệu 18

1.7 Các thách thức trong KPTT và KPDL 18

CHƯƠNG 2 - PHÂN CỤM DỮ LIỆU 19

2.1 Bài toán phân cụm dữ liệu 19

2.2 Các giai đoạn của quá trình phân cụm dữ liệu 20

2.3 Ứng dụng của phân cụm dữ liệu 21

2.4 Các kiểu dữ liệu và độ đo tương tự 21

2.5 Các kỹ thuật tiếp cận phân cụm dữ liệu 25

2.6 Yêu cầu đối với các thuật toán phân cụm dữ liệu 29

CHƯƠNG 3 - CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐIỂN HÌNH 30

3.1 Các thuật toán phân cụm phân hoạch 30

3.1.1 Thuật toán k-means 30

3.1.2 Thuật toán PAM 33

3.1.3 Thuật toán CLARA 35

3.1.4 Thuật toán CLARANS 37

Trang 6

3.2 Các thuật toán phân cụm phân cấp 39

3.2.1 Thuật toán BIRCH 39

3.2.2 Thuật toán CURE 42

3.3 Các thuật toán phân cụm dựa trên mật độ 44

3.3.1 Thuật toán DBSCAN 44

3.3.2 Thuật toán OPTICS 48

3.3.3 Thuật toán DENCLUE 49

3.4 Các thuật toán phân cụm dựa trên lưới 51

3.4.1 Thuật toán STING 51

3.4.2 Thuật toán CLIQUE 53

3.4.3 Thuật toán WaveCluster 53

3.5 Phân cụm dựa trên mô hình 54

3.5.1 Thuật toán EM 54

3.6 Các thuật toán phân cụm dữ liệu kiểu hạng mục 57

3.6.1 Thuật toán k-modes 58

3.6.2 Thuật toán ROCK 61

3.6.3 Thuật toán STIRR 64

3.6.4 Thuật toán CACTUS 66

3.7 Phân cụm dữ liệu hỗn hợp 70

3.7.1 Cơ sở toán học 70

3.7.2 Thuật toán k-prototypes 73

CHƯƠNG 4 - PHÂN CỤM DỮ LIỆU MỜ 76

4.1 Giới thiệu 76

4.2 Thuật toán FCM 77

4.2.1 Hàm mục tiêu 77

4.2.2 Thuật toán FCM 78

4.3 Thuật toán FCM 80

4.3.1 Hàm mục tiêu 80

4.3.2 Thuật toán FCM 85

4.4 Một số kết quả thử nghiệm 85

4.4.1 Thí nghiệm dữ liệu có ngoại lai 85

4.4.2 Phân cụm dữ liệu các nhóm có ngoại lai và xếp chồng dữ liệu 88

KẾT LUẬN 91

TÀI LIỆU THAM KHẢO 92

PHỤ LỤC 94

CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN K-MEANS 94

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh

Cơ sở dữ liệu CSDL Database

Công nghệ thông tin CNTT Information Technology

Khám phá tri thức KPTT Knowledge Discovery

KDD Knowledge Discovery in Database Khai phá dữ liệu KPDL Data mining

Phân cụm dữ liệu PCDL Data Clustering

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 2.1 Bảng giá trị tham số 22

Bảng 2.2 Các kiểu thuộc tính với các độ đo thích hợp tương ứng 25

Bảng 3.1 Bảng tổng kết các thuộc tính của các thuật toán PCDL kiểu số 55

Bảng 3.2 Bảng tổng kết các thuộc tính của các thuật toán PCDL hạng mục 69

Bảng 4.1 Số lỗi tâm cụm lớn nhất của FCM và FCM theo số phần tử ngoại lai 87

Bảng 4.2 Chuẩn Frobenius của các lỗi tâm các cụm 88

Bảng 4.3 Cực đại các lỗi tâm cụm với dữ liệu có ngoại lai 89

Bảng 4.4 Frobenius của các lỗi tâm cụm cho dữ liệu có ngoại lai 89

Trang 9

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 1.1 Quá trình khám phá tri thức trong CSDL 12

Hình 1.2 Tính đa/liên ngành của khai phá dữ liệu 13

Hình 1.3 Sơ đồ biểu diễn mô hình học máy: cần học đường nét rời 17

Hình 2.1 Quá trình phân cụm dữ liệu 20

Hình 2.2 Các khoảng cách Euclidean và Manhattan giữa hai đối tượng 23

Hình 2.3 Phương pháp xây dựng cây phân cụm phân cấp 26

Hình 2.4 Mô tả phân cụm phân hoạch và phân cụm phân cấp 27

Hình 3.1 Ý tưởng thuật toán k-means 30

Hình 3.2 Các bước cơ bản của thuật toán k-means 31

Hình 3.3 Chi tiết thuật toán k-means 32

Hình 3.4 Các bước thực hiện thuật toán PAM 35

Hình 3.5 Các bước thực hiện thuật toán CLARA 36

Hình 3.6 Thuật toán CLARANS 38

Hình 3.7 Thuật toán BIRCH sử dụng cây CF 40

Hình 3.8 Các bước cơ bản của thuật toán BIRCH 42

Hình 3.9 Một số cụm dữ liệu được khám phá bởi thuật toán CURE 43

Hình 3.10 Các bước cơ bản của thuật toán CURE 43

Hình 3.11 Hình dạng một số cụm được khám phá bởi thuật toán DBSCAN 45

Hình 3.12 Liên thông mật độ và liên kết mật độ trong PCDL dựa trên mật độ 46

Hình 3.13 Thuật toán DBSCAN 48

Hình 3.14 Thứ tự các cụm được tăng dần trong OPTICS 49

Hình 3.15 Biểu diễn hàm ảnh hưởng sóng ngang và Gaussian 50

Hình 3.16 Mô hình lưới được sử dụng bởi thuật toán STING 51

Trang 10

Hình 3.17 Các bước thực hiện thuật toán STING 52

Hình 3.18 Ứng dụng của thuật toán WaveCluster 54

Hình 3.19 Các bước thực hiện thuật toán EM 54

Hình 3.20 Mảng hạng mục của tập dữ liệu 60

Hình 3.21 Số các đối tượng lân cận chung của hai đối tượng dữ liệu i, j 62

Hình 3.22 Tổng quan về ROCK 63

Hình 3.23 Các bước cơ bản của thuật toán ROCK 64

Hình 3.24 Trình bày dữ liệu trong thuật toán STIRR 65

Hình 3.25 Một ví dụ sử dụng CACTUS 68

Hình 3.26: Ảnh hưởng của ltrong phân cụm 72

Hình 3.27: Thủ tục phân phối ban đầu trong thuật toán k-prototypes 74

Hình 3.28: Thủ tục phân phối lại(re-allocation) trong k-prototypes 75

Hình 3.29: Quá trình hội tụ của thuật toán k-prototypes 75

Hình 4.1 Thuật toán FCM 78

Hình 4.2 Mô phỏng kết quả các cụm được khám phá bởi thuật toán FCM 79

Hình 4.3 Thuật toán FCM 85

Hình 4.4 Thực nghiệm phương pháp FCM 86

Hình 4.5 Thực nghiệm phương pháp FCM với  = 2 86

Hình 4.6 Thực nghiệm FCM,  = 2 với các cụm có dữ liệu xếp chồng và ngoại lai 90

Hình 4.7 Thực nghiệm FCM với các cụm có dữ liệu xếp chồng và ngoại lai 90

Trang 11

LỜI MỞ ĐẦU

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng của các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra một lượng dữ liệu lưu trữ khổng lồ Hàng triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều CSDL cực lớn Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết

là cần có những kĩ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng

lồ kia thành các tri thức có ích Từ đó, các kĩ thuật khám phá hay còn gọi là phát

hiện tri thức trong CSDL (Knowledge Discovery in Databases) đã trở thành một

lĩnh vực thời sự của ngành công nghệ thông tin trên thế giới hiện nay

Khai phá dữ liệu (Data Mining) là một bước trong quá trình khám phá tri thức

và được định nghĩa: là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự

như: khai phá tri thức từ CSDL (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ

dữ liệu (data archaeology), nạo vét dữ liệu (data dredging)

Với hai mục đích chính của khai phá dữ liệu là Dự đoán (Prediction) và Mô tả (Description), người ta thường sử dụng các phương pháp: phân lớp (Classification), dự đoán (Prediction), tìm luật liên kết (Association Rule) và các kỹ thuật phân cụm (Clustering) cho khai phá dữ liệu

Phân cụm dữ liệu là quá trình nhóm các đối tượng dữ liệu tương đồng với nhau thành các cụm Một cụm là tập hợp các đối tượng dữ liệu tương đồng với nhau

và các đối tượng dữ liệu thuộc các cụm khác nhau không tương đồng với nhau Phân cụm dữ liệu nhằm mục đích chính là tìm kiếm và phát hiện các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn , theo đó, cho phép người ta đi sâu vào phân tích và nghiên cứu ch o từng cụm dữ liệu này nhằm khám phá các thông tin tiềm ẩn, hữu ích, phục vụ cho việc ra quyết định Các kỹ thuật chính được áp dụng trong phân cụm dữ liệu thường phần lớn được kế thừa từ lĩnh vực thống kê , học máy, nhận dạng,… Đến nay, phân cụm dữ liệu đã được ứng dụng rộng rãi cho việc

Trang 12

giải quyết các vấn đề trong nhiều lĩnh vực khác nhau như tài chính , thông tin địa lý, sinh học, nhận dạng ảnh,…

Từ những lý do trên, chúng tôi lựa chọn vấn đề “Các kỹ thuật phân cụm

trong khai phá dữ liệu” làm đề tài nghiên cứu của mình

Luận văn sẽ trình bày một số vấn đề về khám phá tri thức trong CSDL và tập trung nghiên cứu, trình bày về các kỹ thuật phân cụm trong KPDL Trong luận văn, ngoài phần mở đầu nêu lên các lý do chính lựa chọn đề tài, phần kết luận nhằm tóm tắt các vấn đề đã tìm hiểu được, đồng thời xác định hướng nghiên cứu tiếp theo, nội dung luận văn được trình bày trong 4 chương và phần phụ lục:

Chương 1: Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu: các

khái niệm liên quan, các giai đoạn trong quá trình khám phá tri thức, các kỹ thuật tiếp cận chính trong khai phá dữ liệu, …

Chương 2: Giới thiệu về phân cụm dữ liệu, trong đó đi sâu phân tích chi tiết

các vấn đề cơ bản trong PCDL và ý nghĩa của PCDL Đồng thời, trình bày tóm tắt

về các đặc trưng của các phương pháp PCDL như: phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ,… và nêu các kỹ thuật đánh giá kết quả PCDL

Chương 3: Trình bày các phân tích, đánh giá đối với các thuật toán PCDL điển

hình và chỉ ra ưu, nhược điểm của chúng

Chương 4: Trình bày về kỹ thuật phân cụm mờ trong PCDL, cụ thể là trình

bày hai thuật toán FCM (Fuzzy C-means) và FCM Nêu lên một số kết quả thực nghiệm cho các thuật toán phân cụm mờ

Phụ lục: Cài đặt chương trình thử nghiệm cho thuật toán k-means

Trang 13

CHƯƠNG 1

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Quá trình khám phá tri thức trong cơ sở dữ liệu

Cuộc cách mạng của khoa học kỹ thuật đã cho phép số hóa thông tin dễ dàng, nhanh chóng với chi phí lưu trữ thấp Đồng thời, cùng với sự phát triển, trang bị hiện đại của hệ thống phần mềm, phần cứng máy tính, một số lượng dữ liệu khổng

lồ đã được tích lũy, lưu trữ Mục đích của việc thu thập và lưu trữ các kho dữ liệu khổng lồ như vậy không ngoài mục tiêu khai phá dữ liệu nhằm phát hiện các tri thức mới có ích cho hoạt động của con người Chính vì vậy, kỹ thuật thống kê và các công cụ quản trị dữ liệu cũ không thể đáp ứng được nhu cầu phân tích đầy đủ dữ liệu rộng lớn được nữa và một khuynh hướng mới đã được ra đời, phát triển, đó là

lĩnh vực khám phá tri thức và khai phá dữ liệu

Theo Fayyad, Piatetsky-Shapiro, Smyth, việc nghiên cứu phát triển lĩnh vực

khám phá tri thức trong CSDL (Knowledge Discovery in Databases: KDD) nhằm giải quyết tình trạng “ngập tràn thông tin mà vẫn thiếu thốn tri thức” [22]

Khám phá tri thức trong cơ sở dữ liệu là lĩnh vực đã, đang và sẽ được quan tâm triển khai nghiên cứu, phát triển một cách nhanh chóng và rộng rãi Đã có rất nhiều các thuật ngữ khác nhau mà được coi là cùng mang nghĩa của KDD như

knowledge extraction (chiết lọc tri thức), information discovery (phát hiện thông tin), information harvesting (thu hoạch thông tin), data archaeology (khai quật dữ liệu) và data pattern processing (xử lý mẫu dữ liệu) Năm 1989, Fayyad, Smyth và

Piatestsky-Shapiro đã định nghĩa một cách đầy đủ về khái niệm Khám phá tri thức

trong cơ sở dữ liệu (Knowledge Discovery in Database - KDD) như sau: [12]-[22] Khám phá tri thức trong cơ sở dữ liệu (đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu.

Quá trình khám phá tri thức trong CSDL được chia thành các bước như trong hình 1.1 dưới đây:

Trang 14

Hình 1.1 Quá trình khám phá tri thức trong CSDL

- Trích lọc dữ liệu (Data Selection)

Là bước trích chọn những tập dữ liệu cần được khai thác từ các tập dữ liệu lớn (databases, datawarehouses) ban đầu theo một số tiêu chí nhất định

- Tiền xử lý dữ liệu (Data preprocessing)

Giai đoạn này hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu Tiền xử lý dữ liệu là bước làm sạch dữ liệu (xử lý

dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,…), rút gọn dữ liệu (sử dụng các phương pháp nén dữ liệu, histograms, entropy,…), rời rạc hóa dữ liệu (dựa vào histograms, dựa vào phân khoảng,…) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa Có thể nói, đây là một bước rất quan trọng vì dữ liệu này nếu không được “làm sạch - tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng

- Biến đổi dữ liệu (Data transformation)

Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho mục đích khai thác ở bước sau

- Khai phá dữ liệu (Data mining)

Đây là bước quan trọng và tốn nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật phân tích (phần lớn là các kỹ thuật của học máy) nhằm khai thác, trích chọn được các mẫu thông tin, các mối liên hệ đặc biệt trong dữ liệu

Dữ liệu

Dữ liệu đích

Dữ liệu đã tiền xử lý

Dữ liệu chuyển dạng

Mẫu

Tri thức

Đánh giá và biểu diễn tri thức

Trang 15

- Đánh giá và biểu diễn tri thức (Knowledge representation & evaluation)

Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai thác ở bước trên theo dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,… Đồng thời, bước này cũng đánh giá những tri thức khám phá được theo các tiêu chí nhất định

Trong quá trình phát hiện tri thức trong các CSDL đưọc mô tả ở trên, chúng ta nhận thấy có sự tham gia của các kho dữ liệu Theo W.H Inmon [12] "kho dữ liệu

là tập hợp các dữ liệu định hướng theo chủ đề, được tích hợp từ, có tính phiên bản theo thời gian và kiên định được dùng để hỗ trợ việc tạo quyết định cho người quản

trị"

1.2 Tính liên ngành của khai phá dữ liệu

Khai phá dữ liệu là một khái niệm ra đời vào cuối những năm 1980 Nó được xem là giai đoạn quan trọng nhất trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh KPDL nhận được sự quan tâm đặc biệt của các nhà nghiên cứu trong nhiều lĩnh vực học máy, thu nhận mẫu, CSDL, thống kê, trí tuệ nhân tạo, thu nhận tri thức đối với

hệ chuyên gia (Hình 1.2) Hệ thống KDD lôi cuốn các phương pháp, thuật toán và

kỹ thuật từ các lĩnh vực rời rạc nhau này Mục tiêu thống nhất là trích lọc tri thức từ

dữ liệu trong ngữ cảnh các CSDL lớn [6]-[12]-[15]

Hình 1.2 Tính đa/liên ngành của khai phá dữ liệu

Đối với các lĩnh vực học máy và thu nhận mẫu, sự đan xen với KDD trải theo các nghiên cứu về lý thuyết và thuật toán đối với các hệ thống trích lọc mẫu và mô hình dữ liệu (chủ yếu đối với các phương pháp khai phá dữ liệu) Trọng tâm của KDD đối với việc mở rộng các lý thuyết và thuật toán này hướng tới bài toán tìm ra

Trang 16

các mẫu đặc biệt (những mẫu mà trong một số ngữ cảnh còn được gọi là tri thức

hữu dụng hoặc hấp dẫn) trong các tập hợp dữ liệu lớn của thế giới thực

Phát hiện máy với mục tiêu là phát hiện các luật kinh nghiệm từ quan sát và thử nghiệm và mô hình nhân quả phát hiện các kết luận của mô hình nhân quả từ dữ

liệu là những lĩnh vực nghiên cứu có mối liên hệ với nhau

Một lĩnh vực nghiên cứu và triển khai có liên quan (trong nhiều trường hợp được coi là một bộ phận của lĩnh vực khai phá dữ liệu và phát hiện tri thức trong

CSDL) là lĩnh vực kho dữ liệu (data warehouse) chỉ dẫn tới các khuynh hướng hệ

thống thông tin quản lý (MIS: Managment Information Systems) phổ biến hiện tại đối với việc thu thập và làm sạch dữ liệu giao dịch và tạo cho chúng sự biến động khi tìm kiếm trực tuyến Một tiệm cận phổ biến đối với việc phân tích kho dữ liệu gọi là OLAP (On-Line Analytical Processing), qua một tập các nguyên lý được Codd đề xuất vào năm 1993 [19]

1.3 Các bài toán khai phá dữ liệu điển hình

Bước khai phá dữ liệu trong quá trình KDD thường áp dụng một phương pháp khai phá dữ liệu cụ thể, liên quan đến các khái niệm mẫu và mô hình Mẫu là một biểu thức trong một ngôn ngữ mô tả L được chọn Mô hình được coi là một biểu thức tổng quát trong ngôn ngữ mô tả L nói trên mà tính tổng quát được thể hiện thông qua các tham số (được gọi là tham số mô hình), trong trường hợp đó, mẫu là một thể hiện của mô hình

Nhiệm vụ của bài toán khai phá dữ liệu là từ dữ liệu (tập các sự kiện) quan sát

đã có thì hoặc cần phải xác định mô hình phù hợp với dữ liệu quan sát, hoặc cần tìm

ra các mẫu từ dữ liệu đó

Ở mức cao - tổng quát, hai mục tiêu chủ yếu của khai phá dữ liệu là dự đoán

và mô tả Dự đoán dùng một số biến hoặc trường trong CSDL để dự đoán hoặc về

giá trị chưa biết hoặc về giá trị sẽ có trong tương lai của các biến Mô tả hướng tới việc tìm ra các mẫu mô tả dữ liệu Dự đoán và mô tả có tầm quan trọng khác nhau đối với các thuật toán khai phá dữ liệu riêng

Ở mức chi tiết - cụ thể, dự đoán và mô tả được thể hiện thông qua các bài toán

cụ thể như mô tả khái niệm, quan hệ kết hợp, phân cụm, phân lớp, hồi quy, mô hình phụ thuộc, phát hiện biến đổi và độ lệch và một số bài toán cụ thể khác

Mô tả khái niệm

Bài toán mô tả khái niệm là tìm các đặc trưng và tính chất của các khái niệm Điển hình nhất là các bài toán như tổng quát hóa, tóm tắt, các đặc trưng dữ liệu ràng buộc,…Bài toán tóm tắt là một bài toán điển hình, áp dụng các phương pháp tìm

Trang 17

một mô tả cô đọng đối với một tập con dữ liệu Một ví dụ điển hình về tóm tắt là kỳ vọng và độ lệch chuẩn Kỹ thuật tóm tắt thường được áp dụng trong phân tích dữ liệu tham dò có tương quan và tự động hóa sinh thông báo

Quan hệ kết hợp

Phát hiện mối quan hệ kết hợp là một bài toán quan trọng trong khai phá dữ liệu, trong đó khai phá luật kết hợp là một đại diện điển hình

Phân lớp

Phân lớp (Classification) thực hiện việc xây dựng các mô hình (hàm) dự báo

nhằm mô tả hoặc phát hiện các lớp hoặc khái niệm cho các dự báo tiếp theo Một số phương pháp điển hình là cây quyết định, luật phân lớp, mạng nơron Nội dung của phân lớp chính là học một hàm ánh xạ các dữ liệu vào một trong một số lớp đã biết

Ví dụ, phân lớp khuynh hướng trong thị trường tài chính, phát hiện tự động hóa các đối tượng đáng quan tâm trong CSDL ảnh lớn…

Phân cụm

Phân cụm (Clustering) thực hiện việc nhóm dữ liệu thành các lớp mới để có

thể phát hiện các mẫu phân bố Các cụm có thể rời nhau và toàn phần (tạo nên phân hoạch) hoặc có thể chồng chéo lên nhau Ví dụ như phát hiện các nhóm người tiêu dùng trong CSDL tiếp thị, Định hướng thường là cực đại tính tương đồng trong mỗi cụm và cực tiểu tính tương đồng giữa các phần tử thuộc các cụm khác nhau

Có một số ứng dụng yêu cầu cần giải quyết bài toán phân đoạn

(segmentation) Về bản chất, phân đoạn là tổ hợp của phân cụm và phân lớp, trong

đó phân cụm được tiến hành trước và sau đó là phân lớp

Hồi quy

Hồi quy là học một hàm ánh xạ dữ liệu nhằm xác định giá trị thực của một biến Tình huống ứng dụng hồi quy rất đa dạng, chẳng hạn như dự báo nhu cầu người tiêu dùng đối với một sản phẩm mới, dự đoán số lượng sinh vật phát quang trong khu rừng nhờ đo vi sóng các sensor từ xa, hoặc ước lượng xác suất người bệnh có thể chết theo kết quả test triệu chứng,…

Mô hình phụ thuộc

Bài toán xây dựng mô hình phụ thuộc hướng tới việc tìm ra một mô hình mô

tả sự phụ thuộc có ý nghĩa giữa các biến Mô hình phụ thuộc gồm hai mức: mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị) và mức định lượng Trong đó, ở mức cấu trúc của mô hình các biến là phụ thuộc bộ phận vào các biến khác, còn ở mức định lượng của mô hình mô tả sức mạnh của tính phụ thuộc khi sử dụng đo theo số

Trang 18

Phát hiện biến đổi và độ lệch

Tập trung vào việc phát hiện hầu hết sự thay đổi có ý nghĩa dưới dạng độ đo

đã biết trước hoặc giá trị chuẩn

 Ngoài ra có thể kể tới phân tích định hướng mẫu và thống kế khác

1.4 Các dạng dữ liệu có thể khai phá dữ liệu

Nguồn dữ liệu được sử dụng để tiến hành khai phá dữ liệu nhằm phát hiện tri thức rất phong phú

Cơ sở dữ liệu quan hệ (relational databases) : là các dữ liệu được tổ chức theo

mô hình dữ liệu quan hệ

Cơ sở dữ liệu đa chiều (multidimention structures, data warehouses, data mart): là các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu

khác nhau Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng như khai phá tri thức và hỗ trợ quá trình ra quyết định

Cơ sở dữ liệu giao tác (transactonal databases)

Cơ sở dữ liệu quan hệ - hướng đối tượng (object relational databases): là dạng

lai giữa hai mô hình quan hệ và hướng đối tượng

Dữ liệu không gian và thời gian (spatial, temporal, and time-series data)

Cơ sở dữ liệu đa phương tiện (multimedia databases): là dạng dữ liệu âm

thanh, hình ảnh, text, www,…

1.5 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu

Theo quan điểm học máy (Machine Learning) thì các kỹ thuật trong khai

phá dữ liệu bao gồm:

Học có giám sát (Supervised learning): là quá trình gán nhãn lớp cho các phần

tử trong CSDL dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết

Học không có giám sát (Unsupervised learning): là quá trình phân chia một

tập dữ liệu thành các lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớp hay tập ví dụ huấn luyện

Học bán giám sát (Semi - Supervised learning): là quá trình phân chia một tập

dữ liệu thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện và một số các thông tin về một số nhãn lớp đã biết trước

Một số hướng tiếp cận chính của khai phá dữ liệu được phân chia theo chức năng hay lớp các bài toán khác nhau, bao gồm các kỹ thuật:

Trang 19

Phân lớp và dự đoán (classification & prediction): xếp đối tượng vào một

trong các lớp đã biết trước Ví dụ: phân lớp học sinh dựa trên sổ điểm,… Phân lớp

là một lĩnh vực rất quan trọng trong khai phá dữ liệu Phân lớp còn được gọi là học

có giám sát Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như

cây quyết định (decision tree), mạng nơron nhân tạo (neural network),…

Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng tương

đối đơn giản Ví dụ: “70% sinh viên học chuyên ngành hệ thống thông tin thì có tới 90% trong số đó đăng ký học Data mining” Luật kết hợp được ứng dụng trong nhiều lĩnh vực kinh doanh, y học, tài chính, thị trường chứng khoán,…

Khai thác mẫu tuần tự (sequential/temporal patterns): tương tự như khai thác

luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự

có dạng tiêu biểu X  Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính dự báo

Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từng cụm

(số lượng và tên của cụm chưa được biết trước) Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Phân cụm

còn được gọi là học không có giám sát (unsupervised learning)

Mô hình học máy (có giám sát và không giám sát) được trình bày như hình 1.4 dưới đây:

Hình 1.3 Sơ đồ biểu diễn mô hình học máy: cần học đường nét rời

Trong đó, học máy không giám sát (phân cụm) không có giá trị mục tiêu cho

ví dụ học (không có hai đường liền nét hướng tới giá trị mục tiêu)

Trang 20

1.6 Ứng dụng của khai phá dữ liệu

KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn

dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Tuỳ theo bản chất của từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau

Ứng dụng của KPDL có thể được chia thành hai lớp chính bao gồm ứng dụng phân tích dữ liệu - hỗ trợ quyết định và một số lĩnh vực ứng dụng khác

Các ứng dụng trong phân tích dữ liệu và hỗ trợ quyết định bao gồm các ứng

dụng trong phân tích và quản lý thị trường, phân tích và quản lý rủi ro, khám phá ngoại lai và các mẫu không hữu ích Dữ liệu trong các ứng dụng này là khá phong phú từ các giao dịch thẻ tín dụng, nghiên cứu đời sống công đồng Các kỹ thuật KPDL đã được áp dụng thành công trong việc dự đoán lưu lượng viễn thông cho các công ty điện thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị trường cho các công ty tài chính hay phân nhóm các khách hàng tài năng Phân tích kiểu khách hàng theo từng loại sản phẩm, phân tích nhu cầu khách hàng, định danh loại sản phẩm thích hợp cho từng lớp khác hàng để đưa ra chiến lược kinh doanh đối với nhóm khách hàng mới Ngoài ra, ứng dụng trong lập

kế hoạch và phân tích tình hình tài chính, đánh giá lưu lượng tiền tệ, dự báo giá của các loại cổ phiếu trong thị trường chứng khoán, dữ liệu thẻ tín dụng, phát hiện gian lận,… trong lĩnh vực tài chính – ngân hàng cũng được phát triển

Các lĩnh vực ứng dụng điển hình khác được kể đến là khai phá Text, khai phá

Web, khai phá dữ liệu dòng, khai phá dữ liệu sinh học (tìm kiếm, so sánh các hệ gen

và thông tin di truyền, mối liên hệ gen và một số bệnh di truyền),…

1.7 Các thách thức trong KPTT và KPDL

- Thách thức đầu tiên trong KPTT và KPDL phải kể đến đó là trong tập dữ

liệu thường có chứa các dữ liệu “nhiễu” (noise) do quá trình thu thập thiếu chính xác, không đầy đủ; và chứa phần tử ngoại lai (outlier) – những đối tượng dữ liệu

“khác thường” (không tuân theo hành vi hoặc mô hình dữ liệu,…)

- Vấn đề thứ hai, kích thước, số chiều của các tập dữ liệu cần xử lý trong KPTT và KPDL thường rất lớn, do đó thời gian xử lý thường rất dài

- Quan hệ giữa các trường phức tạp

- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có

- Tích hợp với các hệ thống khác

- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp cũng là những thách thức cần quan tâm trong KPTT và KPDL

Trang 21

CHƯƠNG 2

PHÂN CỤM DỮ LIỆU

2.1 Bài toán phân cụm dữ liệu

Phân cụm dữ liệu là một hướng nghiên cứu rất quan trọng trong lĩnh vực khai phá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tiềm ẩn trong các tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích để đưa ra các quyết định Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các

cụm dữ liệu sao cho các phần tử trong một cụm thì “tương tự” nhau và các phần tử trong các cụm khác nhau thì “phi tương tự” với nhau Số các cụm dữ liệu được

phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định

Sau khi xác định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp để xác định "khoảng cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây chính là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường

các hàm này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng

lớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại; còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự

Trong học máy, phân cụm dữ liệu được xem là vấn đề học không có giám sát

(unsupervised learning), vì nó giải quyết vấn đề tìm một cấu trúc trong tập hợp các

dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về tập ví dụ huấn luyện Trong nhiều trường hợp, khi phân lớp được xem là vấn đề học có giám sát thì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, trong đó phân cụm dữ liệu sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu Một vấn đề thường gặp trong PCDL đó là hầu hết các dữ liệu cần cho phân

cụm đều có chứa dữ liệu “nhiễu” (noise) do quá trình thu thập thiếu chính xác hoặc

không đầy đủ Vì vậy, cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ “nhiễu” trước khi bước vào giai đoạn phân tích phân cụm dữ liệu

Ngoài ra, dò tìm phần tử ngoại lai (outlier) cũng là một trong những hướng

nghiên cứu quan trọng trong KPDL, chức năng của nó là xác định một nhóm nhỏ

Trang 22

các đối tượng dữ liệu “khác thường”, dị biệt so với các dữ liệu khác - tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằm tránh ảnh hưởng của chúng tới quá trình và kết quả PCDL Khám phá các phần tử ngoại lai đã được ứng dụng trong các lĩnh vực như viễn thông, dò tìm gian lận thương mại,…

2.2 Các giai đoạn của quá trình phân cụm dữ liệu

Quá trình phân cụm có thể được mô tả như trong hình 2.1 dưới đây [8]:

Hình 2.1 Quá trình phân cụm dữ liệu

Quá trình này bao gồm bốn bước cơ bản như sau:

Trích chọn hay lựa chọn đặc tính (Feature selection or extraction): bao gồm

việc trích chọn ra các đối tượng dữ liệu thích hợp, hữu ích từ dữ liệu cơ sở Việc trích chọn tốt các đặc tính có thể làm giảm rất lớn các dữ liệu nhiễu và đơn giản hoá quá trình thiết kế và xử lý tiếp theo

Lựa chọn hoặc thiết kế thuật toán phân cụm (Clustering algorithm design or selection): liên quan tới việc kiểm tra xem nên phân cụm theo xu hướng nào và

chọn thuật toán hoặc thiết kế một thuật toán phân cụm với các tham số phù hợp

Đánh giá (Cluster Validation): việc kiểm định thường dựa trên các kiểm tra

thông thường và các kĩ thuật trực quan Tuy nhiên, số lượng dữ liệu lớn và số chiều của chúng tăng sẽ khiến quá trình đánh giá gặp khó khăn

Biểu diễn các kết quả (Results Interpretation): Mục đích cuối cùng của phân

cụm là cung cấp cho người sử dụng những hiểu biết tri thức đầy đủ, ý nghĩa từ dữ liệu cơ sở, bởi vậy, cần giải quyết hiệu quả vấn đề kết hợp các kết quả phân cụm với các nghiên cứu khác để đưa ra kết luận tin cậy về tri thức thu được và đề xuất những phân tích xa hơn

Trích chọn

dữ liệu

Lựa chọn thuật toán phân cụm

Biểu diễn các kết quả

Đánh giá các Cluster

Tri thức

Trang 23

2.3 Ứng dụng của phân cụm dữ liệu

Phân cụm dữ liệu thực hiện phân chia dữ liệu thành các cụm dữ liệu Quá trình phân cụm dữ liệu có nhiều ý nghĩa trong các hoạt động của con người và đã được áp dụng rất rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu,

xử l‎ý ảnh, lập kế hoạch marketing Cụ thể:

Trong thương mại phân cụm dữ liệu có thể giúp các công ty khám phá ra các

nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả khách hàng từ các mẫu mua bán trong cơ sở dữ liệu khách hàng để từ đó đưa ra các chiến lược kinh doanh hợp lý

Trong sinh học phân cụm dữ liệu được sử dụng để xác định các loại sinh vật,

phân loại các gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu

Phân tích dữ liệu không gian tạo ra các cụm từ cơ sở dữ liệu đồ sộ của dữ liệu

không gian như dữ liệu thu được từ các hình ảnh chụp từ vệ tinh các thiết bị y học hoặc hệ thống thông tin địa lý (GIS), …trợ giúp con người tự động phân tích và xử

lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian

Trong lĩnh vực Web Mining, phân cụm dữ liệu có thể khám phá các nhóm tài

liệu quan trọng, có nhiều ý nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức từ dữ liệu, …

2.4 Các kiểu dữ liệu và độ đo tương tự

Trong phân cụm dữ liệu, các đối tượng dữ liệu cần phân tích được cho dưới rất nhiều dạng thức Mỗi đối tượng được mô tả thông qua các thuộc tính của nó Cho

một tập dữ liệu X chứa n đối tượng trong không gian k chiều; x 1 , x 2 , x 3 là các đối

tượng thuộc X: x 1 = (t 1 , t 2 ,… ,t k ), x 2 = (u 1 , u 2 ,… ,u k ), x 3 = (v 1 , v 2 ,… ,v k ) Trong đó t i,

u i , v i (i  1, k) là các đặc trưng của thuộc tính tương ứng với các đối tượng x 1 , x 2 , x 3

Khi đó, khái niệm “các kiểu dữ liệu” và “các kiểu thuộc tính dữ liệu” được xem là

tương đương nhau

Khi các giá trị của thuộc tính đã được xác định người ta tìm cách thích hợp để xác định “khoảng cách” giữa các đối tượng, hay chính là phép đo tương tự dữ liệu Đây là các hàm đo sự giống nhau giữa các cặp đối tượng dữ liệu Thông thường,

chúng ta tính độ tương tự (Similarity) hoặc độ phi tương tự (Dissimilarity) Giá trị

của hàm tính độ tương tự càng lớn thì sự giống nhau giữa các đối tượng càng lớn và ngược lại Hàm tính độ phi tương tự và hàm tính độ tương tự là tỉ lệ nghịch với nhau

Trang 24

Tất cả độ đo sau đây được xác định trong không gian metric Bất kỳ một metric nào cũng là một độ đo nhưng điều ngược lại không đúng Độ đo ở đây có thể

là độ tương tự hoặc phi tương tự Một tập dữ liệu X là một không gian metric nếu:

Với mỗi cặp đối tượng x, y thuộc X đều xác định một số thực d(x, y) theo một quy tắc nào đó được gọi là khoảng cách giữa x và y

 Quy tắc đó phải thỏa mãn các tính chất sau:

a) d(x, y) 0 nếu x ≠ y

b) d(x, y) = 0 nếu x = y

c) d(x, y) = d(y, x): quy tắc giao hoán

d) d(x, y) d(x, z) + d(z, x): quy tắc tam giác

Sau đây ta sẽ xem xét một số kiểu thuộc tính dữ liệu và độ đo tương ứng [17]

2.4.1 Kiểu thuộc tính nhị phân (Binary)

Thuộc tính nhị phân chỉ có hai giá trị là 0 và 1 Trong đó 0 có nghĩa là sai và 1

có nghĩa là đúng Để tìm độ đo, trước hết người ta xây dựng bảng sau:

Bảng 2.1 Bảng giá trị tham số

Đặt  =  +  +  +  Với các đối tượng x, y có tất cả thuộc tính đều ở dạng

nhị phân Bảng 2.1 cho ta thông tin sau đây:

là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y

là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y

là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y

là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng x, y

Khi đó độ tương tự được cho như sau:

Hệ số đối sánh đơn giản (Simple Matching Coefficient): d x y ( , )  

Trang 25

Hệ số Jacard (Jaccard Coefficient): d x y ( , ) 

  

  , công thức này được

áp dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây không đối xứng

2.4.2 Kiểu thuộc tính khoảng (Interval)

Để đo các giá trị theo xấp xỉ tuyến tính Với thuộc tính khoảng, ta có thể xác định một thuộc tính là đứng trước hoặc đứng sau một thuộc tính khác với một

khoảng là bao nhiêu Nếu x i > y i thì ta có x cách y một khoảng x i - y i tương ứng với

thuộc tính thứ i Độ đo phi tương tự của x và y được tính bằng các metric khoảng cách:

   , nó là trường hợp của khoảng

cách Minkowski với q = 1

Khoảng cách cực đại: d x y ( , )  maxi=1 n xiyi , chú ý rằng đây là trường hợp

của khoảng cách Minkowski với q 

Hình 2.2 Các khoảng cách Euclidean và Manhattan giữa hai đối tƣợng

2.4.3 Kiểu thuộc tính định danh (nominal)

Đây là dạng tổng quát hóa của thuộc tính nhị phân, trong đó miền giá trị là rời

rạc không phân biệt thứ tự Nếu x và y là hai thuộc tính định danh thì ta có thể xác định x = y hoặc x ≠ y

Trang 26

Độ đo phi tương tự giữa hai đối tượng x và y được xác định qua công thức sau:

d x y ( , ) p m

p

trong đó, m là số thuộc tính đối sánh tương ứng trùng nhau và p là tổng số các thuộc tính

2.4.4 Kiểu thuộc tính có thứ tự (Ordinal)

Là thuộc tính định danh có tính đến thứ tự, nhưng chúng không được định

lượng Nếu x và y là hai thuộc tính có thứ tự thì ta có thể xác định x = y hoặc x≠ y hoặc x > y hoặc x < y Giả sử i là thuộc tính có thứ tự với các trạng thái M i Độ đo phi tương tự được tính thông qua các bước sau:

1 Các trạng thái M i có thứ tự [1, 2,…, M i ] Ta thay thế từng giá trị bởi giá

j

j i i

i

r z

z đại diện cho giá trị thuộc tính j của đối tượng thứ i

2.4.5 Kiểu thuộc tính tỉ lệ (Ratio)

Đây là thuộc tính khoảng nhưng được xác định một cách tương đối so với

điểm mốc, ví dụ như thuộc tính chiều cao lấy điểm mốc bằng 0

Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong số đó là

việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính tỉ lệ x i về dạng thuộc tính khoảng i = log(x i )

2.4.6 Kiểu thuộc tính trộn (Mixed)

Giả sử chúng ta có k thuộc tính thuộc kiểu trộn, hai đối tượng dữ liệu x và y và

d ( , )

k

f k f

Trang 27

Trong đó, hàm chỉ tiêu xy f  0 nếu hoặc (1): xi( )f hoặc ( )f

xy 1

d

Nếu f là khoảng (interval):

( ) ( ) f

, ở đây h chạy qua tất

cả các đối tượng không lỗi của thuộc tính f

Nếu f là thứ tự (ordinal) hoặc khoảng (ratio): tính ( )f

f

r z

M

 , và

coi zi( )f như là một khoảng đoạn

Bảng sau đưa ra tổng kết các kiểu thuộc tính với các độ đo thích hợp [17]

Bảng 2.2 Các kiểu thuộc tính với các độ đo thích hợp tương ứng

Số trẻ con, số ngôi nhà

N/A Eclidean hoặc

Cao/thấp, To/nhỏ,… Sau khi biểu diễn các giá trị

với hạng của chúng, coi chúng như là tỉ lệ chia

Định danh

(Nominal)

N/A: yêu cầu một số

vô hạn các giá trị phân biệt

Màu sắc, Các diễn viên nổi tiếng

Có/không, Bật/tắt,…

Hệ số đối sánh đơn giản hoặc hệ

số Jacard

2.5 Các kỹ thuật tiếp cận phân cụm dữ liệu

Đã có rất nhiều các kỹ thuật xuất hiện nhằm khám phá ra các nhóm trong các tập dữ liệu lớn Các kỹ thuật áp dụng để giải quyết vấn đề phân cụm dữ liệu đều

hướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ

Trang 28

thực hiện của thuật toán Hiện nay, các kỹ phân cụm dữ liệu có thể phân loại theo

các cách tiếp cận chính sau [6]-[12]-[16]:

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

Phương pháp: Tư tưởng chính của phương pháp này là phân cơ sở dữ liệu D

có n phần tử thành k cụm dữ liệu, với k là một tham số cho trước Các thuật toán

phân cụm dựa trên phương pháp này thường khởi tạo một phân hoạch ban đầu, sau

đó sử dụng một chiến lược để đánh giá một hàm mục tiêu Mỗi cụm được miêu tả

bằng tâm của cụm (thuật toán k-means) hoặc bằng một trong các đối tượng định vị gần tâm của cụm (thuật toán k-medoid)

Ưu, nhược điểm: Ưu điểm của các thuật toán phân cụm dựa trên phương pháp này chính là tốc độ xử lý dữ liệu rất nhanh, có thể áp dụng cho tập dữ liệu lớn Tuy nhiên phương pháp còn có một hạn chế rất lớn đó là không giải quyết được trường hợp dữ liệu có các điểm nhiễu, điểm khuyết Ngoài ra, thuật toán còn có hạn chế

trong việc xác định k cụm ban đầu, phải thực hiện nhiều lần và không tìm được các

cụm với hình dạng phức tạp Một số thuật toán điển hình của phương pháp phân

hoạch là k-means, PAM, CLARA, CLARANS,

2.5.2 Phương pháp phân cụm phân cấp

Phương pháp: Tư tưởng chính của phương pháp này là sắp xếp đệ quy tập dữ liệu đã cho thành một cấu trúc có dạng hình cây Cây phân cấp này có thể được xây

dựng bằng phương pháp từ trên xuống (Top-down) hoặc bằng phương pháp từ dưới lên (Bottom-up)

Hình 2.3 Phương pháp xây dựng cây phân cụm phân cấp

Phương pháp từ dưới lên (Bottom-up): Bắt đầu xuất phát với việc khởi tạo các

cụm riêng biệt, sau đó tiến hành nhóm các cụm theo một độ đo tương tự (như khoảng cách giữa hai tâm của hai cụm), quá trình này được thực hiện cho đến khi

Trang 29

tất cả các cụm được ghép thành một cụm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc được thỏa mãn Cách tiếp cận này sử dụng chiến lược

“tham ăn” trong quá trình phân cụm

Phương pháp từ trên xuống (Top-down) có trạng thái ban đầu là tất cả các đối

tượng trong cơ sở dữ liệu được xếp trong cùng một cụm Sau mỗi vòng lặp, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào

đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa

mãn Cách tiếp cận này sử dụng chiến lược “chia để trị” trong quá trình phân cụm

Phương pháp phân cụm phân cấp thường được sử dụng đối với dữ liệu không liên tục Một số thuật toán điển hình của phương pháp này là BIRCH, CURE,

Hình 2.4 Mô tả phân cụm phân hoạch và phân cụm phân cấp

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

Phương pháp: Tư tưởng chính của phương pháp này là nhóm các đối tượng dữ

liệu thành một cụm dựa trên khái niệm liên kết giữa các điểm dữ liệu và hàm mật độ xác định của các điểm dữ liệu Mật độ này thường được xác định bằng số các đối tượng lân cận của một đối tượng dữ liệu Trong cách tiếp cận này, các đối tượng dữ liệu trong một cụm phải có số đối tượng dữ liệu lân cận lớn hơn một ngưỡng cho trước

Ưu, nhược điểm: Ưu điểm của phương pháp phân cụm dựa trên mật độ là có thể tìm ra các cụm có hình dạng bất kì, giải quyết được các điểm nhiễu và duyệt dữ liệu một lần Tuy nhiên, việc xác định các tham số mật độ của thuật toán rất khó

Trang 30

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 Phương pháp có tốc độ chạy rất chậm, không áp dụng được đối với dữ liệu nhiều chiều Các thuật toán điển hình là DBSCAN, DENCLUDE, OPTICS,

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

Phương pháp: Tư tưởng chính của phương pháp là dựa trên cấu trúc dữ liệu lưới để PCDL Mục tiêu là lượng hóa tập dữ liệu thành các ô, các ô này tạo thành cấu trúc dữ liệu lưới, sau đó các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới

Ưu, nhược điểm: Ưu điểm của phương pháp này là thích hợp với dữ liệu nhiều chiều, chủ yếu tập trung áp dụng cho lớp dữ liệu không gian, thời gian xử lý nhanh

và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu Tuy nhiên, phương pháp này lại phụ thuộc vào số ô trong mỗi chiều của không gian lưới Các thuật toán điển hình của phương pháp này là STRING, CLIQUE, WaveCluster,

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

Phương pháp này khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạng ra các phân hoạch

Các thuật toán phân cụm dựa trên mô hình có hai tiếp cận chính: mô hình thống kê và mạng Nơron Phương pháp này gần giống với phương pháp dựa trên mật độ, bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm Các thuật toán điển hình của phương pháp này là thuật toán EM, COBWEB, SOM

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

Sự phát triển của phân cụm dữ liệu không gian đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình PCDL Để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm

 Phân cụm thống kê: Dựa trên các khái niệm phân tích thống kê, sử dụng các

độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho dữ liệu

có thuộc tính số

Trang 31

 Phân cụm khái niệm: Áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý

 Phân cụm mờ: Sử dụng kỹ thuật mờ để PCDL, trong đó một đối tượng dữ liệu có thể thuộc vào nhiều cụm dữ liệu khác nhau Thuật toán phân cụm mờ quan trọng nhất là thuật toán FCM (Fuzzy c-means)

 Phân cụm mạng Kohonen: Phân cụm dựa trên khái niệm của các mạng Nơron Mạng Kohonen có tầng nơron vào và các tầng nơron ra Mỗi nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng

2.6 Yêu cầu đối với các thuật toán phân cụm dữ liệu

Đánh giá hiệu quả của thuật toán phân cụm vẫn chưa có một tiêu chuẩn rõ ràng, bởi vì một thuật toán có thể thực hiện tốt trên một tập dữ liệu này, nhưng lại không tốt trên tập dữ liệu khác Sự khác nhau này xuất phát từ mục đích của việc chia lớp cũng như loại dữ liệu và kích thước của dữ liệu Một số tiêu chuẩn thường được đề cập đến khi đánh giá hiệu quả thuật toán phân cụm là:

Tính tuyến tính: các thuật toán phải hiệu quả và có thời gian chạy tỷ lệ tuyến

tính với số lượng các điểm dữ liệu

Khả năng phát hiện được các lớp có hình dạng bất kỳ: các thuật toán phải có

khả năng nhận dạng được các hình bất kì (không theo quy luật), bao gồm những hình với những phần có kẽ hở hoặc lõm hoặc những hình lồng nhau

Khả năng làm việc được với dữ liệu nhiễu: cơ chế clustering phải thích ứng

được với số lượng lớn các điểm nhiễu

Không phụ thuộc vào thứ tự của dữ liệu vào: các thuật toán phải không phụ

thuộc với thứ tự của dữ liệu đầu vào

Giảm thiểu yêu cầu về tham số đầu vào: dữ liệu không cần có một kiến thức

tiên nghiệm nào hoặc không cần số các cluster được tạo ra phải được qui định, cho nên không miền kiến thức đầu vào nào cần phải được người dùng qui định

Xử lý được với dữ liệu đa chiều: các thuật toán phải xử lý được dữ liệu với số

lượng lớn các thuộc tính, tức là số chiều không gian tăng lên

Tính có thể hiểu được và khả năng sử dụng: đối với một số thuật toán, khi

thực hiện và so sánh với kết quả thực tế thì lại không hợp lý Do đó, kết quả ứng dụng của kỹ thuật là vấn đề rất quan trọng của thuật toán

Trang 32

CHƯƠNG 3

CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐIỂN HÌNH

3.1 Các thuật toán phân cụm phân hoạch

3.1.1 Thuật toán k-means

Thuật toán phân hoạch k-means do MacQueen đề xuất vào năm 1967 [14]

Mục đích của thuật toán k-means là sinh k cụm dữ liệu {C 1 , C 2 ,…, C k} từ một

tập dữ liệu chứa n đối tượng trong không gian d chiều X i = {x i1 , x i2 ,…, x id}, i  1, n, sao cho hàm tiêu chuẩn:

2 1

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

trong đó: m i là trọng tâm của cụm C i , D là khoảng cách giữa hai đối tượng

Trọng tâm của một cụm là một vectơ, trong đó giá trị của mỗi phần tử là trung bình cộng các đối tượng vectơ dữ liệu trong cụm đang xét Tham số đầu vào của

thuật toán là số cụm k, và tham số đầu ra là các trọng tâm của các cụm dữ liệu Độ

đo khoảng cách D giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách

Euclidean

Ý tưởng đề xuất cho thuật toán k-means có thể hình dung như trong hình 3.1 [11]:

Hình 3.1 Ý tưởng thuật toán k-means

Trong đó: Hình 3.1(a) Khởi tạo trọng tâm; hình 3.1(b) Tính toán lại vị trí của các trọng tâm; hình 3.1(c) Vị trí cuối của các trọng tâm

Trang 33

Thuật toán k-means bao gồm các bước cơ bản như trong hình 3.2 dưới đây:

m ban đầu trong không gian R d (d là số

chiều của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm

Hình 3.2 Các bước cơ bản của thuật toán k-means

K-means biểu diễn các cụm bởi các trọng tâm của các đối tượng trong cụm đó Thuật toán k-means chi tiết được trình bày trong hình 3.3 dưới đây [11]:

Trang 34

Hình 3.3 Chi tiết thuật toán k-means

Ý nghĩa của các khái niệm biến và hàm sử dụng trong thuật toán k-means chi tiết trong hình 3.3 như sau:

 MSE (Mean Squared Error): Được gọi là sai số bình phương trung bình hay còn gọi là hàm tiêu chuẩn MSE dùng để lưu giá trị của hàm tiêu chuẩn và được cập nhật qua mỗi lần lặp Thuật toán dừng ngay khi giá trị MSE tăng lên

so với giá trị MSE cũ của vòng lặp trước đó

 D2

(x i , m j ): Là khoảng cách Euclidean từ đối tượng dữ liệu thứ i tới trọng tâm j

OldMSE, m’[j], n’[j]: Là các biến tạm lưu giá trị trạng thái trung gian cho các

biến tương ứng: giá trị hàm tiêu chuẩn, giá trị vectơ tổng của các đối tượng

trong cụm thứ j, số các đối tượng của cụm thứ j

Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạp tính toán là O ((3 nkd T )  flop) Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, là số vòng lặp, T flop

là thời gian để thực hiện một phép tính cơ

sở như phép tính nhân, chia,…

Trang 35

Trong khi thi hành, một vấn đề là làm sao gỡ các nút thắt trong các trường hợp

có nhiều trung tâm có cùng khoảng cách tới một đối tượng Trong trường hợp này,

có thể gán các đối tượng ngẫu nhiên cho một trong các cụm thích hợp hoặc xáo trộn các đối tượng để vị trí mới của nó không gây ra các nút thắt Như vậy, do k-means phân cụm đơn giản nên có thể áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu

Hơn nữa, chất lượng PCDL của thuật toán k-means phụ thuộc nhiều vào các

tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trường hợp

các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế Trên thực tế chưa có một giải pháp tối ưu nào

để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với

các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất

3.1.2 Thuật toán PAM

Thuật toán PAM (Partitioning Around Medoids) được đề xuất bởi Kaufman

và Rousseeuw [17]-[18], là thuật toán mở rộng của thuật toán k-means nhằm tăng khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc phần tử ngoại lai PAM sử dụng

các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là

đối tượng đặt tại vị trí trung tâm nhất bên trong mỗi cụm Vì vậy, các đối tượng

medoid ít bị ảnh hưởng của các đối tượng ở rất xa trung tâm

Ban đầu, PAM khởi tạo k đối tượng medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid đại diện tương ứng sao cho chúng tương tự đối với medoid trong cụm gần nhất

Giả sử O j là đối tượng không phải là medoid mà O m là đối tượng medoid, khi

đó ta nói O j thuộc về cụm có đối tượng medoid là O m làm đại diện nếu d(O j ,O m ) = min Oe d(O j , O e ); trong đó d(O j ,O m ) là độ phi tương tự giữa O j và O m , min Oe là giá trị

nhỏ nhất của độ phi tương tự giữa O j và tất cả các đối tượng medoid của các cụm dữ

liệu Chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi

tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với cụm của

nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các

đối tượng medoid Độ phi tương tự được xác định bằng độ đo khoảng cách, thuật

toán PAM được áp dụng cho dữ liệu không gian

Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid bất kỳ Sau mỗi bước thực hiện, PAM cố gắng hoán chuyển giữa đối tượng medoid

O m và một đối tượng O p , không phải là medoid, miễn là sự hoán chuyển này nhằm

Trang 36

cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn Chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu

PAM tính giá trị C jmp cho tất cả các đối tượng O j để làm căn cứ cho việc hoán

chuyển giữa O m và O p Trong đó:

O m : là đối tượng medoid hiện thời cần được thay thế

O p : là đối tượng medoid mới thay thế cho O m

O j : là đối tượng dữ liệu (không phải medoid) có thể được di chuyển sang cụm khác

O j,2 : là đối tượng medoid hiện thời gần đối tượng O j nhất

Có bốn cách tính khác nhau cho mỗi trường hợp C jmp [18]

Trường hợp 1: Giả sử O j hiện thời thuộc về cụm có đại diện là O m và O j tương tự với O j,2 hơn O p (có nghĩa là d(O j , O p ) d(O j , O j,2 )) Trong khi đó, O j,2

đối tượng medoid tương tự xếp thứ hai tới O i trong số các medoid Trong trường hợp này, thay thế O m bởi đối tượng medoid mới O p và O j sẽ thuộc về cụm có đối

tượng đại diện là O j,2 Vì vậy, giá trị hoán chuyển C jmp được xác định là:

C jmp = d(O j , O j,2 ) – d(O j , O m ) (1)

Giá trị C jmp không âm

Trường hợp 2: O j hiện thời thuộc về cụm có đại diện là O m , nhưng O i ít tương

tự với O j,2 so với O p (d(O j , O p ) < d(O j , O j,2 )) Nếu O m được thay thế bởi O p thì O j sẽ

thuộc về cụm có đại diện là O p Vì vậy, giá trị thực C jmp được xác định như sau:

C jmp = d(O j , O p ) – d(O j , O m ) (2)

Giá trị C jmp có thể âm hoặc dương

Trường hợp 3: Giả sử O j hiện thời không thuộc về cụm có đối tượng đại diện

là O m mà thuộc về cụm có đại diện O j,2 Mặt khác, giả sử O j tương tự với O j,2 hơn so

với O p Khi đó, nếu O m được thay thế bởi O p thì O j vẫn sẽ ở lại trong cụm có đại

diện là O j,2 Do đó:

Trường hợp 4: O j hiện thời thuộc về cụm có đại diện là O j,2 nhưng O j ít tương

tự với O j,2 hơn so với O p Vì vậy, nếu thay thế O m bởi O p thì O j sẽ chuyển từ cụm

O j,2 sang cụm O p Do đó, giá trị hoán chuyển C jmp được xác định:

C jmp = d(O j , O p ) – d(O j , O j,2 ) (4)

Giá trị C jmp là luôn âm

Trang 37

Như vậy, kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O m bằng O p

được xác định :

mp jmp j

Chọn k đối tượng medoid bất kỳ

Tính TC mp cho tất cả các cặp đối tượng O m , O p Trong đó, O m

đối tượng medoid và O p là đối tượng không phải medoid

Chọn cặp đối tượng O m và O p Tính min Om , min Op , TC mp Nếu

TC mp là âm, thay thế O m bởi O p và quay lại bước 2 Nếu TC mp dương,

chuyển sang bước 4

Với mỗi đối tượng không phải medoid, xác định đối tượng

medoid tương tự với nó nhất, đồng thời, gán nhãn cụm cho chúng

End

Hình 3.4 Các bước thực hiện thuật toán PAM

Trong bước 2 và 3, PAM phải duyệt tất cả k(n - k) cặp O m , O p Với mỗi cặp,

việc tính toán TC mp yêu cầu kiểm tra (n - k) đối tượng Vì vậy, độ phức tạp tính toán của PAM là O(Ik(n-k) 2 ), trong đó I là số vòng lặp Như vậy, thuật toán PAM kém hiệu quả về thời gian tính toán khi giá trị k và n là lớn

3.1.3 Thuật toán CLARA

Thuật toán CLARA (Clustering LARge Applications) được Kaufman và

Rousseeuw đề xuất vào năm 1990 [17]-[18] nhằm khắc phục nhược điểm của thuật

toán PAM trong trường hợp giá trị k và n là lớn CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM và tìm ra các đối tượng trung tâm medoid cho mẫu được trích ra từ mẫu dữ liệu này Nếu mẫu dữ liệu được trích theo một cách ngẫu nhiên thì các medoid của nó xấp xỉ với các medoid của toàn bộ

tập dữ liệu ban đầu Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết quả

Trang 38

phân cụm tốt nhất khi thực hiện phân cụm trên mẫu này Để cho chính xác, chất lượng của các cụm được đánh giá thông qua độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng dữ liệu ban đầu Kết quả thực nghiệm chỉ

ra rằng, 5 mẫu dữ liệu có kích thước 40 + 2k cho các kết quả tốt Các bước thực hiện

của thuật toán CLARA được thể hiện trong hình 3.5 như sau [17]-[18]:

Begin

For i = 1 to 5 do Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ

liệu và áp dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm

các đối tượng medoid đại diện cho các cụm

Đối với mỗi đối tượng O j trong tập dữ liệu ban đầu, xác định

đối tượng medoid tương tự nhất trong số k đối tượng medoid

Tính độ phi tương tự trung bình cho phân hoạch các đối tượng thu được ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiên

thời thì sử dụng giá trị này thay cho giá trị tối thiểu ở trạng thái trước,

như vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho

đến thời điểm này

Quay về bước 1

End

Hình 3.5 Các bước thực hiện thuật toán CLARA

Độ phức tạp tính toán của CLARA là O(k(40+k) 2

+ k(n-k)), và thuật toán có

thể thực hiện đối với tập dữ liệu lớn Cần chú ý với kỹ thuật tạo mẫu trong PCDL: kết quả phân cụm có thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt

tối ưu cục bộ Ví dụ, nếu các đối tượng medoid của dữ liệu khởi tạo không nằm

trong mẫu, khi đó kết quả thu được không được đảm bảo là tốt nhất

Ở đây, một phần nhỏ dữ liệu hiện thời được chọn như một đại diện của dữ liệu

thay vì sử dụng toàn bộ dữ liệu và sau đó medoid được chọn từ mẫu sử dụng PAM

Nếu mẫu được chọn theo cách ngẫu nhiên thì nó có thể cần phải đại diện tập dữ liệu

gốc Các đối tượng đại diện (medoids) được chọn là tương tự mà đã được chọn từ

tập dữ liệu Nó đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên mỗi mẫu, và trả lại cụm tốt nhất ở đầu ra, như vậy, CLARA có thể xử lý với tập dữ liệu lớn hơn PAM

Trang 39

3.1.4 Thuật toán CLARANS

Thuật toán khác cũng sử dụng kiểu k-medoid được gọi là CLARANS

(Clustering Large Applications based on RANdomized Search) do Raymond Ng và

Jiawei Han đề xuất năm 1994, đó là sự kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới [12]-[17]-[18] Ý tưởng cơ bản của CLARANS là không xem

xét tất cả các khả năng có thể thay thế các đối tượng tâm medoid bởi một đối tượng

khác, nó ngay lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất

CLARANS lấy ngẫu nhiên một đối tượng của k đối tượng medoid trong tâm của cụm và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n - k)

đối tượng còn lại Cụm thu được sau khi thay thế đối tượng trung tâm được gọi là một láng giềng của phân hoạch cụm trước đó Số các láng giềng được hạn chế bởi

tham số do người dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên Tham số Numlocal cho phép người dùng xác định số

vòng lặp tối ưu cục bộ được tìm kiếm Không phải tất cả các láng giềng được duyệt

mà chỉ Mexneighbor số láng giềng được duyệt Nếu một láng giềng tốt hơn được

tìm thấy, CLARANS di chuyển láng giềng đó tới nút và quá trình bắt đầu lặp lại; nếu không, kết quả cụm hiện thời là tối ưu cục bộ Nếu tối ưu cục bộ được tìm thấy, CLARANS bắt đầu với lựa chọn nút ngẫu nhiên mới trong tìm kiếm tối ưu cục bộ mới CLARANS không thích hợp với tập dữ liệu lớn vì nó lấy phần nhỏ của toàn bộ tập dữ liệu và được chọn để đại diện cho toàn bộ tập dữ liệu và thực hiện sau đó CLARANS không bị giới hạn không gian tìm kiếm như đối với CLARA, và trong cùng một lượng thời gian thì chất lượng của các phân cụm là lớn hơn CLARA Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như sau: [12]-[17]-[18]

Giả sử O là một tập có n đối tượng và M O là tập các đối tượng tâm medoid,

NM = O – M là tập các đối tượng không phải tâm Các đối tượng dữ liệu sử dụng trong thuật toán CLARANS là các khối đa diện Mỗi đối tượng được diễn tả bằng một tập các cạnh, mỗi cạnh được xác định bằng hai điểm Giả sử P  R3 là một tập hợp tất cả các điểm Nói chung, các đối tượng ở đây là các đối tượng không gian và chúng ta định nghĩa tâm của mỗi đối tượng chính là trung bình cộng của tất cả các đỉnh hay còn gọi là trọng tâm:

Center: O  P

Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là

khoảng cách Euclidean: dist: PxPR0

Trang 40

Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông

qua hàm tâm: dist: OxOR0 ; sao cho dist(o i , o j ) = dist(center(o i ), center(o j )) Mỗi đối tượng được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của đối tượng đó tới tâm medoid của nó là nhỏ nhất Vì vậy, định nghĩa một tâm medoid như sau: medoid: O M sao cho mediod(o) = m i , m i  M, m i

M: dist(o, m i ) dist(o, m j ), oO Cuối cùng, định nghĩa một cụm tới tâm medoid m i tương ứng là một tập con các đối tượng trong O với medoid(o) = m i

Giả sử C 0 là tập tất cả các phân hoạch của O Hàm tổng để đánh giá chất lượng

của một phân hoạch được định nghĩa là: total_distance: C0  R0 sao cho

total_distance(c) = dist(o, m i ) với m i M, o  cluster(m i )

Thuật toán CLARANS chi tiết được mô tả trong hình 3.6 dưới đây:

Input: O, k, dist, numlocal và maxneighbor

j = 1;

} Else j++;

End

Hình 3.6 Thuật toán CLARANS

Ngày đăng: 25/03/2015, 09:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Nguyễn Hoàng Phương (2002), Nhập môn Trí tuệ tính toán, NXB Khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Nhập môn Trí tuệ tính toán
Tác giả: Nguyễn Hoàng Phương
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2002
[4]. Đinh Mạnh Tường (2003), Trí tuệ nhân tạo, NXB Đại học Quốc gia Hà Nội, Hà Nội Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo
Tác giả: Đinh Mạnh Tường
Nhà XB: NXB Đại học Quốc gia Hà Nội
Năm: 2003
[5]. Hoàng Hải Xanh (2005), Về các kỹ thuật phân cụm dữ liệu trong Data mining, Luận văn thạc sỹ.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Về các kỹ thuật phân cụm dữ liệu trong Data mining
Tác giả: Hoàng Hải Xanh
Năm: 2005
[6]. Daniel T.Larose (2006), “Data mining: methods and models”, Wiley - Interscience Sách, tạp chí
Tiêu đề: Data mining: methods and models”
Tác giả: Daniel T.Larose
Năm: 2006
[7]. David Hand, Heikki Mannila, Padhraic Smyth (2001), “Principles of Data Mining”, Massachusetts Institute of Technology Sách, tạp chí
Tiêu đề: Principles of Data Mining”
Tác giả: David Hand, Heikki Mannila, Padhraic Smyth
Năm: 2001
[8]. D. P. Mercer (2003), “Clustering large datasets”, Linacre College Sách, tạp chí
Tiêu đề: Clustering large datasets”
Tác giả: D. P. Mercer
Năm: 2003
[9]. DavidGibson, Jon M. Kleinberg, and Prabhakar Raghavan (1998). “Clustering Categorical Data: An Approach Based on Dynamical Systems”. In Proceedings of the 24th International Conference on Very Large Data Bases, (VLDB), pages 311-322, NewYork, NY, USA Sách, tạp chí
Tiêu đề: Clustering Categorical Data: An Approach Based on Dynamical Systems”
Tác giả: DavidGibson, Jon M. Kleinberg, and Prabhakar Raghavan
Năm: 1998
[10]. Ester M., Kriegel H.-P., Sander J., Xu X.(1996): “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”, Proc.2nd Int. Conf. on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pages 226-231 Sách, tạp chí
Tiêu đề: “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”
Tác giả: Ester M., Kriegel H.-P., Sander J., Xu X
Năm: 1996
[11]. Fahim, Salem, Torkey, Ramadan (2006), “An efficient enhanced k-means clustering algorithm”, J Zhejiang Univ SCIENCE A Sách, tạp chí
Tiêu đề: “An efficient enhanced k-means clustering algorithm”
Tác giả: Fahim, Salem, Torkey, Ramadan
Năm: 2006
[12]. Jiawei Han, Micheline Kamber (2001), “Data Mining: Concepts and Techniques”, Morgan Kaufmann Publishers Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques”
Tác giả: Jiawei Han, Micheline Kamber
Năm: 2001
[13]. Jacek Leski (2001), “An  -Insensitive approach to fuzzy clustering”, Int. J. Appl. Math. Comput. Sci, Vol.11, No.4, 993 -1007 Sách, tạp chí
Tiêu đề: An ""-Insensitive approach to fuzzy clustering”
Tác giả: Jacek Leski
Năm: 2001
[14]. J.MacQueen (1967), “Some methods for classification and analysis of multivariate observations”, Proc, 5 th Berkeley Symp. Math. Statist, Prob Sách, tạp chí
Tiêu đề: Some methods for classification and analysis of multivariate observations”
Tác giả: J.MacQueen
Năm: 1967
[16]. Mehmed Kantardzic (2003). “Data Mining: Concepts, Models, Methods, and Algorithms”. John Wiley &amp; Sons, 2003 Sách, tạp chí
Tiêu đề: Data Mining: Concepts, Models, Methods, and Algorithms”
Tác giả: Mehmed Kantardzic
Năm: 2003
[17]. Periklis Andritsos (2002), “Data Clustering Techniques”, University of Toronto, Department of Computer Science Sách, tạp chí
Tiêu đề: Data Clustering Techniques”
Tác giả: Periklis Andritsos
Năm: 2002
[18]. Raymond T.Ng, Jiawei Han (1994), “Efficient and effective clustering methods for Spatial Data Mining”, Santiago, Chile Sách, tạp chí
Tiêu đề: “Efficient and effective clustering methods for Spatial Data Mining”
Tác giả: Raymond T.Ng, Jiawei Han
Năm: 1994
[19]. Rui Xu (2005), “Survey of Clustering Algorithms”, IEEE Transactions on Neural Networks, Vol.16, N0.3 Sách, tạp chí
Tiêu đề: Survey of Clustering Algorithms”
Tác giả: Rui Xu
Năm: 2005
[20]. Sudipto Guha, Rajeev Rastogi, Kyuseok Shim, “ROCK: A Robust Clustering Algorithm for categorical attributes” Sách, tạp chí
Tiêu đề: “ROCK: A Robust Clustering Algorithm for categorical attributes
[21]. Tian Zhang, Raghu Ramakrishnan, Miron Livn (1996), “BIRCH: An efficient data clustering method for very large databases”, Montreal, Canada Sách, tạp chí
Tiêu đề: “BIRCH: An efficient data clustering method for very large databases”
Tác giả: Tian Zhang, Raghu Ramakrishnan, Miron Livn
Năm: 1996
[22]. Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth (1996), “From Data Mining to Knowledge Discovery in Databases”, American Association for Artificial Intelligence Sách, tạp chí
Tiêu đề: From Data Mining to Knowledge Discovery in Databases”
Tác giả: Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth
Năm: 1996
[23]. WeiWang, Jiong Yang, Richard Muntz, “STING: A Statistical Information Grid Approach to Spatial Data Mining”, Department of Computer Science University of California, LosAngeles, pages 188-192 Sách, tạp chí
Tiêu đề: “STING: A Statistical Information Grid Approach to Spatial Data Mining”

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w