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 1Trang 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 2Trang 2
Hà Nội - 2012
Trang 3LỜ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 42.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 5MỞ ĐẦ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 6thự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 7mộ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 8c 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 9DANH 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 10DANH 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 11Chươ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 12Trì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 131.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 14Trang 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 16Chươ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 18Trang 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 19Trang 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 21Nế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 233 Khoảng cách Manhattan:
n
d (x, y) (x i y i )
i1
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 24Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong
Trang 25số đó 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 27trung 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 28Hì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 30Nhượ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 312.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 322.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 33a 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 34trọ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