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

Một số phương pháp phân cụm dữ liệu web

83 422 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 83
Dung lượng 1,24 MB

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

Nội dung

Nhu cầu về tìm kiếm, xử lý thông tin và những hiệu quả của chúng mang lại đã tác động không nhỏ đến năng suất, chất lượng, hiệu quả trong các lĩnh vực kinh doanh, quản lý, khoa học kỹ th

Trang 1

MỤC LỤC

MỤC LỤC i

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

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

LỜI NÓI ĐẦU 1

CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3

1.1 Khai phá dữ liệu và phát hiện tri thức 3

1.1.1 Khai phá dữ liệu 3

1.1.2 Quá trình khám phá tri thức 4

1.1.3 Khai phá dữ liệu và các lĩnh vực liên quan 5

1.1.4 Các phương pháp áp dụng trong Khai phá dữ liệu 6

1.1.5 Những chức năng chính của KPDL 7

1.1.6 Các ứng dụng của Khai phá dữ liệu 9

1.2 Phương pháp phân cụm trong Khai phá dữ liệu 10

1.2.1 Khái quát về phân cụm dữ liệu .10

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

1.2.3 Các yêu cầu đối với phương pháp phân cụm dữ liệu 14

1.3 Khai phá Web 15

1.3.1 Khai phá Web .15

1.3.2 Khái niệm khai phá Web 16

1.3.3 Đặc trưng của khai phá Web 17

1.3.4 Các đối tượng khai phá Web 18

Tổng kết chương 1 18

CHƯƠNG II MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU 20

2.1 Phân cụm phân hoạch: 21

2.1.1 Thuật toán K-means 21

2.1.2 Thuật toán K-medoids 24

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

2.2.1 Thuật toán BIRCH 27

2.2.2 Thuật toán CURE 30

2.3 Phương pháp phân cụm dữ liệu dựa vào mật độ 32

2.3.1 Thuật toán DBSCAN 32

2.3.2 Thuật toán OPTICS 36

2.4 Thuật toán phân cụm dữ liệu dựa trên lưới 37

2.4.1 Thuật toán STING 38

2.4.2 Thuật toán CLIQUE 40

2.5 Phân cụm dữ liệu dựa trên mô hình 41

2.5.1 Thuật toán EM 41

2.5.2 Thuật toán COBWEB 42

2.6 Phân cụm dữ liệu mờ 43

Trang 2

2.6.1 Hàm mục tiêu 45

2.6.2 Thuật toán FCM 48

Tổng kết chương 2 49

.50

CHƯƠNG III KHAI PHÁ DỮ LIỆU WEB 51

3.1 Khai phá nội dung Web 51

3.1.1 Khai phá kết quả tìm kiếm 52

3.1.2 Khai phá văn bản Web 52

3.2 Khai phá theo sử dụng Web 55

3.2.1 Ứng dụng của khai phá theo sử dụng Web 56

3.2.2 Các phương pháp được sử dụng trong khai phá dữ liệu Web 57

3.2.3 Những vấn đề trong khai phá theo sử dụng Web 57

3.2.4 Quá trình khai phá theo sử dụng Web 57

3.3 Khai phá cấu trúc Web 59

3.3.1 Tiêu chuẩn đánh giá độ tương tự 60

3.3.2 Khai phá và quản lý cộng đồng Web 61

3.4 Áp dụng thuật toán phân cụm dữ liệu trong tìm kiếm và phân cụm tài liệu Web 65

3.4.1 Hướng tiếp cận bằng phương pháp phân cụm dữ liệu 66

3.4.2 Quá trình tìm kiếm và phân cụm tài liệu 67

Tổng kết chương 3 74

KẾT LUẬN 74

TÀI LIỆU THAM KHẢO 77

Trang 3

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 6

LỜI NÓI ĐẦU

Khai phá dữ liệu là lĩnh vực được quan tâm nhiều trong thời gian gần đây, xuất phát từ sự bùng nổ về thông tin, sự phát triển nhanh chóng của khoa học kỹ thuật Kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên khổng lồ

và đồ sộ Vấn đề đặt ra cần có những công cụ, phương pháp để khai thác các nguồn tri thức đó ngày càng trở nên cấp thiết cho nghành khoa học công nghệ thông tin trên toàn thế giới

Từ sự phát triển nhanh chóng của công nghệ thông tin và Internet, nguồn dữ Web đã trở thành kho dữ liệu khổng lồ Nhu cầu về tìm kiếm, xử lý thông tin và những hiệu quả của chúng mang lại đã tác động không nhỏ đến năng suất, chất lượng, hiệu quả trong các lĩnh vực kinh doanh, quản lý, khoa học kỹ thuật…

Việc nghiên cứu và áp dụng các phương pháp phân cụm dữ liệu trong khai phá tài nguyên Web là một xu thế tất yếu mang ý nghĩa khoa học và thực tiễn cao

Từ những lý do trên tác giả chọn đề tài “Một số phương pháp phân cụm dữ liệu Web” để làm luận văn tốt nghiệp.

Bố cục của luận văn gồm 3 chương:

Chương 1 trình bày khái quát các khái niệm về khai phá dữ liệu; khám phá tri thức; phân cụm dữ liệu và khai phá dữ liệu trong môi trường Web

Chương 2 trình bày một số phương pháp phân cụm dữ liệu phổ biến thường được sử dụng trong lĩnh vực khai phá dữ liệu và khám phá tri thức

Chương 3 trình bày một số hướng nghiên cứu trong khai phá dữ liệu Web như khai phá nội dung Web, khai phá sử dụng Web, khai phá cấu trúc Web và tiếp cận theo hướng sử dụng các phương pháp phân cụm dữ liệu để giải quyết bài toán khai phá dữ liệu Web Trong chương này tác giả tập trung

Trang 7

nghiên cứu phương pháp phân cụm dữ liệu K-means và xây dựng chương trình áp dụng K-means để tìm kiếm và phân cụm tài liệu Web.

Phần kết luận của luận văn tổng kết lại những vấn đề đã được đề cập đến trong luận văn, đánh giá kết quả thu được của luận văn và hướng phát triển của đề tài

Trang 8

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

1.1 Khai phá dữ liệu và phát hiện tri thức

1.1.1 Khai phá dữ liệu

Trong những thập kỷ gần đây, sự phát triển rộng khắp của các cơ sở dữ liệu đã tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề cập đến việc khủng hoảng trong quá trình phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao trong tổ chức chính phủ, tài chính, thương mại, khoa học…

Đúng như John Naisbett cảnh báo “Chúng ta đang chìm ngập trong dữ

liệu mà vẫn đói trí thức” Lượng dữ liệu khổng lồ thực sự là nguồn tài nguyên

có nhiều giá trị bởi thông tin là yếu tố then chốt phục vụ cho mọi hoạt động quản lý, kinh doanh, phát triển sản xuất và dịch vụ, nó giúp người điều hành

và quản lý có những hiểu biết về môi trường và tiến trình hoạt động trong các lĩnh vực kinh doanh từ đó sẽ quyết định tác động đến quá trình hoạt động như thế nào để đạt được các mục tiêu một cách hiệu quả và bền vững

KPDL là một lĩnh vực được nghiên cứu, nhằm tự động khai thác thông tin, tri thức hữu ích, tiềm ẩn từ những cơ sở dữ liệu lớn từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh trong xã hội hiện nay Các kết quả nghiên cứu khoa học và những ứng dụng thành công trong KDD cho thấy KPDL là một lĩnh vực phát triển bền vững, mang lại lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẵn so với các công cụ tìm kiếm dữ liệu truyền thống Hiện nay, KPDL đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như thương mại, tài chính, y học, viễn thông, tin – sinh, Các phương pháp được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê và tính toán nâng cao

Trang 9

Như vậy KPDL là một quá trình tìm kiếm, phát hiện tri thức mới, tiềm

ẩn, hữu dụng trong CSDL lớn

KDD là mục tiêu chính của KPDL, do vậy khái niệm KPDL và KDD được các nhà khoa học trên hai lĩnh vực xem là tương đương với nhau Nhưng thực tế KPDL là một bước chính trong quá trình KDD

1.1.2 Quá trình khám phá tri thức

Quá trình KDD có thể phân thành các giai đoạn sau:

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

Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được

khai phá từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định

Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu

không đầy đủ, nhiễu, không nhất quán ), rút gọn dữ liệu (sử dụng hàm nhóm

và tính tổng, các phương pháp nén dữ liệu, sử dụng hàm histogram, lấy mẫu ), rời rạc hoá dữ liệu (rời rạc dựa và histogram, dựa vào entropy, dựa vào phân khoảng ), Sau bước này dữ liệu sẽ được nhất quán, đầy đủ, được rút gọn và được rời rạc hoá

Dữ liệu

thô

Dữ liệu lựa chọn

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

Dữ liệu biến đổi

các mẫu

Tri thức

Trang 10

Biến đổi dữ liệu: Đây là bước chuẩn hoá và làm mịn dữ liệu về dạng

thuận lợi nhất nhằm phục vụ quá trình khai phá ở bước sau

Khai phá dữ liệu: Đây là bước áp dụng các phương pháp phân tích

(như các phương pháp của học máy) nhằm để khai thác dữ liệu, trích chọn những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu Đây được xem

là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD

Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối liên hệ

trong dữ liệu đã khám phá ở bước trên được biến đổi và biểu diễn ở một 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 những tiêu chí nhất định

1.1.3 Khai phá dữ liệu và các lĩnh vực liên quan

KPDL là một lĩnh vực liên quan tới thống kê, học máy, CSDL, thuật toán, tính toán song song, thu nhận tri thức từ hệ chuyên gia và dữ liệu trừu tượng Đặc trưng của hệ thống khám phá tri thức là nhờ vào các phương pháp, thuật toán từ những lĩnh vực khác nhau để KPDL

Lĩnh vực học máy và nhận dạng mẫu trong KDD nghiên cứu các lý thuyết và thuật toán của hệ thống để trích ra các mẫu và mô hình từ dữ liệu lớn KDD tập trung vào việc mở rộng các lý thuyết và thuật toán cho các vấn

đề tìm ra các mẫu đặc biệt (hữu ích hoặc có thể rút ra tri thức quan trọng) trong CSDL lớn

Ngoài ra, KDD có nhiều điểm chung với thống kê, đặc biệt là phân tích

dữ liệu thăm dò (Exploratory Data Analysis - EDA) Hệ thống KDD thường gắn những thủ tục thống kê cho mô hình dữ liệu và tiến trình nhiễu trong khám phá tri thức nói chung

Trang 11

Một lĩnh vực liên quan khác là phân tích kho dữ liệu Phương pháp phổ biến để phân tích kho dữ liệu là OLAP (On – line Analytical processing) Các công cụ OLAP tập trung vào phân tích dữ liệu đa chiều.

1.1.4 Các phương pháp áp dụng trong Khai phá dữ liệu

KDD là một lĩnh vực liên nghành, bao gồm: Tổ chức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác

Đứng trên quan điểm của học máy, thì các phương pháp trong KPDL, bao gồm:

Học có giám sát: 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: Là quá trình phân chia một tập dữ liệu thành

các lớp hay các 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 các ví dụ huấn luyện

Học nửa giám sát: 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à các thông tin về nhãn lớp đã biết trước

Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các phương pháp áp dụng sau:

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

biết trước Ví dụ như phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án Hướng tiếp cận này thường sử dụng một số phương pháp của học máy như cây quyết định, mạng nơron nhân tạo Phân lớp và dự báo còn được gọi là học có giám sát

Luật kết hợp: Là luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ:

“60% nam giới vào quán bia thì có tới 90% trong số họ sẽ uống bia” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin – sinh, tài chính và thị trường chứng khoán.,

Trang 12

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

nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính

dự báo cao

Phân cụm: Xếp các đối tượng theo từng cụm dữ liệu tự nhiên Phân

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

Mô tả tóm tắt khái niệm: Thiên về mô tả tổng hợp và tóm tắt khái niệm,

1.1.5 Những chức năng chính của KPDL

Hai mục tiêu chính của KPDL là mô tả và dự báo Dự báo là dùng một

số biến hoặc trường trong CSDL để dự đoán ra các giá trị chưa biết hoặc sẽ có các biến quan trọng khác Việc mô tả tập trung vào tìm kiếm các mẫu mà con người có thể hiểu được để mô tả dữ liệu Trong lĩnh vực KDD, mô tả được quan tâm nhiều hơn dự báo, nó ngược với các ứng dụng học máy và nhận dạng mẫu mà trong đó việc dự báo thường là mục tiêu chính Trên cơ sở mục tiêu chính của KPDL, các nhiệm vụ chính của KDD gồm:

Mô tả lớp và khái niệm: Dữ liệu có thể được kết hợp trong lớp và khái

niệm Thí dụ, trong kho dữ liệu bán hàng thiết bị tin học, các lớp mặt hàng bao gồm máy tính, máy in… và khái niệm khách hàng bao gồm khách hàng mua sỉ và mua lẻ Việc mô tả lớp và khái niệm là rất hữu ích cho giai đoạn tổng hợp và chính xác hoá Mô tả lớp và khái niệm được bắt nguồn từ đặc trưng hóa dữ liệu và phân biệt dữ liệu Đặc trưng hóa dữ liệu là quá trình tổng

Trang 13

hợp những đặc tính hoặc các thành phần chung của một lớp dữ liệu mục tiêu Phân biệt dữ liệu là so sánh lớp dữ liệu mục tiêu với những lớp dữ liệu tương phản khác Lớp dữ liệu mục tiêu và các lớp dữ liệu tương phản là do người dùng tự đặt ra và tương ứng với các đối tượng dữ liệu nhận được nhờ truy vấn.

Phân tích sự kết hợp: Phân tích sự kết hợp là khám phá các luật kết hợp

thể hiện mối quan hệ giữa các thuộc tính giá trị mà ta nhận biết được nhờ tần suất xuất hiện cùng nhau của chúng Các luật kết hợp có dạng X ⇒ Y, tức là

A1^ ^An ⇒ B1^ ^Bm, trong đó Ai (i=1, ,n) và Bj (j=1, ,m) là các cặp thuộc tính giá trị Luật kết hợp dạng X ⇒ Y có thể được hiểu là dữ liệu thỏa mãn các điều kiện của X thì cũng thỏa mãn các điều kiện của Y

Phân lớp và dữ báo: Phân lớp là quá trình tìm kiếm một tập các mô

hình hoặc chức năng mà nó mô tả và phân biệt nó với các lớp hoặc khái niệm khác Các mô hình này nhằm mục đích dự báo về lớp của một số đối tượng Việc xây dựng mô hình dựa trên sự phân tích một tập các dữ liệu được huấn luyện Có nhiều dạng thể hiện mô hình như luật phân lớp (IF-THEN), cây quyết định, công thức toán học, mạng nowrron, Sự phân lớp được sử dụng

để dự đoán nhãn lớp của các đối tượng trong dữ liệu Tuy nhiên trong nhiều ứng dụng, người ta mong muốn dự đoán những giá trị khuyết thiếu nào đó Thông thường đó là trường hợp dự đoán các giá trị của dữ liệu kiểu số Trước khi phân lớp và dự báo, cần thực hiện phân tích các đối tượng để xác định và loại bỏ các thuộc tính không tham gia vào quá trình phân lớp và dự báo

Phân cụm: Không giống như phân lớp và dữ báo, phân cụm là phân

tích các đối tượng dữ liệu khi chưa biết nhãn của lớp Nhìn chung, nhãn của lớp không tồn tại trong suốt quá trình huấn luyện dữ liệu, phân cụm có thể được sử dụng để đưa ra nhãn của lớp Sự phân cụm được thực hiện để nhóm các đối tượng dữ liệu theo nguyên tắc: Các đối tượng trong cùng một nhóm

Trang 14

thì giống nhau hơn các đối tượng trong các nhóm khác nhau Mỗi cụm được tạo thành có thể được xem như một lớp các đối tượng mà các luật được lấy ra

từ đó Dạng của cụm được hình thành theo một cấu trúc phân cấp của các lớp

mà mỗi lớp là một nhóm các sự kiện tương tự nhau

Phân tích các đối tượng ngoài cuộc: Một CSDL có thể chứa các đối

tượng không tuân theo mô hình dữ liệu Các đối tượng như vậy gọi là đối tượng ngoài cuộc Hầu hết các phương pháp KPDL đều coi các đối tượng ngoài cuộc là nhiễu và loại bỏ chúng Sự phân tích dữ liệu ngoài cuộc được coi như là sự khai phá các đối tượng ngoài cuộc Một số phương pháp được

sử dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các test mang tính thống

kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kể đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của các nhóm đối tượng

Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô

hình hóa các quy luật hay khuynh hướng của những đối tượng mà hành vi của chúng thay đổi theo thời gian, phân tích sự tiến hóa có thể bao gồm cả đặc trưng hóa, phân biệt, tìm luật kết hợp, phân lớp hay PCDL liên quan đến thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên độ tương tự

1.1.6 Các ứ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 CSDL khác nhau Tùy 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 KPDL cũng được vận dụng hiệu quả để giải quyết các bài toán phức tạp trong các ngành đòi hỏi kỹ thuật cao như tìm kiếm mỏ dầu từ ảnh viễn thám, xác định các vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh

Trang 15

báo hỏng hóc trong các hệ thống sản xuất,… Các bài toán này đã được giải quyết từ khá lâu bằng các kỹ thuật nhận dạng hay xác suất thống kê nhưng được giải quyết với yêu cầu cao hơn bởi các phương pháp của KPDL Phân nhóm và dự đoán là những công cụ rất cần thiết cho việc qui hoạch, phát triển các hệ thống quản lý và sản xuất trong thực tế Các phương pháp KPDL đã được áp dụng thành công trong việc dự đoán tái sử dụng điện năng cho các công ty cung cấp điệ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 tiềm năng,…

Ngoài ra, KPDL còn được áp dụng cho các vấn đề xã hội như phát hiện tội phạm hay tăng cường an ninh xã hội Vận dụng thành công KPDL đã mang lại những hiệu quả thiết thực cho các hoạt động diễn ra hàng ngày trong đời sống

1.2 Phương pháp phân cụm trong Khai phá dữ liệu

1.2.1 Khái quát về phân cụm dữ liệu

Phân cụm (Clustering) là quá trình nhóm một tập các đối tượng thành các nhóm hay các lớp đối tượng tương tự nhau Một cụm (cluster) là một tập các đối tượng giống nhau hay tương tự nhau, chúng khác hoặc ít tương tự

so với các đối tượng thuộc cụm khác Không giống như quá trình phân loại,

ta thường biết trước tính chất hay đặc điểm của các đối tượng trong cùng một cụm và dựa vào đó để ấn định một đối tượng vào cụm của nó, trong quá trình phân cụm ta không hề biết trước tính chất của các cụm và thường dựa vào mối quan hệ của các đối tượng để tìm ra sự giống nhau giữa các đối tượng dựa vào một độ đo nào đó đặc trưng cho mỗi cụm

Việc phân cụm không thực hiện độc lập mà thường sử dụng kết hợp với các phương pháp khác Một cách phân cụm được đưa ra cũng phải có một phương pháp áp dụng trên các lớp đó để đưa ra được ý nghĩa của cụm đó

Trang 16

Ta có thể khái quát hóa khái niệm PCDL như sau [6][10]:

"PCDL là một phương pháp 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, quan tâm trong tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích cho người sử dụng"

Hiện nay có rất nhiều vấn đề nghiên cứu về phân cụm trong các lĩnh vực khác nhau như: KPDL, thống kê, học máy, công nghệ dữ liệu không gian, sinh học Do kích thước của các cơ sở dữ liệu tăng lên rất nhanh nên phân cụm là vấn đề đã và đang thu hút nhiều sự quan tâm của các nhà khoa học trên thế giới

Trong lĩnh vực thống kê, phân cụm đã được nghiên cứu và phát triển trong nhiều năm, các vấn đề tập trung chủ yếu vào phân tích các lớp dựa vào khoảng cách Các công cụ phân tích lớp dựa trên một số các phương pháp như k-means, k-medoids đã được ứng dụng trong nhiều hệ thống phần mềm phân tích thống kê như: S-Plus, SPSS, SAS

Trong học máy, PCDL được xem là vấn đề học không có giám sát, vì

nó phải đi 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ề cụm 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 (Classification) được xem vấn đề học có giám sát thì PCDL là một bước trong phân lớp dữ liệu, trong đó PCDL 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

Trong lĩnh vực khai thác dữ liệu, các vấn đề nghiên cứu trong phân cụm chủ yếu tập trung vào tìm kiếm các phương pháp phân cụm hiệu quả và tin cậy trong cơ sở dữ liệu lớn

Trong lĩnh vực KPDL Web, phân cụm có thể khám phá ra 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ừ các CSDL

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

Trang 17

cụm đều có chứa dữ liệu “nhiễu” do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm loại bỏ “nhiễu” trước khi bước vào giai đoạn phân tích PCDL “Nhiễu” ở đây có thể là đối tượng dữ liệu không chính xác hoặc các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các phương pháp xử lý “nhiễu” phổ biến là việc thay thế giá trị của các thuộc tính của đối tượng “nhiễu” bằng giá trị thuộc tính tương ứng của đối tượng dữ liệu gần nhất.

Ngoài ra, dò tìm phần tử ngoại lai là một trong những hướng nghiên cứu quan trọng trong PCDL, chức năng của nó là xác định một nhóm nhỏ các đối

tượng dữ liệu “khác thường” so với các dữ liệu khác trong CSDL (tức là các đối

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

Tóm lại, PCDL là một vấn đề khó vì người ta phải đi giải quyết các vấn

đề cơ bản như sau:

- Biểu diễn dữ liệu

- Xây dựng hàm tính độ tương tự

- Xây dựng các tiêu chuẩn phân cụm

- Xây dựng mô hình cho cấu trúc cụm dữ liệu

- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo

- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm

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

Trang 18

giải quyết nhiều vấn đề cơ bản như đã đề cập ở trên một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau Đặc biệt đối với dự liệu hỗn hợp, đang ngày càng phát triển không ngừng trong hệ quản trị dữ liệu, đây cũng thách thức lớn của lĩnh vực KPDL trong những thập kỷ tiếp theo và đặc biệt là trong lĩnh vực KPDL Web.

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

PCDL là một trong những công cụ chính của KPDL, các phương pháp PCDL đã được áp dụng cho một số ứng dụng điển hình trong các lĩnh vực như sau [6][10]:

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

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

Phân tích dữ liệu không gian: Do sự đồ 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),… làm cho người dùng rất khó để kiểm ta dữ liệu không gian một cách chi tiết PCDL có thể trợ giúp người dùng 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 CSDL không gian

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

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

Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung

cấp thông tin cho nhận dạng các vùng nghuy hiểm

Địa lý: Phân lớp các động vật, thực vật và đưa ra đặc trưng của chúng Khai phá Web: PCDL 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

Trang 19

phá tri thức từ dữ liệu 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,…

1.2.3 Các yêu cầu đối với phương pháp phân cụm dữ liệu

Lựa chọn một thuật toán phân cụm dữ liệu là vấn đề then chốt để giải quyết bài toán phân cụm dữ liệu, lựa chọn này phụ thuộc vào đặc tính dữ liệu cần phân cụm, mục đích của các bài toán thực tế là xác định độ ưu tiên giữa chất lượng phân cụm và tốc độ thực hiện của thuật toán

Hầu hết các nghiên cứu để xây dựng và phát triển thuật toán phân cụm dữ liệu đều nhằm đáp ứng các yêu cầu sau [6],[10]:

Có khả năng mở rộng: Một số thuật toán có thể áp dụng cho tập dữ liệu

nhỏ (khoảng 200 bản ghi) nhưng không hiệu quả khi áp dụng cho một tập dữ liệu lớn (khoảng 1 triệu bản ghi)

Thích nghi với các kiểu dữ liệu khác nhau: Thuật toán có thể áp dụng phân cụm đối với nhiều kiểu dữ liệu khác nhau như dữ liệu kiểu số, kiểu nhị phân, kiểu hạng mục, kiểu định danh,… và thích nghi với kiểu dữ liệu hỗn hợp

Khám phá ra các cụm với hình thù bất kỳ: Hầu hết các CSDL có chứa nhiều cụm dữ liệu với hình thù khác nhau như: hình lõm, hình cầu, hình que,…

Vì vậy, để các cụm dữ liệu được khám phá ra có tính tự nhiên thì các thuật toán phân cụm dữ liệu phải có khả năng khám phá ra những cụm dữ liệu có các hình thù khác nhau

Tối thiểu lượng tri thức cần cho tham số đầu vào: Do các giá trị đầu vào của các thuật toán có ảnh hưởng rất lớn đến độ phức tạp, tốc độ của thuật toán

Do đó cần xác định các giá trị đầu vào của các thuật toán một cách tối ưu đặc biệt là đối với những CSDL lớn

Ít nhạy cảm đối với thứ tự của dữ liệu vào: Cùng một tập dữ liệu khi đưa vào xử lý bằng các thuật toán PCDL, thứ tự vào của các đối tượng dữ liệu ở các lần thực hiện khác nhau không ảnh hưởng đến kết quả phân cụm dữ liệu

Trang 20

Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu phân cụm trong KPDL đều có chứa các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác được gọi chung là dữ liệu nhiễu Bởi vậy các thuật toán phân cụm dữ liệu không những có hiệu quả với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng phân cụm thấp do nhạy cảm với dữ liệu nhiễu.

Thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng có hiệu quả đối với các dữ liệu đa chiều

Dễ hiểu, dễ cài đặt và khả thi: Đây là yêu cầu đồng thời là tiêu chí để đánh giá hiệu quả của các thuật toán PCDL

Khai phá và phân tích những thông tin hữu ích trên Internet bằng cách

sử dụng phương pháp KPDL đã trở thành một hướng nghiên cứu trong lĩnh vực khám phá tri thức Khai phá Web bao gồm khai phá cấu trúc Web, khai phá nội dung Web và khai phá các mẫu truy cập Web

Sự phức tạp trong nội dung của các trang Web khác với các tài liệu văn bản truyền thống [10] Chúng không đồng nhất về cấu trúc, hơn nữa nguồn thông tin Web thay đổi một cách nhanh chóng, không những về nội dung mà

cả về cấu trúc trang Chẳng hạn như tin tức, thị trường chứng khoán, thông tin quảng cáo, trung tâm dịch vụ mạng,… Tất cả thông tin được thay đổi trên Web theo từng giai đoạn Các liên kết trang và đường dẫn truy cập cũng thay

Trang 21

đổi Khả năng gia tăng liên tục về số lượng người dùng, sự quan tâm đến Web cũng khác nhau, động cơ người dùng rất đa dạng và phong phú Vậy làm thế nào để tìm kiếm được các thông tin mà người dùng cần, làm thế nào để có được những trang Web có chất lượng tốt ?

Những vấn đề này sẽ được thực hiện hiệu quả hơn bằng cách nghiên cứu các phương pháp KPDL áp dụng trong môi trường Web để giải quyết các vấn đề như quản lý tốt các Web site, khai phá những nội dung mà người dùng quan tâm, phân tích các mẫu sử dụng Web

Dựa vào những vấn đề cơ bản trên, ta có thể có những phương pháp hiệu quả cao để cung cấp thông tin hữu ích đối với người dùng Web và giúp người dùng sử dụng nguồn tài nguyên Web một cách hiệu quả

1.3.2 Khái niệm khai phá Web

Có nhiều khái niệm khác nhau về khai phá Web nhưng có thể tổng quát hoá như sau [4][14]:

Khai phá Web là việc sử dụng các phương pháp KPDL để tự động hoá quá trình khám phá và trích rút những thông tin hữu ích từ các tài liệu, các dịch vụ và cấu trúc Web Hay nói cách khác khai phá Web là việc trích chọn

ra các thành phần được quan tâm hay được đánh giá là có ích cùng các thông tin tiềm năng từ các tài nguyên hoặc các hoặt động liên quan tới World Wide Web, nó có thể giúp con người rút ra những tri thức mới, cải tiến việc thiết kế các Web site và phát triển thương mại điện tử tốt hơn Quá trình khai phá Web có thể chia thành các giai đoạn như sau:

1 Tìm kiếm nguồn tài nguyên: Thực hiện việc tìm kiếm và lấy các tài

liệu Web phục vụ cho việc KPDL

2 Lựa chọn và tiền xử lý dữ liệu: Lựa chọn và tiền xử lý tự động các

loại thông tin từ nguồn tài nguyên Web đã lấy về

Trang 22

3 Tổng hợp: Tự động khám phá các mẫu chung từ các Web site riêng

lẻ cũng như nhiều Web site liên kết với nhau

4 Phân tích: Đánh giá, giải thích, biểu diễn các mẫu khai phá được.

1.3.3 Đặc trưng của khai phá Web

Từ những năm 2000 trở lại đây tốc độ phát triển nhanh chóng của mạng Internet đã sinh ra một khối lượng khổng lồ các dữ liệu Web (dữ liệu dạng siêu văn bản) Một số đặc trưng sau đây cho thấy những thách thức và thuận lợi của quá trình khai phá Web

* Web quá lớn để tổ chức thành kho dữ liệu:

Các CSDL truyền thống có kích thước không lớn lắm, thường được lưu trữ tập trung, trong khi đó kích thước của Web là rất lớn, tới hàng terabytes và thay đổi liên tục, không những thế dữ liệu Web còn được phân tán ở rất nhiều máy tính khắp nơi trên thế giới Theo tài liệu thống kê năm 2009 cho thấy có gần 236 triệu Website trên Internet [4]

* Độ phức tạp của các trang Web là rất lớn

Dữ liệu trong CSDL truyền thống thường đồng nhất về ngôn ngữ còn dữ liệu Web thì hoàn toàn không đồng nhất Dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau, nhiều loại định dạng khác nhau, nhiều loại từ vựng khác

nhau, nó như “một thư viện kỹ thuật số rộng lớn” Điều này là một thử thách

cho việc tìm kiếm thông tin cần thiết trong một thư viện rộng lớn như thế

* Web là nguồn tài nguyên thông tin có độ thay đổi cao:

Web không chỉ thay đổi về độ lớn mà thông tin trong chính các trang Web cũng được cập nhật liên tục theo kết quả nghiên cứu hơn 500.000 trang Web trong hơn bốn tháng thì có tới 23% các trang thay đổi hàng ngày Thêm vào đó sự kết nối thông tin và sự truy cập bản ghi cũng được cập nhật thường xuyên

* Đối tượng phục vụ của Web là rộng lớn và đa dạng:

Trang 23

Đối tượng phục vụ của Web rất phong phú và đa dạng, mỗi đối tượng người dùng có kiến thức, mối quan tâm, sở thích khác nhau Nhưng phần lớn đối tượng sử dụng Web không có kiến thức tốt về cấu trúc mạng thông tin và nhàm chán khi tìm kiếm mà chỉ nhận được những mảng thông tin không mấy hữu ích.

* Chỉ một phần nhỏ thông tin trên Web là thực sự hữu ích:

Đối với người sử dụng số lượng trang Web vô ích là rất nhiều, vì vậy rất nhiều trang Web không đáng quan tâm lại có trong kết quả nhận được khi tìm kiếm Cần có giải pháp khai phá Web để thu được những trang Web chất lượng cao theo tiêu chuẩn quan tâm của người dùng

1.3.4 Các đối tượng khai phá Web

Các đối tượng khai phá Web bao gồm [10]: Web logs, Web pages, Web hyperlink structures, dữ liệu thị trường trực tuyến và các thông tin khác

Web logs: Khi người dùng duyệt Web, dữ liệu sẽ phân ra 3 loại dữ liệu đăng nhập: Server logs, error logss và cookie logs Thông qua việc phân tích các tài liệu đăng nhập này có thể khám phá ra các thông tin truy cập

Web pages: Hầu hết các phương pháp KPDL Web được sử dụng trong Web pages là theo chuẩn HTML

Web hyperlink structures: Các trang Web được liên kết với nhau bằng các siêu liên kết, điều này rất quan trọng để khai phá thông tin Do các siêu liên kết Web là nguồn tài nguyên xác thực

Dữ liệu thị trường trực tuyến: Như lưu trữ thông tin thương mại điện tử trong các site thương mại điện tử

Các thông tin khác: Chủ yếu bao gồm các đăng ký người dùng, nó có thể giúp cho việc khai phá tốt hơn

Tổng kết chương 1

Trong chương này trình bày những kiến thức cơ bản về khai phá dữ liệu,

Trang 24

khám phá tri thức, phân cụm trong khai phá dữ liệu và các khái niệm liên quan đến phân cụm dữ liệu, ứng dụng của phân cụm dữ liệu và các yêu cầu đối với phương pháp phân cụm dữ liệu

Ngoài ra trong chương này còn đề cập đến một lĩnh vực cụ thể của KPDL

đó là khai phá Web Trong phạm vi chương 1 chỉ đề cập đến khái niệm, các đặc trưng và một số kiểu dữ liệu Web

Trang 25

CHƯƠNG II MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU

Các phương pháp áp dụng để giải quyết vấn đề PCDL đề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 độ 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 như sau [5]:

Hình 2.1 Sơ đồ phân loại của một số thuật toán phân cụm dữ liệu.

Các thuật toán phân cụm

dữ liệu

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

Thuật toán BIRCH

Thuật toán CURE

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

Thuật toán DBSCAN

Thuật toán OPTICS

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

Thuật toán STING

Thuật toán CLIQUE

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

mô hình

Thuật toán EM

Thuật toán COBWEB

Các thuật toán phân cụm dữ liệu mờ

Thuật toán FCM

Trang 26

2.1 Phân cụm phân hoạch:

Ý tưởng của phương pháp phân cụm phân hoạch nhằm phân chia 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 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 định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, 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ụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướng dẫ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ông thường người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic, và liên tục tinh chỉnh nó cho đến khi 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ắp xế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ếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm

Lớp các bài toán phân cụm phân hoạch bao gồm các thuật toán được

áp dụng đầu tiên trong lĩnh vực KPDL cũng như các thuật toán được áp dụng nhiều trong thực tế hiện nay như K-means, K-medoids, CLARA, CLARANS… Sau đây là một số thuật toán phân cụm phân hoạch được nghiên cứu và đề xuất trong khuôn khổ luận văn:

2.1.1 Thuật toán K-means

Thuật toán K-means do MacQueen đề xuất trong lĩnh vực thống kê năm 1967

Trang 27

Tư tưởng thuật toán

K-means là một trong số những phương pháp học không có giám sát cơ bản nhất thường được áp dụng trong việc giải các bài toán về phân cụm dữ liệu Mục đích của thuật toán k-means là sinh ra k cụm dữ liệu {C1, C2,

…,Ck} từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi

=(xi1, xi2,… xid) (i= 1 ,n), sao cho hàm tiêu chuẩn

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, đây là mô hình khoảng cách dễ lấy đạo hàm và xác định các cực trị tối thiểu Hàm tiêu chuẩn E và độ đo khoảng cách D có thể được xác định cụ thể hơn tuỳ vào từng ứng dụng cụ thể

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

Input: Một CSDL gồm n đối tượng và số cụm k

Output: Một tập gồm k cụm sao cho cực tiểu về tổng sai-số vuông

Các bước thuật toán:

Bước 1: Chọn ngẫu nhiên k mẫu vào k cụm Coi tâm của cụm

chính là mẫu có trong cụm

Bước 2: Tìm tâm mới của cụm

Bước 3: Gán các mẫu vào từng cụm sao cho khoảng cách từ mẫu

đó đến tâm của cụm là nhỏ nhất

Bước 4: Nếu các cụm không có sự thay đổi nào sau khi thực hiện

Trang 28

bước 3 thì chuyển sang bước 5, ngược lại sang bước 2

Bước 5: Dừng thuật toán.

Thuật toán K-means được chứng minh là hội tụ và có độ phức tạp

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

số và khám phá ra các cụm có dạng hình cầu, K-means còn rất nhảy cảm với các phần tử ngoại lai và nhiễu

Hình sau đây mô phỏng các bước của thuật toán K-means

Hình 2.2 Mô phỏng thuật toán K-means

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 k-means là thấp, nghĩa là các cụm dữ liệu được khám phá lệch nhiều so với các cụm trong thực tế

Cập nhật lại trọng tâm

Trang 29

Trên thực tế người ta chưa có giải pháp tối ưu để chọn các tham số ban đầu, giải pháp thường được sử dụng là thử nghiệm với các giá trị đầu vào

k khác nhau rồi lựa chọn giải pháp tốt nhất

Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán K-means áp dụng trong KPDL để giải quyết tập dữ liệu có kích thước lớn đang được áp dụng rất hiệu quả như thuật toán K-medoids, ClARA…

2.1.2 Thuật toán K-medoids

Thuật toán K-medoids 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 các phần tử ngoại lai Thay vì sử dụng các trọng tâm như K-means, K-medoids 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 của 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 ở xa trung tâm

Tư tưởng thuật toán

Để tìm ra k cụm với n đối tượng thì k-medoids 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 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 đối tượng tâm của cụm là gần nhất Sau đó lặp lại quá trình: Thay đổi đối tượng tâm của mỗi cụm sao cho chất lượng của cụm được cải thiện Chất lượng của cụm được đánh bởi một hàm đo sự khác nhau giữa một đối tượng và đối tượng tâm của cụm chứa

nó Quá trình lặp cho đến khi không còn sự thay đổi nào về lực lượng cũng như hình dạng của các cụm

Để chọn một đối tượng không là đối tượng tâm Orandom thay thế tốt cho một đối tượng tâm Oj thì mỗi đối tượng p xét theo 4 trường hợp sau đây:

Trường hợp 1: p đang thuộc vào cụm có tâm là Oj (gọi là cụm Oj) Nếu Oj được thay thế bởi Orandom và p gần nhất với Oi (i#j) thì p được gán lại vào

Oi

Trang 30

Trường hợp 2: p đang thuộc vào cụm Oj Nếu Oj được thay thế bởi

Orandom và p gần nhất với Orandom thì p được gán lại vào Orandom

Trường hợp 3: p đang thuộc vào Oi (i#j) Nếu Oj được thay thế bởi

Orandom và p vẫn gần nhất với Oi thì không thay đổi gì cả Tức là p vẫn thuộc

Oi

Trường hợp 4: p đang thuộc vào Oi (i#j) Nếu Oj được thay thế bởi

Orandom và p gần nhất với Orandom thì p được gán lại vào Orandom

Hình 2.3 Các trường hợp đối với điểm P

Mô tả thuật toán

Input: Số nguyên k và CSDL gồm n đối tượng cần phân cụm

Output: Một tập gồm k cụm mà tổng giá trị của tất cả các đối tượng đến

đối tượng tâm của nhóm chứa nó là nhỏ nhất

Bước 1: Chọn k đối tượng bất kỳ vào k cụm Coi mỗi đối tượng này là tâm của nhóm

Bước 5: Tính lại giá trị S đối với việc đổi Oj với Orandom

Bước 6: Nếu S<0 thì đổi Oj với Orandom để tạo ra một tập

với đối tượng tâm mới

Trang 31

Bước 7: Đến khi không có sự thay đổi nào nữa thì dừng

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

Phân cụm phân cấp là sắp xếp một tập dữ liệu đã cho thành một cấu trúc dạng hình cây, cây phân cấp này được xây dựng theo phương pháp đệ quy Cây phân cấp có thể được xây dựng theo hai phương pháp tổng quát: 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 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 hoà 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 thoả mãn Như vậy cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm

Phương pháp 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ộ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 điều kiện dừng thoả 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

Sau đây là minh hoạ của chiến lược phân cụm phân cấp Bottom up và Top

Trang 32

Hình 2.4 Sơ đồ minh họa chiến lược phân cụm phân cấp

Trong thực tế áp dụng có nhiều trường hợp người ta kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện nay đã có nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong KPDL Một số thuật toán phân cụm phân cấp điển hình như CURE, BIRCH, CHEMELEON,…

2.2.1 Thuật toán BIRCH

Thuật toán phân cụm khác cho tập dữ liệu lớn, được gọi là BIRCH Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Thuật toán đưa ra hai khái niệm mới để theo dõi các cụm hình thành, phân cụm đặc trưng là tóm tắt thông tin về một cụm và cây phân cụm đặc trưng (cây CF) là cây cân bằng được sử dụng lưu trữ cụm đặc trưng (được sử dụng để mô tả cụm tóm tắt) Trước tiên được gọi là cụm đặc trưng, là một bộ ba (n, LS, SS), trong đó n là

số các điểm trong phân hoạch cụm con, LS là tổng số các giá trị thuộc tích và

SS là tổng bình phương của các điểm đó Đặc trưng tiếp theo là cây CF, mà đơn giản là cây cân bằng lưu bộ ba này Có thể chứng mình rằng, các đại lượng thống kê chuẩn, như là độ đo khoảng cách, có thể xác định từ cây CF Hình 2.5 biểu thị một ví dụ về cây CF Tất cả các nút trong cây lưu tổng các đặc trưng cụm CF của nút con, các nút lá lưu trữ các đặc trưng của các cụm

dữ liệu

Trang 33

Hình 2.5 Sơ đồ mô phỏng cây CF

Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm Cây

CF chứa các nút trong và nút là, nút trong là nút chứa các nút con và nút lá thì không có con Nút trong lưu trữ các tổng đặc trưng cụm CF của các nút con của

nó Một cây CF được đặc trưng bởi hai tham số:

- Yếu tố nhánh (Braching Factor - B): Nhằm xác định tối đa các nút con của một nút lá trong của cây

- Ngưỡng (Threshold - T): khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá

Hai tham số này có ảnh hưởng đến kích thước của cây CF Thuật toán

Trang 34

BIRCH thực hiện gồm hai giai đoạn:

Giai đoạn 1: BIRCH quét tất cả các đối tượng trong CSDL để xây dựng cây CF khởi tạo Trong giai đoạn này, các đối tượng lần lượt được chèn vào nút lá gần nhất của cây CF (nút lá của cây đóng vai trò là cụm con), sau khi chèn xong thì tất cả các nút trong cây CF được cập nhật thông tin Nếu đường kính của cụm con sau khi chèn lớn hơn ngưỡng T, thì nút lá được tách Quá trình lặp lại cho đến khi tất cả các đối tượng trong cây chỉ được đọc một lần, để lưu toàn bộ cây CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây CF thông qua điều chỉnh ngưỡng T

Giai đoạn 2 : BIRCH lựa chọn một thuật toán phân cụm (chẳng hạn như thuật toán phân cụm phân hoạch) để thực hiện phân cụm cho các nút lá của cây CF

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

1 Các đối tượng dữ liệu lần lượt được chèn vào cây C, sau khi chèn hết các đối tượng thì thu được cây CF khởi tạo Một đối tượng được chèn vào nút

là gần nhất tạo thành cụm con Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách ra Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được cập nhật với thông tin cần thiết

2 Nếu cây CF hiện thời không có đủ bộ nhớ thì tiến hành xây dựng một cây CF nhỏ hơn: Kích thước của cây CF được điều khiển bởi tham số F và

vì vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn Bước này không cần yêu cầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn

3 Thực hiện phân cụm: Các nút lá cây CF lưu trữ các đại lượng thống

kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số phương pháp phân cụm, ví dụ K-means và tạo ra một khởi tạo cho phân cụm

Trang 35

4 Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm cho các cụm được khám phá từ bước 3: Đây là một bước tùy chọn

để duyệt lại tập dữ liệu và gán lại nhãn cho các đối tượng dữ liệu tới các trọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai

Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện PCDL nhanh và có thể áp dụng đối với tập CDSL lớn, BIRCH cũng có hiệu quả khi

áp dụng với tập dữ liệu tăng trưởng theo thời gian Độ phức tạp tính toán của BIRCH là tuyến tính tỷ lệ với số các đối tượng, do BIRCH chỉ duyệt toàn bộ

dữ liệu một lần với một lần quét thêm tùy chọn (thực hiện phân cụm lại các nút lá cây của CF), có thể được đo trong thời gian O(n) với n là số đối tượng

dữ liệu Thuật toán này kết hợp các cụm gần nhau và xây dựng lại cây CF, tuy nhiên mỗi nút trong cây CF có thể chỉ lưu trữ một số hữu hạn bởi kích thước của nó BIRCH vẫn có một hạn chế: Thuật toán này có thể không xử lý tốt nếu các cụm không có dạng hình cầu, bởi vì nó sử dụng khái niệm bán kính hoặc đường kính để kiểm soát ranh giới các cụm và chất lượng của các cụm được khám phá không được tốt Nếu BIRCH sử dụng khoảng cách Eucle, nó thực hiện tốt chỉ với các dữ liệu số, mặt khác tham số vào T có ảnh hưởng rất lớn tới kích thước tự nhiên của cụm Việc ép các đối tượng dữ liệu làm cho các đối tượng của cụm có thể là đối tượng kết thúc của cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứ tự khác BIRCH không thích hợp với dữ liệu đa chiều

2.2.2 Thuật toán CURE

Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phần tử ngoại lai Thuật toán CURE (Glustering Using REpresetatives) do Sudipto

Trang 36

Guha, Rajeev Rastogi và Kyuseok Shim xây dựng năm 1998 là thuật toán sử dụng chiến lược Bottom up của kỹ thuật phân cụm phân cấp để định nghĩa một

số cố định các điểm đại diện nằm rải rác trong toàn bộ không gian dữ liệu và được chọn để mô tả các cụm được hình thành Các điểm này được tạo ra bởi các đối tượng nằm rải rác trong cụm và sau đó “co lại” hoặc di chuyển chúng về trung tâm cụm bằng nhân tố co cụm Quá trình này được lặp lại và như vậy trong quá trình này có thể đo tỷ lệ gia tăng của cụm Tại mỗi bước của thuật toán, hai cụm có cặp các điểm đại diện gần nhau (mỗi điểm trong cặp thuộc về mỗi cụm khác nhau) được hòa nhập

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

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

Hình 2.6 : Cụm dữ liệu khai phá bởi thuật toán CURE

Để xử lý được các CSDL lớn, CURE sử dụng ngẫu nhiên và

Trang 37

phân hoạch, một mẫu được xác định ngẫu nhiên trước khi phân hoạch và sau

đó tiến hành phân cụm trên mỗi phân hoạch đó, như vậy mỗi phân hoạch

là từng phần đã được phân cụm, các cụm thu hoạch được lại phân cụm lần thứ hai để thu được các cụm con mong muốn, nhưng mẫu ngẫu nhiên không nhất thiết đưa ra một mô tả tốt cho toàn bộ tập dữ liệu

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

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

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

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

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

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

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

2.3 Phương pháp phân cụm dữ liệu dựa vào mật độ

2.3.1 Thuật toán DBSCAN

Thuật toán DBSCAN (Density – Based Spatial Clustering of

Applications with noise) là thuật toán phân cụm dựa trên mật độ thông dụng

nhất do Ester, P.Kriegel và J.Sander đề xuất năm 1996 Thuật toán đi tìm các đối tượng mà có số đối tượng láng giềng lớn hơn một ngưỡng tối thiểu

Thuật toán DBSCAN thích nghi với mật độ dầy để phân cụm và khám

Trang 38

phá ra các cụm có hình dạng bất kỳ trong không gian CSDL có nhiễu Nó có định nghĩa cụm là tập tối đa các điểm liên thông mật độ

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

sử dụng để đo sự tương tự giữa các đối tượng nhưng không hiệu quả đối với

dữ liệu đa chiều

Định nghĩa 1: Lân cận với ngưỡng Eps của một điểm p ký hiệu

NEps(p) được xác định như sau: khoảng

N Eps( )p ={qD kho ¶ n g cách Dist( )p, q ≤Esp}

D là tập dữ liệu cho trước

Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) phải có tối thiểu MinPts điểm Số điểm tối thiểu được chọn là bao nhiêu cũng là bài toán khó vì nếu số điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới đạt đủ tiêu chuẩn, trong khi đó những điểm nằm ngoài biên của cụm không thể đạt được điều đó Ngược lại, nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ rơi vào một cụm

Trang 39

Theo định nghĩa trên, chỉ những điểm nằm trong cụm mới thỏa mãn điều kiện là điểm thuộc vào cụm Những điểm nằm ở biên của cụm thì không thỏa mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của điểm biên thì bé hơn lân cận với ngưỡng Eps của điểm nhân

Để tránh được điều này, có thể đưa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc vào một cụm như sau: Nếu một điểm p muốn thuộc một cụm C phải tồn tại một điểm q mà p∈NEps (q) và số điểm p trong NEps (q) phải lớn hơn điểm tối thiểu Điều này dẫn đến ba phép đo được sử dụng để mô tả thuộc tính của các điểm dữ liệu, là mật độ liên lạc trực tiếp Mật độ liên lạc trực tiếp, mật độ liên lạc và mật độ liên thông được định nghĩa như sau :

- Định nghĩa 2: Mật độ liên lạc trực tiếp

Một điểm p được gọi là liên lạc trực tiếp từ điểm q với ngưỡng Eps nếu :

1 p∈NEps (q) Với NEps(q) là tập con của D

2 N Eps( )qMinPts(điều kiện đối tượng nhân), điểm q gọi là điểm nhân

Ta thấy rằng nó là một hàm phản xạ và đối xứng với hai điểm nhân và bất đối xứng nếu một trong hai điểm đó không phải là điểm nhân

- Định nghĩa 3: Mật độ liên lạc

Một điểm p được gọi là liên lạc từ một điểm q theo tham số Eps và MinPts nếu tồn tại một dãy p = p1, p2,…, pn = q thỏa mãn pi+1 là có thêm liên lạc trực tiếp từ pi với i= 1 n- 1

Hai điểm biên của một cụm C có thể không liên lạc được với nhau bởi

vì cả hai đều không thỏa mãn điều kiện nhân

- Định nghĩa 4: Mật độ liên thông

Một điểm p được gọi là liên thông với điểm q theo tham số Eps và MinPts nếu tồn tại một điểm O mà cả hai điểm p, q đều có thể liên lạc được theo tham số Eps và MinPts Mật độ liên thông có tính chất đối xứng và phản xạ

Trang 40

- Định nghĩa 5: Cụm

Giả sử D là một tập các đối tượng dữ liệu Một tập con C khác rỗng của

D được gọi là một cụm theo Eps và MinPts nếu thỏa mãn hai điều kiện :

1 Với p,qD, nếupC và q có thể liên lạc được từ p theo Eps và

MinPts thì qC

2 Với p,qC, p là mật độ liên thông với q theo Eps và MinPts

- Định nghĩa 6: Nhiễu

Giả sử C1, C2, … , Ck là các cụm trong tập dữ liệu D theo tham số Eps

và MinPts, điểm dữ liệu nhiễu là điểm dữ liệu không thuộc vào cụm nào trong các cụm C1, C2, … , Ck, tức là N ={p/ với mọi I = 1,…,k ∉ Ci}

Với hai tham số Eps và MinPts cho trước, có thể khám phá các cụm theo hai bước :

- Bước 1 : Chọn một điểm bất kỳ từ tập dữ liệu ban đầu thỏa mãn điều kiện nhân

- Bước 2 : Lấy tất cả các điểm liên lạc với điểm nhân đã chọn để tạo thành cụm

Bổ đề 1: Giả sử p là một điểm trong D, trong đó N Eps( )pMinPts, tập

O= {o/o ∈ D và o là mật độ-đến được từ p theo Eps và MinPts} là một cụm theo Eps và MinPts

Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi điểm trong C đến được từ bất cứ một điểm nhân nào của C, vì vậy C chứa đúng một

số điểm liên thông với điểm nhân tùy ý

Bổ đề 2: Giả sử C là một cụm theo Eps và MinPts, p là một điểm bất

kỳ trong C với N Eps(p) ≥MinPts Khi đó, C trùng với tập O ={o/o ∈ D và o có

thể liên lạc từ p theo Eps và MinPts}

Thuật toán DBSCAN

Ngày đăng: 09/12/2016, 17:54

HÌNH ẢNH LIÊN QUAN

Hình 3.4. Độ tương tự chỉ mục - Một số phương pháp phân cụm dữ liệu web
Hình 3.4. Độ tương tự chỉ mục (Trang 5)
Hình 1.1 Quá trình khám phá tri thức Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được - Một số phương pháp phân cụm dữ liệu web
Hình 1.1 Quá trình khám phá tri thức Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được (Trang 9)
Hình 2.1. Sơ đồ phân loại của một số thuật toán phân cụm dữ liệu. - Một số phương pháp phân cụm dữ liệu web
Hình 2.1. Sơ đồ phân loại của một số thuật toán phân cụm dữ liệu (Trang 25)
Hình 2.2. Mô phỏng thuật toán K-means - Một số phương pháp phân cụm dữ liệu web
Hình 2.2. Mô phỏng thuật toán K-means (Trang 28)
Hình 2.3. Các trường hợp đối với điểm P - Một số phương pháp phân cụm dữ liệu web
Hình 2.3. Các trường hợp đối với điểm P (Trang 30)
Hình 2.5. Sơ đồ mô phỏng cây CF - Một số phương pháp phân cụm dữ liệu web
Hình 2.5. Sơ đồ mô phỏng cây CF (Trang 33)
Hình 2.6 : Cụm dữ liệu khai phá bởi thuật toán CURE - Một số phương pháp phân cụm dữ liệu web
Hình 2.6 Cụm dữ liệu khai phá bởi thuật toán CURE (Trang 36)
Hình 3.1. Phân loại khai phá Web - Một số phương pháp phân cụm dữ liệu web
Hình 3.1. Phân loại khai phá Web (Trang 56)
Hình 3.5. Đồ thị phân đôi của Hup và Authority - Một số phương pháp phân cụm dữ liệu web
Hình 3.5. Đồ thị phân đôi của Hup và Authority (Trang 68)
Hình 3.6. Sự kết hợp giữa Hub và Authority - Một số phương pháp phân cụm dữ liệu web
Hình 3.6. Sự kết hợp giữa Hub và Authority (Trang 69)
Hình 3.7.  Các bước phân cụm kết quả tìm kiếm trên Web - Một số phương pháp phân cụm dữ liệu web
Hình 3.7. Các bước phân cụm kết quả tìm kiếm trên Web (Trang 72)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w