1. Trang chủ
  2. » Cao đẳng - Đại học

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

68 261 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 68
Dung lượng 1,1 MB

Nội dung

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

Trang 1

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

2 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

Trang 2

Trang 2

Hà Nội - 2012

Trang 3

LỜI CẢM ƠN

LỜI CAM

ĐOAN

Mục Lục

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 4

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-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 truycậ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ậttoán phân cụmnửa giámsá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 5

MỞ ĐẦU

1 Lý do chọn đề tài

Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển khôngngừng của ngành Công nghệ thông tin nói chung và trong các ngành côngnghệ phần cứng, phần mềm, truyền thông và hệ thống các dữ liệu phục vụtrong các lĩnh vực kinh tế - xã hội nói riêng thì việc thu thập thông tin cũngnhư nhu cầu lưu trữ thông tin càng ngày càng lớn Việc tin học hoá một cách

ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnhvự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, kinhdoanh, 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ànhmộ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ôngtin có ý nghĩa từ tập dữ liệu lớn, để từ đó có thể giải quyết được các yêu cầucủa thực tế như trợ giúp ra quyết định, dự đoán,… Khai phá dữ liệu (Datamining) đã 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 (knowlegdeextraction), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (datadredging) Nhiều người coi khai phá dữ liệu và một thuật ngữ thông dụngkhác là khám phá tri thức trong cơ sở dữ liệu (Knowlegde Discovery inDatabases – KDD) là như nhau Tuy nhiên trên

Trang 6

thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình khám phátri thức trong cơ sở dữ liệu.

Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành mộttrong những xu hướng nghiên cứu phổ biến trong lĩnh vực học máy tính vàcông nghệ tri thức Data mining có nhiều hướng quan trọng và một trong cáchướng đó là phân cụm dữ liệu (Data Clustering) Phân cụm dữ liệu được hiểu

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ônggiám sát còn nhiều nhược điểm chưa đáp ứng được nhu cầu sử dụng thôngtin Để giải quyết vấn đề đó, một hướng đi mới đó là phương pháp phâncụ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ươngphá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:

không giám sát

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 7

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).

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ácnhà nghiên cứu, với nhiều ngành ứng dụng Một trong các hướng đó là phâncụ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, emxin 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 tintrợ 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âydự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ácvấ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àycàng cao của người sử dụng

Trang 8

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 đượcnghiê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 9

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 10

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

STT Viết tắt Cụm từ tiếng Anh Cụm từ tiếng Việt

Database

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

Trang 11

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 raquyế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ềuhiể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ựcquan hóa dữ liệu, tính toán song song,… Quá trình KDD có thể chia thành 5bước thực hiện như sau:

1 Trích chọn dữ liệu: Xác định mục đích của quy trình khai phá dữ liệu

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á

2 Tiền xử lý dữ liệu: Nhằm mục đích loại bỏ sự trùng lặp dữ liệu, cắt tỉa

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ếmkhuyết

3 Chuyển đổi dữ liệu: Thực hiện thu gọn dữ liệu, phép ánh xạ dữ liệu, tìm

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

4 Khai phá dữ liệu: Chọn nhiệm vụ khai phá dữ liệu như phân lớp, gom

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 12

Trình bày, đánh giá

Tri thức Khai phá

Chuyển đổi

DL đã chuyển đổi

DL qua tiền xử lý

DL

đã chọn

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

5 Trình bày và đánh giá: Từ các mẫu khai phá được tiến hành đánh giá

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

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

Trang 13

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 trongquá trình KDD Do sự phát triển mạnh mẽ của Data mining về phạm vi cáclĩ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ấtnhiều khái niệm khác nhau về Data mining Ở đây em xin nêu ra một địnhnghĩ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:

Phân lớp và dự đoán: Xếp đối tượng vào một trong các lớp đã biết

trước, 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

Luật thuộc tính: Tóm tắt những thuộc tính chung của tập dữ liệu nào đó

trong cơ sở dữ liệu

Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng tương đối đơn

Khai thác mẫu tuần tự: 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ạngtiêu biểu X → Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việcxuấ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 14

Trang 13

Phân cụm: 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

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

Học có giám sát: Là quá trình gán nhãn lớp cho các đối tượng trong tập

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

Học không giám sát: 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ềnhãn lớp

Học nửa giám sát: Là quá trình chia một tập dữ liệu thành các lớp con

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

Phân lớp và dự đoán: Đưa mỗi đối tượng vào một trong các lớp đã biế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: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản Một

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

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

Phân tích chuỗi theo thời gian: Giống như khai phá luật kết hợp nhưng

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

Trang 15

Phân cụm (Clustering): Nhóm các đối tượng thành từng cụm dữ liệu.

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

Mô tả khái niệm: Mô tả, tổng hợp và tóm tắt khái niệm Ví dụ như tóm

tắt văn bản

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

Bảo hiểm, tài chính và thị trường chứng khoán: Phân tích tình hình tài

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

Điều trị y học và chăm sóc y tế: Phân tích mối liên hệ giữa triệu chứng

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

Sản xuất và chế biến: Qui trình, phương pháp chế biến và xử lý sự cố.

Text mining & Web mining: Phân lớp văn bản và các trang web, tóm tắt

văn bản

Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,

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

Lĩnh vực viễn thông: Các ứng dụng Data mining được phát triển trong

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

Lĩnh vực khác: Môi trường, thể thao, âm nhạc,…

Trang 16

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ămtrở 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 trongthự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âncụ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

Thuộc tính liên tục: Nếu miền giá trị là vô hạn không đếm được.

Thuộc tính rời rạc: Nếu miền giá trị là tập hữu hạn hoặc đếm được.

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

tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau:

Trang 17

Thuộc tính định danh: Là dạng thuộc tính khái 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ự, có nhiều

Trang 18

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.

Thuộc tính có thứ tự: 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: Nhằm để đ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 hay

y i

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

Thuộc tính tỷ lệ: Là thuộc tính khoảng cách 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ặccâ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ônggian có thể là dữ liệu liên tục hoặc rời rạc

Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều

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

Dữ liệu không gian liên tục: Bao gồm một vùng 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

Trang 19

Trang 17

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ộthàm tính độ

Trang 20

đ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ộtmetric 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:

quy tắc nào đó và được gọi là khoảng cách của x, y

Kiểu thuộc tính nhị phân

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

Trang 21

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ư

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ínhnhị phân ở đây không đối xứng

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

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

Trang 23

3 Khoảng cách Manhattan:

n

d (x, y) (x i y i )

i1

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

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

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

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

khoảng với zif đại diện cho giá trị thuộc tính f của đối tượng thứ i.

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

Trang 24

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

Trang 25

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

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

Thương mại: PCDL có thể giúp các thương nhân 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ả họ từcác mẫu mua bán trong CSDL khách hàng

Sinh học: PCDL được sử dụng để xác định các loài sinh vật, phân loại

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

Phân tích dữ liệu không gian: PCDL có thể hỗ trợ giúp người dùng tự

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

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

Địa lý: Phân lớp các động vật, thực vật, đưa ra đặc trưng của chúng.

Khai phá Web: PCDL có trợ giúp cho việc khám phá tri thức Web, khám

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ó nphầ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 26

đị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ìmkiế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ế người

ta 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ụngmột hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướngdẫn cho quá trình tìm kiếm phân hoạch dữ liệu Với chiến lược này, thôngthường người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệutheo phép ngẫu nhiên hoặc theo Heuristic, và liên tục tinh chỉnh nó cho đếnkhi thu được một phân hoạch mong muốn, thoả mãn ràng buộc cho trước.Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm,bằng cách tính các giá trị đo độ tương tự giữa các đối tượng dữ liệu và sắpxếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp xếpsao cho hàm tiêu chuẩn đạt giá trị tối ưu

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 SimulatedAnnealing),… Ở đâ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 MacQueenvà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ữacá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ủacá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ụmban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tớicụm

Trang 27

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 chocá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

dữ liệu chứa n đối tượng trong không gian d chiều Xi = {xi1, xi2,…xid}, i =

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 trongcụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham số đầu racủ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 Dgiữ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ùyvào ứng dụng hoặc quan điểm của người dùng

2

Trang 28

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

Các bước cơ bản của thuật toán K – Means

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

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

k

Trang 29

Đố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 địnhtrung bình cộng các vecto đối tƣợng dữ liệu.

Trang 30

Nhược đi ểm:

hình dạng phức tạp

nhiều lần thử để tìm ra đƣợc số lƣợng cụm tối ƣu

Trang 31

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ệuquả đố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 kcụm, coi mỗi đối tượng này là tâm của cụm (medoid) Phân bổ các đối tượngcòn lại vào cụm mà sự khác nhau của nó với medoid là ít nhất

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

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.

Đánh giá thuật toán K-Medoids

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 32

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âyphân cấp có thể được xây dựng theo hai phương pháp tổng quát là phươngpháp trên xuống (Top down) và phương pháp dưới lên (Bottom up)

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 ứngvớ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òanhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khicác điều kiện kết thúc thỏa mãn

Phương pháp “trên xuống” (Top Down)

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ộtcụ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 đốitượ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 33

a ab

abcde b

d

de e

bottom-up Bước 0 Bước

Bước 4 Bước 3

Bước 2

Bước 1

Bước

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

Sau đây em xin trình bày hai thuật toán điển hình của phương phápphâ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ởiSudipto 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ánCURE sử dụng nhiều đối tượng để biểu diễn cho một cụm thay vì sử dụng các

Trang 34

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

Ngày đăng: 06/01/2018, 10:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Trung Thông, Phương pháp phân cụm nửa giám sát, Nhà xuất bản giáo dục Sách, tạp chí
Tiêu đề: Phương pháp phân cụm nửa giám sát
Nhà XB: Nhà xuấtbản giáo dục
[2] Hà Quang Thụy (2009), Giáo trình khai phá dữ liệu Web, Nhà xuất bản giáo dục Việt Nam Sách, tạp chí
Tiêu đề: Giáo trình khai phá dữ liệu Web
Tác giả: Hà Quang Thụy
Nhà XB: Nhà xuất bảngiáo dục Việt Nam
Năm: 2009
[4] Hoàng Hải Xanh, Một số kỹ thuật phân cụm dữ liệu trong Data Mining, Luận văn thạc sĩ, Trường Đại học Công nghệ (ĐHQGHN), Hà Nội Sách, tạp chí
Tiêu đề: Một số kỹ thuật phân cụm dữ liệu trong Data Mining
[5] Hoàng Xuân Huấn, Nguyễn Thị Xuân Hương, Mở rộng thuật toán phân cụm K-Mean cho dữ liệu hỗn hợp. Một số vấn đề chọn lọc của Công nghệ thông tin, Hải phòng 25-27 tháng 8 năm 2005 Sách, tạp chí
Tiêu đề: Mở rộng thuật toán phâncụm K-Mean cho dữ liệu hỗn hợp
[6] Nguyễn Thị Ngọc Mai, Microsoft Visual Basic 6.0 và Lập Trình Cơ Sở Dữ Liệu, Nhà xuất bản Lao Động Và Xã Hội Sách, tạp chí
Tiêu đề: Microsoft Visual Basic 6.0 và Lập Trình Cơ SởDữ Liệu
Nhà XB: Nhà xuất bản Lao Động Và Xã Hội
[7] Nhóm tác giả Elicom, Visual Basic 6.X , Nhà xuất bản Hà Nội Sách, tạp chí
Tiêu đề: Visual Basic 6.X
Nhà XB: Nhà xuất bản Hà Nội
[3] Kỹ sƣ Nguyễn Anh Trung - Trung tâm Công nghệ Thông tin, Ứng dụng các kỹ thuật khai phá dữ liệu vào lĩnh vực viễn thông Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w