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

Thuật toán phân cụm dữ liệu nửa giám sát

56 383 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 56
Dung lượng 1,28 MB

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

Nội dung

Trang 6 một số thuật toán của phương pháp phân cụm dữ liệu nửa giám sát.. Một trong các hướng đó là phân cụm dữ liệu, với các phương pháp phân cụm khác nhau.. Ở khóa luận này, em xin trì

Trang 1

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

-o0o -

ĐỖ THỊ PHƯƠNG

THUẬT TOÁN PHÂN CỤM DỮ LIỆU

NỬA GIÁM SÁT

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học:

TS TRỊNH ĐÌNH THẮNG

Hà Nội - 2012

Trang 2

Trang 2

Mục Lục

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỞ ĐẦU 4

Chương 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 10

1.1 Tổng quan về khám phá tri thức trong cơ sở dữ liệu 10

1.2 Khái niệm khai phá dữ liệu (Data mining) 12

1.3 Các phương pháp khai phá dữ liệu 12

1.3.1 Các nhiệm vụ của khai phá dữ liệu 12

1.3.2.Phân loại 13

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

Chương 2: PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN ĐIỂN HÌNH 15

2.1 Khái niệm phân cụm dữ liệu 15

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

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

2.2.2. Phân loại kiểu dữ liệu dựa trên hệ đo 15

2.2.3. Phép đo độ tương tự, phi tương tự 16

2.3 Các ứng dụng của phân cụm dữ liệu 20

2.4 Các phương pháp và thuật toán điển hình liên quan đến phân cụm dữ liệu không giám sát 20

2.4.1. Phân cụm phân hoạch 20

2.4.2 Phân cụm phân cấp 26

Trang 3

Trang 3

2.4.3 Thuật toán K-Tâm 32

2.5 Các phương pháp và thuật toán điển hình liên quan đến PCDL nửa giám sát 34

2.5.1 K-Means bán giám sát với một phần dữ liệu đã gán nhãn: Seeded-KMeans và Constrained-Seeded-KMeans 35

2.5.2 K-Means bán giám sát trên cơ sở các ràng buộc: COP-Kmeans 38

Chương 3: XÂY DỰNG ỨNG DỤNG 40

3.1 Giới thiệu ngôn ngữ Visual Basic 6.0 40

3.1.1 Cấu trúc một đề án (Project) 40

3.1.2 Một số điều khiển 41

3.1.3 Thuộc tính, phương thức và sự kiện 41

3.1.4 Mô hình truy cập cơ sở dữ liệu bằng ADO 42

3.1.5 Hệ quản trị Cơ sở dữ liệu ACCESS 43

3.2 Xây dựng ứng dụng 44

3.2.1.Giới thiệu 44

3.2.2 Bài toán 45

3.2.3.Cài đặt thuật toán phân cụm nửa giám sát với dữ liệu hỗn hợp 49

3.2.4 Giao diện chương trình 51

KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 54

1 Kết luận 54

2. Định hướng phát triển 55

TÀI LIỆU THAM KHẢO 56

Trang 4

ồ ạt và nhanh chóng 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 cho chúng ta 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 cỡ Gigabyte, thậm chí là Terabyte Trong tình hình đó, các kĩ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền Công nghệ thông tin

Một vấn đề được đặt ra là phải làm sao trích chọn được những thông tin

có ý nghĩa từ tập dữ liệu lớn, để từ đó có thể giải quyết được các yêu cầu của thực tế như trợ giúp ra quyết định, dự đoán,… Khai phá dữ liệu (Data mining)

đã ra đời nhằm giải quyết các yêu cầu đó Quá trình khai phá dữ liệu đượ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ừ cơ sở dữ liệu (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging) Nhiều người coi khai phá

dữ liệu và một thuật ngữ thông dụng khác là khám phá tri thức trong cơ sở dữ liệu (Knowlegde Discovery in Databases – KDD) là như nhau Tuy nhiên trên

Trang 5

là quá trình tìm kiếm để phân ra các cụm dữ liệu, các mẫu dữ liệu từ tập cơ sở

dữ liệu lớn Phân cụm dữ liệu là một phương pháp học không giám sát

Trong những năm trở lại đây, do phương pháp phân cụm dữ liệu không giám sát còn nhiều nhược điểm chưa đáp ứng được nhu cầu sử dụng thông tin

Để giải quyết vấn đề đó, một hướng đi mới đó là phương pháp phân cụm dữ liệu nửa giám sát, ra đời dựa trên cơ sở học không giám sát và học có giám sát Dù là một phương pháp phân cụm chưa hoàn thiện nhưng nó đã phần nào khắc phục được những hạn chế và phát huy ưu điểm của phương pháp phân cụm không giám sát

Do đó, em chọn đề tài: “Thuật toán phân cụm dữ liệu nửa giám sát” để

trình bày trong bài khóa luận tốt nghiệp của mình

2 Mục đích nghiên cứu

Trong bài khóa luận này em xin trình bày theo các mục đích sau:

 Tìm hiểu qua về các quá trình khám phá tri thức, khai phá dữ liệu

 Tìm hiểu về phân cụm dữ liệu và một số thuật toán phân cụm dữ liệu không giám sát

 Trên nền tảng lý thuyết về khai phá dữ liệu và một số thuật toán phân cụm không giám sát tiến tới đi sâu vào tìm hiểu, phân tích, đánh giá

Trang 6

Trang 6

một số thuật toán của phương pháp phân cụm dữ liệu nửa giám sát

(Thuật toán Seeded-KMeans và Constrained-KMeans)

 Xây dựng một chương trình demo, mô phỏng hoạt động của phương pháp phân cụm dữ liệu nửa giám sát

3 Phạm vi nghiên cứu

Data mining là một lĩnh vực thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu, với nhiều ngành ứng dụng Một trong các hướng đó là phân cụm dữ liệu, với các phương pháp phân cụm khác nhau Ở khóa luận này, em xin trình bày về một số phương pháp phân cụm dữ liệu nửa giám sát với các

thuật toán tiêu biểu như thuật toán Seeded-Kmeans và Constrained-Kmeans

4 Ý nghĩa khoa học và thực tiễn

Nếu đề tài “Thuật toán phân cụm dữ liệu nửa giám sát” được nghiên

cứu thì sẽ đạt hiệu quả phân cụm tối ưu hơn phân cụm dữ liệu không giám sát

và sẽ giúp xử lý dữ liệu nhanh hơn, giảm thời gian, công sức để tìm kiếm, phát hiện các cụm, các mẫu dữ liệu trong tập dữ liệu lớn để cung cấp thông tin trợ giúp việc ra quyết định, dự đoán

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

a Phương pháp nghiên cứu lý luận

Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài

b Phương pháp chuyên gia

Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng

Trang 7

Trang 7

c Phương pháp thực nghiệm

Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên

6 Cấu trúc khóa luận

Ngoài phần mở đầu, kết luận và định hướng phát triển thì luận văn của

em bao gồm ba chương:

Chương 1: Tổng quan về khai phá dữ liệu

Chương 2: Phân cụm dữ liệu và các thuật toán điển hình

Chương 3: Xây dựng ứng dụng

Trang 8

Trang 8

DANH SÁCH CÁC HÌNH

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

Hình 2: Các thiết lập để xác định danh giới các cụm ban đầu Hình 3:Tính toán trọng tâm của các cụm mới

Hình 4: Phân cụm phân cấp Top-down và Bottom-up

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

Hình 6: Cấu trúc cây CF

Trang 9

Trang 9

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

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

3 KDD Knowledge Discovery in

Database

Khám phá tri thức trong cơ sở dữ liệu

6 MTĐT Electronic Computer Máy tính điện tử

Trang 10

Trang 10

Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Tổng quan về khám phá tri thức trong cơ sở dữ liệu

Các yêu cầu về thông tin trong các loại hoạt động như công tác quản lý, hoạt động kinh doanh, phát triển sản xuất và dịch vụ, đặc biệt là trong việc ra quyết định giải quyết một vấn đề ngày càng đòi hỏi chất lượng cao hơn Người làm quyết định không những cần dữ liệu mà còn cần có thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình Để giải

quyết vấn đề đó thì kỹ thuật khám phá tri thức trong cơ sở dữ liệu (Knowledge

Discovery in Databases- KDD) đã ra đời Khám phá tri thức trong cơ sở dữ

liệu là lĩnh vực liên quan đến các ngành như: xác suất thống kê, học máy, trực quan hóa dữ liệu, tính toán song song,… Quá trình KDD có thể chia thành 5 bước thực hiện như sau:

dựa trên quan điểm của người dùng, thu thập và chuẩn bị dữ liệu để khai phá

những thông tin có thể gây nhiễu, tập hợp những thông tin cần thiết cho

mô hình hoá, chọn các phương pháp xử lý những thông tin bị khiếm khuyết

những đặc trưng phù hợp để mô tả và khai phá dữ liệu

cụm, hồi qui, kết hợp… Từ nhiệm vụ đã chọn, sử dụng các thuật toán

Trang 11

Trang 11

và các phương pháp đã biết để tìm kiếm các mẫu trong dữ liệu, chọn ra các mẫu hữu ích

hoặc phiên dịch thành những tri thức hiểu được

Chuyển đổi

Khai phá

DL

đã chọn

DL qua tiền xử

DL đã chuyển đổi

Các mẫu

Tri thức

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

Trang 12

Trang 12

1.2 Khái niệm khai phá dữ liệu (Data mining)

Data mining là một công đoạn, cũng là một khâu quan trọng nhất trong quá trình KDD Do sự phát triển mạnh mẽ của Data mining về phạm vi các lĩnh vực ứng dụng trong thực tế và các phương pháp tìm kiếm nên có rất nhiều khái niệm khác nhau về Data mining Ở đây em xin nêu ra một định nghĩa gắn gọn và dễ hiểu về Data mining như sau:

Data mining là một quá trình tìm kiếm, chắt lọc các tri thức mới, tiềm ẩn, hữu dụng trong tập dữ liệu lớn

1.3 Các phương pháp khai phá dữ liệu

1.3.1 Các nhiệm vụ của khai phá dữ liệu

Một số nhiệm vụ của khai phá dữ liệu:

dự báo giá trị có thể đúng của những dữ liệu bị thiếu hoặc sự phân bố của thuộc tính nào đó trong dữ liệu Phân lớp còn được gọi là học có giám sát

trong cơ sở dữ liệu

Giả sử có hai tập thuộc tính {A1, A2,…An} và {B1, B2,…Bm} thì luật kết hợp có dạng (A1 A2…An)  (B1 B2…Bm )

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 cao

Trang 13

Trang 13

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

1.3.2 Phân loại

Data mining được phân loại theo hai quan điểm sau:

a Theo quan điểm của học máy

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

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ề nhãn lớp

dựa trên một số thông tin bổ trợ cho trước

b Theo các lớp bài toán cần giải quyết

trước Phân lớp và dự đoán còn được gọi là học có giám sát

luật kết hợp được mô tả như sau:

Nếu a thì b với xác suất p

có thêm tính thứ tự và thời gian

Trang 14

Trang 14

Đây là phương pháp học không giám sát

tắt văn bản

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

chính và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận

bệnh, chẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc)

văn bản

tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền

ngành viễn thông được chia thành 3 nhóm ứng dụng khác nhau là phát hiện gian lận, các ứng dụng hỗ trợ tiếp thị và quản lý khách hàng, cuối cùng là các ứng dụng về phát hiện và xử lý lỗi hệ thống mạng

Trang 15

Trang 15

Chương 2 PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN ĐIỂN HÌNH

2.1 Khái niệm phân cụm dữ liệu

Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm trở lại đây do các ứng dụng và lợi ích to lớn của nó đối với các lĩnh vực trong thực tế Ở một mức cơ bản nhất, người ta định nghĩa phân cụm dữ liệu như sau:

Phân cụm dữ liệu là một kỹ thuật trong Data mining 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 và quan trọng trong tập

dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định

Do đó, PCDL 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 đối tượng trong một cụm thì “tương tự” nhau và các đối tượng trong các cụm khác nhau thì “phi tương tự” với nhau Số cụm dữ

liệu được xác định bằng kinh nghiệm hoặc bằng một số phương pháp phân cụm

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

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

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

Giả sử có hai đối tượng x, y và các thuộc tính x i , y i 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:

nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự, có nhiều

Trang 16

Trang 16

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

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, ta có thể xác định một thuộc tính là đứng trước hay

đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu x i > y i thì ta

nói x cách y một khoảng x iy i tương ứng với thuộc tính thứ i

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 giá trị 0 làm mốc

Người ta còn đặc biệt quan tâm đến dữ liệu không gian Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc

chiều và cho phép ta xác định được khoảng cách giữa các đối tượng dữ liệu trong không gian

2.2.3 Phép đo độ tương tự, phi tương tự

Khi các đặc tính của dữ liệu đượ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 Đâ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 các hàm này hoặc là

để tính độ “tương tự” hoặc tính độ “phi tương tự” 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 các đối tượng càng lớn và ngược lại Ứng với mỗi kiểu dữ liệu thì có một hàm tính độ

Trang 17

Trang 17

đo tương tự để xác định khoảng cách giữa 2 phân tử của cùng một kiểu dữ liệu Tất cả các độ đo đều đượ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 ngược lại thì 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à không gian metric nếu:

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

 Quy tắc đó phải thoả mãn các tính chất sau:

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

y:1 y:0 x: 1    + 

x: 0    + 

 +   + 

Trang 18

Trang 18

Nếu ta đặt  = +++ Với x, y là đối tượng có tất cả thuộc tính đều

ở dạng nhị phân.Trong đó , , ,  được hiểu như sau:

 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:

1 Hệ số đối sánh đơn giản: d x y( , )  

có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, tức là các thuộc tính nhị phân ở đây không đối xứng

Sau khi chuẩn hóa, độ đo phi tương tự của x và y được tính bằng các metric khoảng cách sau:

Trang 19

Nó là trường hợp của khoảng cách Minkowski với q = 1

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

p là tổng số các thuộc tính

Độ đo phi tương tự được tính thông qua các bước sau:

1 Gọi f là một thuộc tính thứ tự, giá trị của f ứng với đối tượng thứ i là

xif Giả sử f có Mf trạng thái có thứ tự: 1, 2, …, Mf Ta thay thế mỗi xifbởi giá trị tương ứng rif  [1,Mf]

2 Vì mỗi thuộc tính f có thứ tự có số lượng các trạng thái khác nhau nên

ta cần làm cho rif thuộc khoảng [0,1] để mỗi thuộc tính đều có cùng trọng

số Do đó rif được thay thế bởi if if

1z

1

f

r M

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

Trang 20

Trang 20

số đó là việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính tỉ lệ xi

về dạng thuộc tính khoảng i = log(xi)

2.3 Các ứng dụng của phân cụm dữ liệu

khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các mẫu mua bán trong CSDL khách hàng

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

động phân tích và xử lý các dữ liệu không gian trong kho dữ liệu không gian đồ sộ

phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá ra cộng đồng Web

2.4 Các phương pháp và thuật toán điển hình liên quan đến phân cụm

dữ liệu không giám sát

2.4.1 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 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

Trang 21

Có rất nhiều thuật toán phân cụm phân hoạch như: Means, Medoids, CLASA (Clustering Large Applications based on Simulated Annealing),… Ở đây em xin trình bày về hai thuật toán điển hình liên quan đến khóa luận của mình là K-Means và K-Medoids

K-2.4.1.1 Thuật toán K-Means

Đây là thuật toán nổi tiếng và được sử dụng nhiều nhất Thuật toán này

có nhiều biến thể khác nhau nhưng được đưa ra đầu tiên bởi J.B MacQueen vào năm 1967 Đầu vào của thuật toán này là một tập gồm n mẫu và một số nguyên k Cần phân n đối tượng này thành k cụm sao cho sự giống nhau giữa các mẫu trong cùng cụm là cao hơn các đối tượng khác cụm

Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Trong đó, mỗi trung tâm của cụm là giá trị trung bình của các phần tử trong cụm Như vậy, nó cần khởi tạo một tập 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

Trang 22

Trang 22

trung tâm gần, và tính toán lại trung 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 này dừng khi các trung tâm hội tụ

Hình 2: Các thiết lập để xác định danh 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ừ 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:

1

2

) (

đạt giá trị tối thiểu Trong đó: mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tượng Trọng tâm của cụm là một vectơ, trong đó giá trị của mỗi phần tử của nó là trung bình cộng của các thành phần tương ứng của các đối tượng 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 của thuật toán 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 Euclide Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơn tùy vào ứng dụng hoặc quan điểm của người dùng

Trang 23

Trang 23

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

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

Đối với mỗi điểmX i (1i n), tính toán khoảng cách của nó tới mỗi

trọng tâmm j với 1i k

Sau đó tìm trọng tâm gần nhất đối với điểm

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

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

Trang 24

- Giá trị k cần được xác định trước bởi người dùng

- Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới

- Bảo đảm hội tụ sau 1 số bước lặp hữu hạn

- Luôn có k cụm dữ liệu

- Luôn có ít nhất 1 điểm dữ liệu trong 1 cụm dữ liệu

- Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau

- Mọi thành viên của 1 cụm là gần với chính cụm đó hơn bất cứ 1 cụm nào khác

- Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu

- Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm

- K-Means không khắc phục được nhiễu

Trang 25

Trang 25

2.4.1.2 Thuật toán K-Medoids (PAM)

Thuật toán K-Medoids (PAM) được đề xuất năm 1987 bởi Kaufman và Rousseeuw, là thuật toán mở rộng của K-Means, nhằm có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc phần tử ngoại lai

Ý tưởng chính của K-Medoids là chọn ngẫu nhiên k đối tượng vào k cụm, coi mỗi đối tượng này là tâm của cụm (medoid) Phân bổ các đối tượng còn lại vào cụm mà sự khác nhau của nó với medoid là ít nhất

Bước 2: Gán từng đối tượng còn lại vào cụm có medoid gần nhất

Bước 3: Chọn nonmedoid và thay một trong các medoids bằng nó nếu nó cải

thiện chất lượng cụm

Bước 4: Quay về bước 2, dừng khi các trung tâm cụm hội tụ

End

K-Medoids tỏ ra hiệu quả hơn K-Means trong trường hợp dữ liệu có nhiễu hoặc đối tượng ngoại lai (Outlier) Nhưng so với K-Means thì K-Medoids có độ phức tạp tính toán lớn hơn Nó cũng có nhược điểm là số lượng cụm k phải được cung cấp bởi người dùng

Trang 26

Trang 26

2.4.2 Phân cụm phân cấp

Phân cụm phân cấp 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ây

phân cấp có thể được xây dựng theo hai phương pháp tổng quát là phương pháp trên xuống (Top down) và phương pháp dưới lên (Bottom up)

Phương pháp này bắt đầu với mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhó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 thỏa mãn

Bắt đầu với trạng thái là tất cả các đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, 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

Sau đây là hình minh họa hai phương pháp Bottom-up và Top-down:

Trang 27

Trang 27

Sau đây em xin trình bày hai thuật toán điển hình của phương pháp phân cụm phân cấp đó là: CURE và BIRCH

2.4.2.1 Thuật toán CURE

Thuật toán CURE (Clustering Using REpresentatives) được đề xuất bởi Sudipto Guha, Rajeev Rastogi và Kyuseok Shim năm 1998, thuật toán sử dụng chiến lược bottom-up của phương pháp phân cụm phân cấp Thuật toán CURE sử dụng nhiều đối tượng để biểu diễn cho một cụm thay vì sử dụng các trọng tâm hay đối tượng tâm Các đối tượng đại diện của một cụm ban đầu được chọn rải rác đều ở các vị trí khác nhau, sau đó chúng được di chuyển

Hình 4: Phân cụm phân cấp Top-down và Bottom-up

ab

Trang 28

Trang 28

bằng cách co lại theo một tỉ lệ nhất định nào đó Khi hai cụm có cặp đối tượng đại diện gần nhất sẽ được trộn lại thành một cụm

Bước 1: Chọn một mẫu ngẫu nhiên S từ tập dữ liệu ban đầu

Bước 2: Phân hoạch mẫu S này thành các 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 S 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 (với n’ là kích

thước của mẫu)

Bước 3: Phân cụm các điểm cho mỗi nhóm: Tiến hành phân cụm riêng rẽ cho

mỗi nhóm đến khi mỗi nhóm được phân thành n’/(pq) cụm (với

q>1)

Bước 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ỏ

Bước 5: Phân cụm cho các cụm riêng biệt: Các đối tượng đại diện được di

chuyển về phía tâm của cụm mới hình thành Các đối tượng này sẽ

mô tả hình dạng cụm đó

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

Hình ảnh sau là thí dụ về các dạng và kích thước cụm dữ liệu được khám phá bởi CURE:

Ngày đăng: 08/11/2015, 20:08

HÌNH ẢNH LIÊN QUAN

Hình 1: Quá trình khám phá tri thức trong CSDL - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 1 Quá trình khám phá tri thức trong CSDL (Trang 11)
Hình 2: Các thiết lập để xác định danh giới các cụm ban đầu - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 2 Các thiết lập để xác định danh giới các cụm ban đầu (Trang 22)
Hình 3: Tính toán trọng tâm của các cụm mới - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 3 Tính toán trọng tâm của các cụm mới (Trang 23)
Hình 4: Phân cụm phân cấp Top-down và Bottom-up - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 4 Phân cụm phân cấp Top-down và Bottom-up (Trang 27)
Hình 5: Các cụm dữ liệu được khám phá bởi CURE - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 5 Các cụm dữ liệu được khám phá bởi CURE (Trang 29)
Hình 6: Cấu trúc cây CF - Thuật toán phân cụm dữ liệu nửa giám sát
Hình 6 Cấu trúc cây CF (Trang 30)
Bảng sau gồm các thuộc tính dùng để đánh giá các mức độ rủi ro: - Thuật toán phân cụm dữ liệu nửa giám sát
Bảng sau gồm các thuộc tính dùng để đánh giá các mức độ rủi ro: (Trang 46)

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

🧩 Sản phẩm bạn có thể quan tâm

w