1. Trang chủ
  2. » Thể loại khác

PHÂN CỤM VÀ XẾP HẠNG VĂN BẢN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

77 15 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 77
Dung lượng 2,57 MB

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

Nội dung

Text mining ngày càng có nhiều ứng dụng trong thực tế như lọc thư rác, đối chiếu lý lịch cá nhân, phân tích cảm nghĩ, phân loại tài liệu… Luận văn này giới thiệu một số kiến thức cơ bản

Trang 1

ĐÀ NẴNG – 2018

Trang 3

Lời đầu tiên, tôi xin được tỏ lòng biết ơn chân thành nhất đến thầy giáo TS Trương Ngọc Châu, thầy đã tận tình dẫn dắt, chỉ bảo và tạo mọi điều kiện tốt nhất để tôi hoàn thành luận văn này

Tôi cũng xin được chân thành cảm ơn quý thầy cô đang công tác tại trường Đại học Bách Khoa – Đại học Đà Nẵng, những người đã trực tiếp giảng dạy, giúp đỡ và tạo mọi điều kiện thuận lợi cho tôi trong quá trình học tập, nghiên cứu và hoàn thành khóa học

Xin chân thành cảm ơn các anh chị học viên lớp cao học Khoa học máy tính khóa 33 (2016 - 2018), các bạn đồng nghiệp đã động viên khuyến khích tôi trong suốt thời gian học tập và thực hiện đề tài Mặc dù

đã hết sức cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản thân nhưng luận văn vẫn còn nhiều thiếu sót Kính mong nhận được sự đóng góp của quý thầy giáo, cô giáo và bạn bè đồng nghiệp

Xin chân thành cảm ơn!

Trang 4

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn trực tiếp của thầy giáo TS Trương Ngọc Châu Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả luận văn

Lê Trọng Hiếu

Trang 5

Học viên: Lê Trọng Hiếu Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01 Khóa: K33 Trường Đại học Bách khoa - ĐHĐN

Tóm tắt – Ngày nay, với sự phát triển vượt bậc của công nghệ thông tin, số lượng

các tài liệu điện tử do con người tạo ra ngày càng phong phú và đa dạng Cơ sở dữ liệu văn bản (text database) đang phát triển nhanh chóng và thu hút sự quan tâm nghiên cứu bởi sự gia tăng nhanh chóng số lượng thông tin ở dạng số, ví dụ như các loại tài liệu điện tử, email, thư điện tử, các trang web…Có thể thấy hầu hết thông tin của các chính phủ, các ngành công nghiệp, kinh doanh, trường học … đều được số hóa và lưu trữ ở dưới dạng cơ sở dữ liệu này làm cho dữ liệu văn bản tăng trưởng nhanh chóng Khai thác văn bản (text mining) là một nhánh của data mining nhằm tìm kiếm và trích xuất thông tin nằm trong văn bản Text mining ngày càng có nhiều ứng dụng trong thực tế như lọc thư rác, đối chiếu lý lịch cá nhân, phân tích cảm nghĩ, phân loại tài liệu… Luận văn này giới thiệu một số kiến thức cơ bản về khai phá dữ liệu, khai phá văn bản đồng thời nghiên cứu, tìm kiếm, xây dựng giải pháp và cài đặt

chương trình ứng dụng có thể phân cụm và xếp hạng văn bản

Từ khóa – khai phá văn bản; khai phá dữ liệu; phân cụm văn bản; khám phá tri

thức; gom nhóm văn bản

CLUTTERING AND RANK TEXT DOCUMENT

Abstract - Today, with the rapid development of information technology, the number of

man-made electronic documents is becoming more and more diverse Text database is growing rapidly and attracting research attention by the rapid increase in the amount of information in digital form such as electronic documents, emails, letters electronics, websites It is possible to see most of the information of governments, industries, businesses, schools are digitized and stored in the form of databases that make the data literate rapid growth Text mining is a branch of data mining that searches and extracts information in text Text mining has more and more applications in practice such as spam filtering, personal profile matching, sensory analysis, document classification This thesis introduces some basic knowledge about data mining, text mining, research, search, solution building, and application installation can cluttering and rank text

Key words – Text mining; Data mining; clusters of documents; exploring

knowledge; grouping documents

Trang 6

MỞ ĐẦU 1

1 LÝ DO CHỌN ĐỀ TÀI 1

2 MỤC TIÊU NGHIÊN CỨU 1

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2

4 PHƯƠNG PHÁP NGHIÊN CỨU 2

5 Ý NGHĨA ĐỀ TÀI NGHIÊN CỨU 2

6 CẤU TRÚC LUẬN VĂN 2

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

1.1 KHAI PHÁ DỮ LIỆU VÀ KHÁM PHÁ TRI THỨC 4

1.1.1 Khái niệm khai phá dữ liệu 4

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

1.1.3 Các kỹ thuật khai phá dữ liệu 5

1.1.4 Các ứng dụng của khai phá dữ liệu 7

1.2 KHAI PHÁ VĂN BẢN 7

1.2.1 Khái niệm 7

1.2.2 Các kỹ thuật khai phá văn bản 9

1.3 KHAI PHÁ DỮ LIỆU WEB 11

1.3.1 Khai phá dữ liệu web 11

1.3.2 Lợi ích của khai phá dữ liệu web 12

1.3.3 Khó khăn 12

1.3.4 Thuận lợi 14

1.3.5 Các kiểu dữ liệu web 14

1.4 CÁC THÁCH THỨC TRONG KHAI PHÁ DỮ LIỆU 15

1.4.1 Các vấn đề về Cơ sở dữ liệu 15

1.4.2 Một số vấn đề khác 16

1.5 PHÂN CỤM DỮ LIỆU 17

1.5.1 Giới thiệu bài toán 17

1.5.2 Một số độ đo 18

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

1.5 KẾT LUẬN CHƯƠNG 1 31

CHƯƠNG 2 PHƯƠNG PHÁP PHÂN CỤM VÀ XẾP HẠNG VĂN BẢN 32

2.1 GIỚI THIỆU BÀI TOÁN 32

2.2 LỰA CHỌN GIẢI PHÁP PHÂN CỤM VÀ XẾP HẠNG 32

2.2.1 Support Vector Machine (SVM) 32

Trang 7

2.2.3 Phân loại Nạve Bayse (NB) 35

2.2.4 Centroid- based vector 37

2.2.5 Linear Least Square Fit (LLSF) 37

2.2.6 Sử dụng thuật tốn K-Means 38

2.3 KẾT LUẬN CHƯƠNG 2 42

CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ 44

3.1 HƯỚNG TIẾP CẬN THỰC NGHIỆM 44

3.2 TIẾN HÀNH THỰC NGHIỆM 45

3.2.1 Mơi trường thực nghiệm 45

3.2.2 Thành phần 45

3.2.3 Kết quả thực nghiệm 45

3.3 ĐÁNH GIÁ KẾT QUẢ 50

3.4 KẾT LUẬN CHƯƠNG 3 50

KẾT LUẬN 51 DANH MỤC TÀI LIỆU THAM KHẢO

PHỤ LỤC

QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)

Trang 8

CSDL: Cơ sở dữ liệu KDD: Khai phá tri thức (Knowledge Discovery in Databases) KPDL: Khai phá dữ liệu

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

Trang 10

Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp +

và – với khoảng cách biên lớn nhất Các điểm gần h nhất là các vector hỗ trợ, Support Vector (đƣợc khoanh tròn)

Trang 11

MỞ ĐẦU

1 LÝ DO CHỌN ĐỀ TÀI

Ngày nay, với sự phát triển vượt bậc của công nghệ thông tin, số lượng các tài liệu điện tử do con người tạo ra ngày càng phong phú và đa dạng Cơ sở dữ liệu văn bản (text database) đang phát triển nhanh chóng và thu hút sự quan tâm nghiên cứu bởi sự gia tăng nhanh chóng số lượng thông tin ở dạng số, ví dụ như các loại tài liệu điện tử, email, thư điện tử, các trang web…Có thể thấy hầu hết thông tin của các chính phủ, các ngành công nghiệp, kinh doanh, trường học … đều được số hóa và lưu trữ ở dưới dạng cơ sở dữ liệu này Chính vì vậy, nhu cầu khai thác tri trức trong kho tài liệu là rất lớn, đây là một trong những nhu cầu thường ngày và thiết thực của người sử dụng

Tuy nhiên, có một thực tế diễn ra phổ biến hiện nay là mặc dù có một lượng dữ liệu rất lớn nhưng tri thức mà chúng ta có được thật sự rất ít Các công cụ và kỹ thuật phân tích dữ liệu truyền thống cho việc trích lọc các thông tin hữu ích cho các quá trình nghiên cứu, kinh doanh, sản xuất … thì không hiệu quả cho một tập dữ liệu lớn

và đa dạng về mặt cấu trúc Vì thế, đã làm phát triển một khuynh hướng kỹ thuật mới

đó là kỹ thuật khai phá dữ liệu (data mining) Một trong những nội dung cơ bản nhất trong khai phá dữ liệu và rất phổ biến là khai phá dữ liệu web Kĩ thuật khai phá dữ liệu web đã trích xuất ra nhiều thông tin hữu ích phục vụ cho nhiều mục đích khác nhau của người sử dụng như: Phát triển kinh doanh, nghiên cứu khoa học, tìm kiếm tri thức …

Vấn đề đặt ra là con người ngày càng cần có nhiều tri thức với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu văn bản khổng lồ đã có Ví dụ, khi đang đọc một bài viết nào đó, người sử dụng cần một hệ thống giúp họ tìm kiếm những bài viết tương tự như bài viết của họ đang đọc …

Từ những thực tế nêu trên, tôi chọn đề tài “Phân cụm và xếp hạng văn bản”

để làm luận văn tốt nghiệp Luận văn này sẽ minh họa làm thế nào để khai phá dữ liệu, phân cụm và xếp hạng văn bản

2 MỤC TIÊU NGHIÊN CỨU

Trên cơ sở lý thuyết về khai phá dữ liệu, xếp hạng và phân cụm văn bản, bước đầu xây dựng ứng dụng có thể phân cụm và xếp hạng văn bản phục vụ cho người sử dụng, cụ thể:

2.1 Về lý thuyết

- Tìm hiểu về khai phá dữ liệu, khai phá văn bản và khai phá dữ liệu web

Trang 12

- Nghiên cứu các phương pháp, kĩ thuật phân cụm và xếp hạng văn bản

2.2 Về thực tiễn

Kết quả nghiên cứu được sử dụng cho việc phân cụm và xếp hạng văn bản phục

vụ nhu cầu của người dùng

3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

3.1 Đối tượng nghiên cứu

- Kỹ thuật khai phá dữ liệu, khai phá văn bản

- Phương pháp xếp hạng và phân cụm văn bản

- Tìm hiểu kiến thức về khai phá dữ liệu

- Tìm hiểu phương pháp khai thác dữ liệu văn bản trên internet

- Tìm hiểu các phương pháp phân cụm và xếp hạng văn bản

- Các tài liệu liên quan đến lập trình

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

- Tiến hành phân tích và xây dựng ứng dựng mô phỏng cho lý thuyết nghiên cứu

- Kiểm thử tính hiệu quả của ứng dụng

5 Ý NGHĨA ĐỀ TÀI NGHIÊN CỨU

5.1 Ý nghĩa khoa học

- Đề xuất giải pháp trích xuất thông tin, phân cụm và xếp hạng văn bản

- Đề xuất kỹ thuật, đánh giá độ ổn định và khả năng phân cụm và xếp hạng văn bản

5.2 Ý nghĩa thực tiễn

- Kết quả nghiên cứu sẽ xây dựng ứng dụng phân cụm và xếp hạng văn bản theo yêu cầu

- Kết quả nghiên cứu sử dụng để phục vụ việc phân cụm và xếp hạng văn bản

6 CẤU TRÚC LUẬN VĂN

Dựa trên mục tiêu đề ra, ngoài các nội dung như mở đầu thì luận văn được xây dựng với bố cục gồm có 03 chương, với nội dung như sau:

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

Chương này trình bày tổng quan về khai phá dữ liệu, các kỹ thuật khai phá cũng như tính ứng dụng của nó trong các lĩnh vực đời sống Đặc biệt là dữ liệu văn bản

Trang 13

Chương 2: Phương pháp phân cụm và xếp hạng văn bản

Chương này trình bày một số phương pháp, thuật toán như k-means, sử dụng các giải thuật máy học, sau đó chọn giải pháp phân cụm và xếp hạng văn bản đạt kết quả cao

Chương 3: Cài đặt thực nghiệm và đánh giá kết quả

Trên cơ sở tìm hiểu và phân tích các phương pháp, thuật toán liên quan, đặc biệt

là thuật toán k-means Chương này xây dựng hệ thống thử nghiệm thi hành mô hình nói trên và thực nghiệm với cơ sở dữ liệu văn bản cụ thể

Trang 14

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

1.1 KHAI PHÁ DỮ LIỆU VÀ KHÁM PHÁ TRI THỨC

1.1.1 Khái niệm khai phá dữ liệu

Trong vài những năm gần đây, với những tác động mạnh mẽ của các tiến bộ trong công nghệ phần cứng và truyền thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế xã hội ngày càng phát triển, lượng dữ liệu được tạo ra ngày càng lớn đã tạo

ra sự bùng nổ thông tin

Sự bùng nổ thông tin trên phạm vi toàn cầu đã dẫn đến sự khủng hoảng trong việc phân tích dữ liệu để thu thập những thông tin có chất lượng phục vụ cho công việ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 tri thức” Có thể nói lượng dữ liệu khổng lồ này thực sự là một 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 của xã hội, nó giúp cho chúng ta có những hiểu biết nhất định về một hoạt động nào đó

để có thể đưa ra những quyết định tác động đến quá trình hoạt động nhằm đạt được các mục tiêu một cách hiệu quả và bền vững Vậy làm thế nào để có thể thu thập được những thông tin có chất lượng từ các kho dữ liệu khổng lồ là một thách thức lớn cho các nhà nghiên cứu Vào những năm 1980, 1990 các nhà khoa học đã đưa ra các kỹ thuật thu thập thông tin có ích từ các kho dữ liệu khổng lồ một cách tự động gọi là quá trình khám phá tri thức từ cơ sở dữ liệu (Knowledge Discovery in Databases – KDD)

và cốt lõi của KDD là quá trình khai phá dữ liệu

Khai phá dữ liệu (KPDL) là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn từ những cơ sở dữ liệu (CSDL) lớn cho các đơn vị, tổ chức, doanh nghiệp,… từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả nghiên cứu khoa học cùng 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 nhiều 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 phân tích 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 học,… Các kỹ thuật chính được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ lĩnh vực 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 hiệu năng cao,

Như vậy ta có thể khái quát hóa khái niệm KPDL là một quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích, tiềm ẩn trong CSDL lớn KDD là mục tiêu chính của KPDL, do vậy hai khái niệm KPDL và KDD được các nhà khoa học trên hai lĩnh

Trang 15

vực xem là tương đương với nhau Thế nhưng nếu phân chia một cách chi tiết thì 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 khám phá tri thức có thể chia thành 5 giai đoạn như 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 histograms, lấy mẫu, ), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, ) Sau bước này,

dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa

Biến đổi dữ liệu: Đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ quá trình khai phá ở bước sau

Khai phá dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như các kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn được 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 đã được 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 Các kỹ thuật khai phá dữ liệu

Khai phá dữ liệu dự đoán: Nhiệm vụ của khai phá dữ liệu dự đoán là đưa ra

các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nó sử dụng các biến hay các

Trang 16

trường trong cơ sở dữ liệu để dự đoán các giá trị không biết hay các giá trị tương lai Bao gồm các kĩ thuật: phân loại (classification), hồi quy (regression),

Phân lớp: Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho

các mẫu dữ liệu Quá trình phân loại dữ liệu thường gồm 2 bước: xây dựng mô hình và

sử dụng mô hình để phân loại dữ liệu

• Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước Mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát

• Bước 2: Sử dụng mô hình để phân loại dữ liệu Trước hết chúng ta phải tính

độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai Hay nói cách khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào một trong số các lớp cho trước

Hồi quy: Phương pháp hồi qui khác với phân loại dữ liệu ở chỗ, hồi qui dùng để

dự đoán về các giá trị liên tục còn phân loại dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc

Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực Các ứng dụng hồi quy có nhiều, ví dụ như đánh giá xác suất một bệnh nhân sẽ chết dựa trên tập kết quả xét nghiệm chẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩm mới dựa trên hoạt động quảng cáo tiêu dùng

Khai phá dữ liệu mô tả: Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc

các đặc tính chung của dữ liệu trong CSDL hiện có Bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules)

Phân cụm: Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối

tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát Không giống như phân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử

Trang 17

dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang web, …

Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác

Luật kết hợp: Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên

hệ giữa các giá trị dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Khai phá luật kết hợp được thực hiện qua 2 bước:

• Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

• Bước 2: sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lí kinh doanh,

1.1.4 Các ứng dụng của khai phá dữ liệu

KPDL là một lĩnh vực được quan tâm và ứng dụng rộng rãi Một số ứng dụng điển hình trong KPDL có thể liệt kê như sau:

Phân tích dữ liệu và hỗ trợ ra quyết định: Điều trị y học, khai phá văn bản, khai phá web, tin-sinh học, tài chính và thị trường chứng khoán, bảo hiểm,

Thương mại: Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư, phát hiện gian lận, chứng thực hóa khách hàng, dự báo xu hướng phát triển,

Thông tin sản xuất: Điều khiển, lập kế hoạch, hệ thống quản lý, phân tích thử nghiệm,

Thông tin khoa học: Dự báo thời tiết, động đất, tin - sinh học,

1.2 KHAI PHÁ VĂN BẢN

1.2.1 Khái niệm

Hiện nay, văn bản là một trong những dữ liệu phổ biến nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp Do đó các bài toán về xử lý văn bản đã được đặt ra khá lâu và hiện nay vẫn là một trong những vấn đề trong khai phá dữ liệu Text, trong đó có những bài toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản hoặc dẫn đường văn bản

Cơ sở dữ liệu dạng văn bản (Text) có thể chia làm hai loại sau:

Dạng nửa cấu trúc (semi-structured): Là những văn bản được tổ chức dưới dạng cấu trúc không chặt chẽ như bản ghi các ký hiệu đánh dấu văn bản và vẫn thể hiện được nội dung chính của văn bản Ví dụ: Như các dạng HTML, email,

Dạng không có cấu trúc (unstructured): Những văn bản thông thường mà chúng

ta thường đọc hàng ngày được thể hiện dưới dạng tự nhiên của con người và nó không

Trang 18

có một cấu trúc định dạng nào Trên thế giới dữ liệu khoảng 90% ở dạng thông tin không có cấu trúc Ví dụ: Tạp chí, sách, bài viết được quản lý trong một mạng thư viện điện tử

Tuy nhiên, việc phân làm hai loại cũng không thật rõ ràng, trong các hệ phần mềm, người ta thường phải sử dụng các phần kết hợp lại để thành một hệ như trong các hệ tìm tin (Search Engine), hoặc trong bài toán tìm kiếm văn bản (Text Retrieval), một trong những lĩnh vực qua tâm nhất hiện nay Chẳng hạn trong hệ tìm kiếm như: Google, Yahoo, Teoma, Excite, Altavista, đều tổ chức dữ liệu theo các nhóm và thư mục, mỗi nhóm lại có thể có nhiều nhóm con nằm trong đó

Khai phá dữ liệu dạng văn bản (Text Mining): là khai phá dữ liệu đối với loại

dữ liệu text và nó là quá trình phát hiện tri thức mới, có giá trị, tiềm ẩn trong tập hợp văn bản Mang tính đa dạng về phát biểu khái niệm khai phá dữ liệu

- Kiến trúc khai phá dữ liệu dạng văn bản: Khai phá dữ liệu dạng văn bản gồm 6 bước,

chia thành 3 chức năng chính

+ Lựa chọn tài nguyên: Là tiến trình chọn tài nguyên để khai thác

+ Lựa chọn văn bản: Là tiến trình nhận diện + lựa chọn + thu lượm những văn bản riêng lẻ từ những nguồn tài nguyên được lựa chọn

+ Rút trích thông tin: Là quá trình tự động thu thập dữ liệu từ nguồn tài liệu ngôn ngữ tự nhiên không có cấu trúc Quá trình này bao gồm: Xác định dạng thông tin chung (Template) -> Định hướng cho quá trình khai phá

- Phân tích thuật ngữ: Đây là quá trình xác định các thuật ngữ trong tài liệu Điều này đặc biệt hữu ích đối với các tài liệu chứa nhiều thuật ngữ phức tạp như các bản nghiên cứu khoa học

- Xác định tên thực thể: Đây là quá trình xác định tên của thực thể trong tài liệu như tên của 1 người hoặc tên một tổ chức

- Trích chọn sự việc: Đây là quá trình xác định và trích chọn các sự việc phức tạp từ tài liệu Những sự kiện này có thể là mối quan hệ giữa các thực thể hoặc các sự kiện

+ Trình diễn dữ liệu: Là đánh giá lựa chọn mô hình thích hợp, chất lượng của

dữ liệu có đáp ứng yêu cầu phân tích hay không và giải thích các kết quả

Text mining nhằm phân tích và phát hiện các quan hệ trong khối dữ liệu văn bản lớn như các tập tin văn bản, các bảng tính, e-mail, các trang Web và các kho văn bản khác

Kỹ thuật này được ứng dụng trong một loạt các công cụ phần mềm thương mại Công cụ khai phá dữ liệu rất phù hợp với việc tìm kiếm, phân tích và phân lớp các dữ liệu văn bản không định dạng Các lĩnh vực ứng dụng như nghiên cứu thị trường, thu

Trang 19

thập tình báo, v.v… Khai phá dữ liệu dạng văn bản đã được sử dụng để phân tích câu trả lời cho các câu hỏi mở trong khảo sát thị trường, tìm kiếm các tài liệu phức tạp

1.2.2 Các kỹ thuật khai phá văn bản

Tra cứu văn bản (Text Retrieval)

Là quá trình tìm kiếm văn bản theo yêu cầu của người dùng Các yêu cầu được thể hiện dưới dạng các câu hỏi (query), dạng câu hỏi đơn giản nhất là các từ khóa Có thể hình dung hệ tìm kiếm văn bản sắp xếp tập văn bản trong miền tìm kiếm thành hai lớp: Một lớp được hiển thị bao gồm các văn bản thỏa mãn với câu hỏi người dùng và một lớp không được hiển thị bao gồm các văn bản không thỏa mãn yêu cầu Thực tế, các hệ thống tìm kiếm điển hình hiện nay, chẳng hạn như các máy tìm kiếm như Google, Altavista, Yahoo, Teoma…, không hoạt động như vậy mà đưa ra danh sách các văn bản theo độ liên quan của văn bản với câu hỏi người dùng

Quá trình tìm kiếm: Quá trình tìm kiếm được chia thành bốn quá trình thành

phần chính:

- Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn nào đó để xử lý Quá trình này còn được gọi là quá trình biểu diễn văn bản, dạng biểu diễn phải có cấu trúc và dễ dàng khi xử lý Một nội dung quan trọng của khóa luận này là nghiên cứu cách thức biểu diễn văn bản sử dụng lý thuyết tập mờ nhằm có được biểu diễn văn bản mang nhiều ngữ nghĩa hơn

- Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin cần thiết dưới dạng câu hỏi Các câu hỏi này phải được biểu diễn dưới dạng phổ biến cho các hệ tìm kiếm như nhập vào các từ khóa cần tìm Ngoài ra còn có các phương pháp định dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các ví dụ, đối với các dạng này thì cần có các kỹ thuật xử lý phức tạp hơn Đại đa số hệ tìm kiếm hiện nay dùng câu hỏi dưới dạng các từ khóa

- So sánh: Hệ thống phải thực hiện việc so sánh tường minh và toàn vẹn câu hỏi của người dùng với các văn bản được lưu trữ trong CSDL Cuối cùng hệ thống đưa ra một quyết định phân loại các văn bản theo độ liên quan gần với câu hỏi người dùng và sắp xếp theo thứ tự giảm dần của độ liên quan Hệ thống hoặc hiển thị toàn bộ văn bản hoặc chỉ một phần văn bản

- Phản hồi: Trong nhiều trường hợp, kết quả được trả về lúc đầu chưa phải đã thỏa mãn yêu cầu của người dùng, do đó cần phải có quá trình phản hồi để người dùng

có thể thay đổi lại hoặc nhập mới các yêu cầu của mình Mặt khác, người dùng có thể tương tác với các hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập nhậu các văn bản đó Quá trình này được gọi là quá trình phản hồi liên quan (Relevance feeback)

Trang 20

Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình con đầu tiên, còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy

Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá trình tương tác giao diện người máy đã xuất hiện hướng nghiên cứu được gọi là tác tử giao diện (interface agent)

Phân lớp văn bản (Text Categoization)

Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay nhiều lớp văn bản đã được xác định từ trước Người ta có thể phân lớp các văn bản một cách thủ công, tức là đọc nội dung từng văn bản một và gán nó vào một lớp nào đó Hệ thống quản lý tập gồm rất nhiều văn bản cho nên cách này sẽ tốn rất nhiều thời gian, công sức và do đó là không khả thi Do vậy mà phải có các phương pháp phân lớp tự động Để phân lớp tự động người ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo như Cây quyết định, Bayes, k người láng giềng gần nhất

Một trong những ứng dụng quan trọng nhất của phân lớp văn bản tự động là ứng dụng trong các hệ thống tìm kiếm văn bản Từ một tập con văn bản đã phân lớp sẵn, tất cả các văn bản trong miền tìm kiếm sẽ được gán chỉ số lớp tương ứng Trong câu hỏi của mình, người dùng có thể xác định chủ đề hoặc lớp văn bản mà mình mong muốn tìm kiếm để hệ thống cung cấp đúng yêu cầu của mình

Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản chứa

dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên

Trong phân lớp văn bản, sự tương ứng giữa một văn bản với một lớp hoặc thông qua việc gán giá trị đúng sai (True - văn bản thuộc lớp, hay False -văn bản không thuộc lớp) hoặc thông qua một độ phụ thuộc (đo độ phụ thuộc của văn bản vào lớp) Trong trường hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản

có thuộc vào một lớp duy nhất nào đó hay không

Quá trình phân lớp: Quá trình phân lớp văn bản tuân theo các bước sau:

- Đánh chỉ số: Quá trình đánh chỉ số văn bản cũng giống như trong quá trình đánh chỉ số của tìm kiếm văn bản Trong quá trình này thì tốc độ đánh chỉ số đóng vai trò quan trọng vì xuất hiện lượng đáng kể văn bản mới có thể cần được đánh chỉ số trong thời gian thực

- Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp văn bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó ra sao (mô hình phân lớp) dựa trên cấu trúc biểu diễn của nó Đối với hệ phân lớp văn bản, chúng

ta gọi quá trình này là bộ phân lớp (Categorizator hoặc classifier) Nó đóng vai trò như

Trang 21

các câu hỏi trong hệ tìm kiếm Tuy nhiên, trong khi những câu hỏi mang tính nhất thời, thì bộ phân lớp được sử dụng một cách ổn định và lâu dài cho quá trình phân lớp

- So sánh: Trong hầu hết các bộ phân lớp, mỗi văn bản đều được yêu cầu gán đúng sai vào một lớp nào đó Sự khác nhau lớn nhất đối với quá trình so sánh trong hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một lần và việc chọn quyết định phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn bản

- Phản hồi (hay thích nghi): Quá trình phản hồi đóng vai trò quan trọng trong hệ phân lớp văn bản Thứ nhất, khi phân lớp thì phải có môt số lượng lớn các văn bản đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện

để hỗ trợ xây dựng bộ phân lớp Thứ hai, đối với việc phân lớp văn bản thì không dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản bởi vì người dùng chỉ có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu

Phân cụm văn bản (Text Clustering)

Là đưa các văn bản có nội dung giống nhau vào thành từng nhóm

Dẫn đường văn bản

Đưa một văn bản cho trước vào một chủ đề hoặc một nơi lưu trữ nhất định theo yêu cầu người dùng

Tóm tắt văn bản Là tóm tắt nội dung một văn bản cho trước

Trong các bài toán nêu trên, văn bản thường được biểu diễn thành một tập các thuộc tính đặc trưng cho văn bản đó Các quá trình xử lý và làm việc tiếp theo đều thực hiện trên các thuộc tính này Có nhiều tiêu chuẩn chọn lựa các thuộc tính để biểu diễn, tuy nhiên đều dựa trên việc xử lý từ khóa một cách tự động

1.3 KHAI PHÁ DỮ LIỆU WEB

1.3.1 Khai phá dữ liệu web

Có nhiều khái niệm khác nhau về khai phá Web, nhưng có thể tổng quát hóa như sau: Khai phá Web là việc sử dụng các kỹ thuật KPDL để tự động hóa 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 thăm dò những thông tin quan trọng và những mẫu tiềm năng từ nội dung Web, từ thông tin truy cập Web, từ liên kết trang và

từ nguồn tài nguyên thương mại điện tử bằng việc sử dụng các kỹ thuật KPDL, nó có thể giúp con người rút ra những tri thức, 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 Lĩnh vực này đã thu hút được nhiều nhà khoa học quan tâm Quá trình khai phá Web có thể chia thành các công việc nhỏ như sau:

- Tìm kiếm nguồn tài nguyên: Thực hiện tìm kiếm và lấy các tài liệu Web phục

vụ cho việc khai phá

Trang 22

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

- Tổng hợp: Tự động khám phá các mẫu chung tại các Web site riêng lẽ cũng như nhiều Website với nhau

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

1.3.2 Lợi ích của khai phá dữ liệu web

Với sự phát triển nhanh chóng của thông tin trên www, khai phá dữ liệu Web

đã từng bước trở nên quan trọng hơn trong lĩnh vực khai phá dữ liệu, người ta luôn hy vọng lấy được những tri thức hữu ích thông qua việc tìm kiếm, phân tích, tổng hợp, khai phá Web Những tri thức hữu ích có thể giúp ta xây dựng nên những Web site hiệu quả để có thể phục vụ cho con người tốt hơn, đặc biệt trong lĩnh vực thương mại điện tử

Khám phá và phân tích những thông tin hữu ích trên www bằng cách sử dụng

kỹ thuật khai phá dữ liệu đã trở thành một hướng quan trọng trong lĩnh vực khám phá

tri thức Khai phá dữ liệu 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 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 luôn thay đổi Khả năng gia tăng liên tục về số lượng người dùng, sự quan tâm tới 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 để có thể tìm kiếm được thông tin mà người dùng cần? Làm thế nào để có được những trang Web chất lượng cao?

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 kỹ thuật KPDL áp dụng trong môi trường Web Thứ nhất, ta sẽ quản lý các Website thật tốt; thứ hai, khai phá những nội dung mà người dùng quan tâm; thứ ba, sẽ thực hiện 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 những 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.3 Khó khăn

World Wide Web là một hệ thống rất lớn phân bố rộng khắp, cung cấp thông tin trên mọi lĩnh vực khoa học, xã hội, thương mại, văn hóa, Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đây cho thấy Web đã đưa ra những thách thức lớn cho công nghệ Khai phá dữ liệu

Trang 23

 Web dường như quá lớn để tổ chức thành kho dữ liệu phục vụ Dataming

Các CSDL truyền thống thì có kích thước không lớn lắm và thường được lưu trữ ở một nơi, trong khi đó kích thước Web rất lớn, tới hàng terabytes và thay đổi liên tục, không những thế còn phân tán trên rất nhiều máy tính khắp nơi trên thế giới Một vài nghiên cứu về kích thước của Web đã đưa ra các số liệu như sau: Hiện nay trên Internet có khoảng hơn một tỷ các trang Web được cung cấp cho người sử dụng., giả

sử kích thước trung bình của mỗi trang là 5-10Kb thì tổng kích thước của nó ít nhất là khoảng 10 terabyte Còn tỷ lệ tăng của các trang Web thì thật sự gây ấn tượng Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp tục tăng trong hai năm tới Nhiều tổ chức và xã hội đặt hầu hết những thông tin công cộng của họ lên Web Như vậy việc xây dựng một kho dữ liệu (datawarehouse) để lưu trữ, sao chép hay tích hợp các dữ liệu trên Web là gần như không thể

 Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn bản truyền thống khác

Các dữ liệu trong các CSDL truyền thống thì thường là loại dữ liệu đồng nhất (về ngôn ngữ, định dạng,…), còn dữ liệu Web thì hoàn toàn không đồng nhất Ví dụ về ngôn ngữ dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau (Cả ngôn ngữ diễn

tả nội dung lẫn ngôn ngữ lập trình), nhiều loại định dạng khác nhau (Text, HTML, PDF, hình ảnh âm thanh,…), nhiều loại từ vựng khác nhau (Địa chỉ Email, các liên kết (links), các mã nén (zipcode), số điện thoại) Nói cách khác, trang Web thiếu một cấu trúc thống nhất Chúng được coi như một thư viện kỹ thuật số rộng lớn, tuy nhiên con

số khổng lồ các tài liệu trong thư viện thì không được sắp xếp tuân theo một tiêu chuẩn đặc biệt nào, không theo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này

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

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

Web không chỉ có 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 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10 ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó không còn tồn tại nữa Tin tức, thị trường chứng khoán, các công ty quản cáo và trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ 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

 Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng

Internet hiện nay nối với khoảng 50 triệu trạm làm việc, và cộng đồng người dùng vẫn đang nhanh chóng lan rộng Mỗi người dùng có một kiến thức, mối quan

Trang 24

tâm, sở thích khác nhau Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ bị "lạc" khi đang

"mò mẫm" trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm mà chỉ nhận những mảng thông tin không mấy hữu ích

 Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích

Theo thống kê, 99% của thông tin Web là vô ích với 99% người dùng Web Trong khi những phần Web không được quan tâm lại bị búi vào kết quả nhận được trong khi tìm kiếm Vậy thì ta cần phải khai phá Web như thế nào để nhận được trang web chất lượng cao nhất theo tiêu chuẩn của người dùng? Như vậy chúng ta có thể thấy các điểm khác nhau giữa việc tìm kiếm trong một CSDL truyền thống với vviệc tìm kiếm trên Internet Những thách thức trên đã đẩy mạnh việc nghiên cứu khai phá

và sử dụng tài nguyên trên Internet

- Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry) cho mọi lần truy cập trang Web Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động Với những thông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấu trúc nên dựa trên CSDL Weblog Thực hiện phân tích OLAP đa chiều có thể đưa ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng thời gian nhiều người truy cập nhất, xu hướng truy cập Web

1.3.5 Các kiểu dữ liệu web

Ta có thể khái quát bằng sơ đồ sau:

Trang 25

Các đối tượng của khai phá Web bao gồm: Server 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ịch vụ sẽ phân ra 3 loại dữ liệu đăng nhập: sever logs, error logs, và cookie logs Thông qua việc phân tích các tài liệu đăng nhập này ta có thể khám phá ra những 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 structure: 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 rất 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

1.4 CÁC THÁCH THỨC TRONG KHAI PHÁ DỮ LIỆU

1.4.1 Các vấn đề về Cơ sở dữ liệu

Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô nhiều lúc không đầy đủ, lớn và bị nhiễu Ngoài ra, chúng ta không biết cơ sở dữ liệu có chứa các thông tin cần thiết cho việc khai thác hay không và làm thế nào để giải quyết với sự dư thừa những thông tin không thích hợp này

 Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường Hiện nay

đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấu mẫu, các phương pháp xấp xỉ, xử lý song song (Agrawal et al, Holsheimer et al)

Trang 26

 Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số các trường trong cơ

sở dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn hơn Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp

 Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Ví dụ trong cơ sở dữ liệu về tình trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác lại thay đổi liên tục theo thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy thuộc vào tình huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp đập của mạch) Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá trị Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi,

bị xóa hoặc là tăng lên theo thời gian Vấn đề này được giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi

 Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác Một khía cạnh khác đôi khi cũng liên quan đến độ phù hợp

là tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu Ví dụ trường số tài khoản Nostro không áp dụng cho các tác nhân

 Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ nghiêm trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép Các giá trị của các thuộc tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập các giá trị định danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúc ngữ nghĩa Mức độ nhiễu cao trong dữ liệu dẫn đến các dự đoán thiếu chính xác

1.4.2 Một số vấn đề khác

 Quá phù hợp (Overfitting)

Khi một giải thuật tìm kiếm các tham số tốt nhất cho đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giải pháp khắc phục bao gồm đánh giá chéo (cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác

Trang 27

 Đánh giá tầm quan trọng thống kê

Vấn đề (liên quan đến overfitting) xảy ra khi một hệ thống tìm kiếm qua nhiều

mô hình Ví dụ như nếu một hệ thống kiểm tra N mô hình ở mức độ quan trọng 0,001 thì với dữ liệu ngẫu nhiên trung bình sẽ có N/1000 mô hình được chấp nhận là quan trọng Để xử lý vấn đề này, ta có thể sử dụng phương pháp điều chỉnh thống kê trong kiểm tra như một hàm tìm kiếm, ví dụ như điều chỉnh Bonferroni đối với các kiểm tra độc lập

 Khả năng biểu đạt của mẫu

Trong rất nhiều ứng dụng, điều quan trọng là những điều khai thác được phải cáng dễ hiểu với con người càng tốt Vì vậy, các giải pháp thường bao gồm việc diễn

tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có hướng (Gaines), biểu diễn bằng ngôn ngữ tự nhiên (Matheus et al.) và các kỹ thuật khác nhằm biểu diễn tri thức và dữ liệu

 Sự tương tác với người sử dụng và các tri thức sẵn có

Rất nhiều công cụ và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc

sử dụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn

1.5 PHÂN CỤM DỮ LIỆU

1.5.1 Giới thiệu bài toán

Phân cụm dữ liệu (PCDL) hay còn gọi là phân tích cụm, phân tích đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương tự nhau Một cụm là một tập hợp các đối tượng dữ liệu mà chúng giống các phần tử khác trong cụm đó nhất và khác các phần tử trong các cụm khác nhiều nhất

Phép phân tích cụm được dùng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng, phép phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường, … Bằng phân cụm có thể nhận biết các vùng đông đúc và thưa thớt, bởi vậy tìm ra các mẫu phân bố và các tương quan thú vị giữa các thuộc tính dữ liệu Trong kinh doanh, phân cụm có thể giúp cho các nhà nghiên cứu thị trường tìm ra các nhóm riêng biệt dựa trên khách hàng của

họ và mô tả các nhóm khách hàng dựa trên các mẫu mua sắm Trong sinh vật học, nó

có thể được dùng để có được các nguyên tắc phân loại thực vật và động vật, phân loại gen theo chức năng giống nhau và có sự hiểu biết thấu đáo các cấu trúc kế thừa trong

Trang 28

các mẫu Nó có thể giúp cho việc phân loại dữ liệu trên WWW để khai thác thông tin Như một hàm khai phá dữ liệu, phép phân tích cụm được dùng độc lập để có thể nhìn thấu được bên trong sự phân bố dữ liệu, để quan sát các đặc điểm của mỗi cụm và tập trung trên một tập đặc biệt các cụm cho phép phân tích xa hơn Tiếp theo, nó phục vụ như là một bước tiền xử lý cho các giải thuật khác như phân loại và mô tả, thao tác trên các cụm đã tìm được

Phân cụm dữ liệu là một môn khoa học đang phát triển mạnh mẽ Có một số lượng lớn các bài báo nghiên cứu trong nhiều hội nghị, hầu hết trong các lĩnh vực của khai phá dữ liệu: thống kê, học máy, cơ sở dữ liệu không gian, sinh vật học, kinh doanh, … với tầm quan trọng và các kỹ thuật khác nhau Do số lượng lớn các dữ liệu

đã thu thập trong cơ sở dữ liệu nên phép phân tích cụm gần đây trở thành một chủ đề rất được quan tâm trong nghiên cứu khai phá dữ liệu

Như là một nhánh của thống kê, phép phân tích cụm được nghiên cứu mở rộng

đã nhiều năm, tập trung chính trên phép phân tích cụm dựa trên khoảng cách

Trong khai phá dữ liệu, người ta thường nghiên cứu các phương pháp để phép phân tích cụm ngày càng hiệu quả trong các cơ sở dữ liệu lớn Các chủ đề tích cực của nghiên cứu tập trung trên khả năng mở rộng của các phương pháp phân cụm, hiệu quả của các phương pháp phân cụm dữ liệu có hình dạng và kiểu phức tạp, các kỹ thuật phân cụm cho dữ liệu với số chiều cao và các phương pháp phân cụm có sự pha trộn của dữ liệu số và dữ liệu xác thực trong các cơ sở dữ liệu lớn

Phân cụm dữ liệu đang là vấn đề mở và khó vì người ta cần phải đi 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

+ Phân loại các kiểu dữ liệu

- Phân loại các 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ị của nó là vô hạn không đếm được, nghĩa là

giữa hai giá trị tồn tại vô số giá trị khác Thí dụ như các thuộc tính về màu, nhiệt độ hoặc cường độ âm thanh

Trang 29

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

dụ như các thuộc tính về số serial của một cuốn sách, số thành viên trong một gia đình,…

Lớp các thuộc tính nhị phân: là trường hợp đặc biệt của thuộc tính rời rạc mà

miền giá trị của nó chỉ có 2 phần tử được diễn tả như: Yes/No hoặc Nam/Nữ, False/true,…

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

Giả sử ta có hai đối tượng x, y và các thuộc tính xi, yi tương ứng với thuộc tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau:

Thuộc tính định danh: Dạng thuộc tính khái quát hoá 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ự và có nhiều 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 hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì ta nói x cách y một khoảng |xi –yi| tương ứng với thuộc tính thứ i

Thuộc tính tỉ lệ: Là thuộc tính khoảng nhưng được xác định một cách tương đối

so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc cân nặng lấy giá trị 0 làm mốc

Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính

có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeric)

+ Độ đo tương tự và phi tương tự

Để phân cụm dữ liệu, cần phải có phép đo thích hợp để xác định "khoảng cách" giữa các đối tượng (phép đo độ tương tự dữ liệu) Đây là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự (similar) hoặc là tính độ phi tương tự (dissimilar) giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự Độ tương tự hoặc độ phi tương tự có nhiều cách để xác định, chúng thường được đo bằng khoảng cách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc tính mà ta phân tích

Tất cả các độ đo dưới đây được xác định trong không gian độ đo metric Một không gian metric là một tập trong đó có xác định các "khoảng cách" giữa từng cặp

Trang 30

phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X gồm các đối tượng dữ liệu trong CSDL D gọi là một không gian metric nếu với mỗi cặp phần tử x, y thuộc X đều xác định một số thực d(x,y), được gọi là khoảng cách giữa x và y thoả mãn hệ tính chất sau:

(i) d(x, y) > 0 nếu x ≠ y;

(ii) d(x,y) = 0 khi và chỉ khi x = y;

(iii) d(x, y) = d(y, x) với mọi x, y;

(iv) d(x, y) ≤ d(x, z)+ d(z,y)

Hàm d(x, y) được gọi là khoảng cách hay một metric của không gian Cặp (X, d) được gọi là một không gian metric

Thuộc tính khoảng: Sau khi chuẩn hoá, độ đo phi tương tự của hai đối tượng dữ

liệu x, y được xác định bằng các metric như sau:

Khoảng cách Minskowski:

n

n y x y

x y

x y

|

|

| (|

) ,

2 2

2 1

x y

|

|

|

| ) , ( x y x1 y1 x2 y2 xn yn

) , ( x y Max x1 y1 x2 y2 xn yn

( khoảng cách Minskowski trong trường hợp q∞)

Thuộc tính nhị phân: Xây dựng bảng tham số cho hai đối tượng dữ liệu x, y như

Trang 31

Trong đó:

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

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

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

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

0, như vậy các thuộc tính nhị phân ở đây là không đối xứng

Thuộc tính định danh: Độ đo phi tương tự giữa hai đối tượng x và y được định

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

Thuộc tính có thứ tự: Phép đo độ phi tương tự giữa các đối tượng dữ liệu với

thuộc tính thứ tự được thực hiện như sau, ở đây ta giả sử i là thuộc tính thứ tự có Migiá trị (Mi kích thước miền giá trị): Các trạng thái Mi được sắp thứ tự như sau: [1…Mi], ta có thể thay thế mỗi giá trị của thuộc tính bằng giá trị cùng loại ri, với ri

{1,…,Mi} Mỗi một thuộc tính thứ tự có các miền giá trị khác nhau, vì vậy ta chuyển đổi chúng về cùng miền giá trị [0,1] bằng cách thực hiện phép biến đổi sau cho mỗi thuộc tính:

1

1

) ( ) (

r

Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các giá trị zi(j), đây cũng chính là độ phi tương tự của thuộc tính có thứ tự

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

tính tỉ lệ Một trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính

xi, thí dụ qi = log(xi), lúc này qi đóng vai trò như thuộc tính khoảng Phép biến đổi logarit này thích hợp trong trường hợp các giá trị của thuộc tính là số mũ

Một độ đo độ tương tự hay được dùng, đặc biệt là trong phân cụm tài liệu đó là

độ đo cosine:

y x

xy y

x, )cos(

p d a y x

d( , ) 

c b a

a y

x d

),(

p m

p y x

d( , ) 

Trang 32

Tuỳ từng trường hợp dữ liệu cụ thể mà người ta sử dụng các mô hình tính độ tương tự khác nhau Việc xác định độ tương tự dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quan trọng và góp phần xây dựng thuật toán phân cụm dữ liệu có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán của thuật toán

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

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

nhiều cách tiếp cận khác nhau, nhưng chúng đều hướng đến mục tiêu là chất lượng của các cụm và tốc độ phân cụm Các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính như sau:

Phương pháp phân cụm phân hoạch: Cho trước một cơ sở dữ liệu với n đối

tượng hay các bộ dữ liệu, một phương pháp phân hoạch được xây dựng để chia dữ liệu thành k phần, mỗi phần đại diện cho một cụm, k ≤ n Đó là phân loại dữ liệu vào k nhóm, chúng thỏa các yêu cầu sau:

 Mỗi nhóm phải chứa ít nhất một đối tượng;

 Mỗi đối tượng phải thuộc về chính xác một nhóm

Cho trước k là số lượng các phân hoạch cần xây dựng, phương pháp phân hoạch tạo lập phép phân hoạch ban đầu Sau đó nó dùng kỹ thuật lặp lại việc định vị,

kỹ thuật này cố gắng cải thiện sự phân hoạch bằng cách gỡ bỏ các đối tượng từ nhóm này sang nhóm khác Tiêu chuẩn chung của một phân hoạch tốt là các đối tượng trong cùng cụm là "gần" hay có quan hệ với nhau, ngược lại, các đối tượng của các cụm khác nhau lại "tách xa" hay rất khác nhau Có nhiều tiêu chuẩn khác nhau để đánh giá chất lượng các phép phân hoạch Trong phân cụm dựa trên phép phân hoạch, hầu hết các ứng dụng làm theo một trong hai phương pháp heuristic phổ biến:

(1) Giải thuật k-means với mỗi cụm được đại diện bởi giá trị trung bình của các đối tượng trong cụm;

(2) Giải thuật k-medoids với mỗi cụm được đại diện bởi một trong số các đối tượng định vị gần tâm của cụm Các phương pháp phân cụm heuristic này làm việc tốt khi tìm kiếm các cụm có hình cầu trong các cơ sở dữ liệu có kích thước từ nhỏ tới trung bình Ngoài ra, các phương pháp này cũng phụ thuộc vào việc tính khoảng cách giữa các mẫu, cách xác định quan hệ giữa các mẫu Trong phương pháp phân cụm phân hoạch mỗi phần tử chỉ thuộc về một cụm và mỗi cụm phải có ít nhất một phần tử Các thuật toán phân cụm dữ liệu có độ phức tạp rất lớn, 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ộ 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 quá trình tìm kiếm phân hoạch dữ liệu Để tìm ra các cụm với các hình dạng phức tạp và phân cụm cho các tập

dữ liệu rất lớn, các phương pháp dựa trên phân hoạch cần được mở rộng

Trang 33

Phương pháp phân cụm phân cấp: Là kỹ thuật sắp xếp một tập dữ liệu đã cho

thành một cấu trúc có hình dạng cây, cây phân cấp được xây dựng theo kỹ thuật đệ quy Cây phân cụm này có thể được xây dựng theo hai phương pháp: Phương pháp từ trên xuống và phương pháp từ dưới lên Phương pháp từ dưới lên thực hiện bắt đầu từ các đối tượng riêng biệt đượ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ự, quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm hoặc cho đến khi điều kiện kết thúc được thỏa mãn, cách tiếp cận này sử dụng chiến lược tham ăn để phân cụm Phương pháp từ trên xuống bắt đầu với trạng thái 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 thì một cụm được tách ra thành nhiều cụm nhỏ hơn theo giá trị của một phép đo độ tương tự cho đến khi mỗi đối tượng là một cụm hoặc cho đến khi điều kiện kết thúc được thỏa mãn, cách tiếp cận này sử dụng chiến lược chia để trị để thực hiện phân cụm Một số thuật toán phân cụm phân cấp điển hình như CURE, BIRCH, …

Phương pháp phân cụm dựa trên mật độ: Phương pháp này thực hiện việc

nhóm các đối tượng theo hàm mật độ xác định Mật độ ở đây được hiểu là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm dữ liệu đã được xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của đối tượng này phải lớn hơn ngưỡng đã xác định Phương pháp này có thể phát hiện ra các cụm dữ liệu có hình thù bất kỳ, tuy nhiên việc xác định các tham số mật độ của thuật toán là một việc rất khó khăn trong khi các tham số mật độ lại là yếu tố quyết định đến kết quả phân cụm

DBSCAN là một phương pháp dựa trên mật độ điển hình, nó tăng trưởng các cụm theo một ngưỡng mật độ OPTICS là một phương pháp dựa trên mật độ, nó tính toán một thứ tự phân cụm tăng dần cho phép phân tích cụm tự động và tương tác.DENCLUE là một phương pháp phân cụm dựa trên các hàm phân bố mật độ

Phương pháp phân cụm dựa trên lưới: Kỹ thuật phân cụm dựa trên mật độ

không thích hợp với các dữ liệu nhiều chiều, để giải quyết vấn đề này người ta sử dụng phương pháp phân cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để phân cụm dữ liệu, phương pháp này tập trung áp dụng cho các dữ liệu không gian Mục tiêu của phương pháp phân cụm này là lượng hóa tập dữ liệu thành các ô, các ô này tạo thành cấu trúc dữ liệu lưới, sau đó thực hiện phân cụm dữ liệu đối với các đối tượng trong các ô này Ưu điểm của phương pháp này là thời gian xử lý nhanh

và độc lập với số các đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều không gian của lưới

Trang 34

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

hình cố gắng thực hiện khớp giữa dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình có hai tiếp cận chính là Mô hình thống kê và Mạng nơron Phương pháp này gần giống với phương pháp dựa trên mật độ bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó

Phương pháp phân cụm có dữ liệu ràng buộc: Sự phát triển của phân cụm dữ

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

Phương pháp phân cụm dựa trên phân hoạch đồ thị: Trong thực tế các dữ liệu

có liên quan với nhau và kết hợp với nhau tạo thành một mạng hay ta còn gọi là một

đồ thị (đồ thị có thể có hướng, vô hướng, có trọng số hay không có trọng số) Có rất nhiều thuật toán phân cụm dựa trên đồ thị đem lại hiệu quả phân cụm rất tốt, ưu điểm của các thuật toán này là người dùng không phải nhập vào số cụm K (đây là nhược điểm lớn nhất của các thuật toán phân cụm trong khai phá dữ liệu), số cụm K hoàn toàn được xác định dựa theo các kết nối tự nhiên trong đồ thị Thuật toán điển hình trong phân hoạch đồ thị là thuật toán Markov Cluster

Phương pháp phân cụm dữ liệu mờ: Thông thường, mỗi phương pháp phân

cụm dữ liệu phân một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau Tuy nhiên, trong thực tế, các cụm dữ liệu lại có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau, người ta đã áp dụng lý thuyết về tập mờ trong phân cụm dữ liệu để giải quyết cho trường hợp này, cách thức kết hợp này được gọi là phân cụm

mờ Trong phương pháp phân cụm mờ, độ phụ thuộc của đối tượng dữ liệu xk tới cụm thứ i (uik) có giá trị thuộc đoạn [0,1] Ý tưởng trên đã được giới thiệu bởi Ruspini (1969) và được Dunn áp dụng năm 1973 nhằm xây dựng một phương pháp phân cụm

mờ dựa trên tối thiểu hoá hàm mục tiêu Bezdek (1982) đã tổng quát hoá phương pháp này và xây dựng thành thuật toán phân cụm mờ c-means có sử dụng trọng số mũ

Trang 35

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

Thuật toán K-means:

Giải thuật k-means lấy tham số đầu vào k và phân hoạch một tập n đối tượng vào trong k cụm để cho kết quả độ tương đồng trong cụm là cao trong khi độ tương đồng ngoài cụm là thấp Độ tương đồng cụm được đo khi đánh giá giá trị trung bình của các đối tượng trong cụm, nó có thể được quan sát như là "trọng tâm" của cụm

Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng đại diện cho một trung bình cụm hay tâm cụm Đối với những đối tượng còn lại, một đối tượng được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách giữa đối tượng và trung bình cụm Sau đó cần tính giá trị trung bình mới cho mỗi cụm

Xử lý này được lặp lại cho tới khi hàm tiêu chuẩn hội tụ Bình phương sai số tiêu chuẩn thường được dùng, định nghĩa như sau:

Ci (cả x và mi đều là nhiều chiều) Tiêu chuẩn này cố gắng cho kết quả k cụm càng đặc, càng riêng biệt càng tốt

Giải thuật xác định k phần phân hoạch thoả mãn tối thiểu hoá bình phương hàm sai số Nó làm việc tốt khi các cụm là các đám mây đặc tách biệt so với những cụm khác Phương pháp này có thể mở rộng có hiệu quả khi xử lý các tập dữ liệu lớn bởi độ phức tạp tính toán của giải thuật là O(nkt), với n là số đối tượng, k là số cụm, t là số lần lặp, thông thường k << n và t << n Phương pháp thường kết thúc tại một điểm tối

ưu cục bộ

Thuật toán K-means bao gồm các bước cơ bản như sau:

Input: Số cụm k và một cơ sở dữ liệu chứa n đối tượng

Output: Một tập k cụm - cụm tối thiểu hoá bình phương sai số tiêu chuẩn

5 Until không có sự thay đổi nào;

Ưu điểm: Độ phức tạp của thuật toán nhỏ O(nKt)

Trang 36

Nhược điểm: Thuật toán không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp, không khắc phục được nhiễu và giá trị k phải được nhập vào bởi người dùng

Thuật toán K-Medoids:

Thuật toán K-Medoids có khả năng khắc phục được những nhiễu bằng cách chọn đối tượng ở gần tâm cụm nhất làm đại diện cho cụm đó

Giải thuật k-medoids bao gồm các bước cơ bản như sau:

Input: Số cụm k và một cơ sở dữ liệu chứa n đối tượng

Output: Một tập k cụm đã tối thiểu hoá tổng các độ đo không tương đồng của tất cả các đối tượng tới medoid gần nhất của chúng

Giải thuật:

1 Chọn tuỳ ý k đối tượng giữ vai trò là các medoid ban đầu;

2 Repeat

3 Ấn định mỗi đối tượng vào cụm có medoid gần nó nhất;

4 Tính hàm mục tiêu - là tổng các độ đo không tương đồng của tất cả các đối tượng tới medoid gần nhất của chúng;

5 Đổi medoid x bằng một đối tượng y nếu như việc thay đổi này làm giảm hàm mục tiêu;

6 Until không có sự thay đổi nào;

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 nhưng so với K-means thì K-Medoids có độ phức tạp tính toán lớn hơn Cả hai thuật toán trên đều có nhược điểm là số lượng cụm K phải xác định trước

Thuật toán CURE:

Hầu hết các giải thuật phân cụm hoặc là có ưu đãi các cụm có dạng hình cầu và kích thước giống nhau, hoặc là rất mong manh với sự hiện diện của các outlier Một phương pháp thú vị gọi là CURE (Clustering Using REpresentatives) (Guha, Rastogi

và Shim 1998), tích hợp các giải thuật phân chia và phân cấp, khắc phục vấn đề ưu đãi các cụm có dạng hình cầu và kích thước giống nhau CURE cung cấp một giải thuật phân cụm phân cấp mới lạ theo vị trí giữa (middle ground) giữa việc dựa trên trọng tâm và tất cả các cực điểm Thay vì sử dụng một trọng tâm đơn đại diện một cụm, CURE ấn định một số lượng các điểm đại diện được lựa chọn để miêu tả một cụm Các điểm đại diện này được sinh ra bằng cách trước tiên lựa chọn các điểm rải rác đều trong cụm, sau đó co chúng lại về phía tâm cụm bởi một phân số (hệ số co) Các cụm với cặp các điểm đại diện gần nhất sẽ được hoà nhập tại mỗi bước của giải thuật Mỗi cụm có hơn một điểm đại diện cho phép CURE điểu chỉnh tốt hình học của các hình không phải hình cầu Việc co lại giúp làm giảm đi hiệu quả của các outlier Bởi vậy,

Trang 37

CURE thực sự mạnh hơn đối với các outlier và nhận biết các cụm không có dạng hình cầu với kích thước khác nhau nhiều

Để vận dụng các cơ sở dữ liệu lớn, CURE dùng kết hợp lấy mẫu và phân chia ngẫu nhiên: Một mẫu ngẫu nhiên trước tiên được phân chia và mỗi phân chia được phân cụm cục bộ Các cụm cục bộ sau đó được phân cụm lần thứ hai để có được các cụm mong muốn

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

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

2 Phân hoạch mẫu S này thành các nhóm dữ liệu có kích thước bằng nhau

3 Tiến hành phân cụm riêng rẽ cho mỗi nhóm

4 Loại bỏ các đối tượng ngoại lai bằng việc lấy mẫu ngẫu nhiên Nếu một cụm tăng trưởng quá chậm thì loại bỏ cả cụm đó

5 Phân cụm cho các cụm riêng biệt: Các đối tượng đai diện được di chuyển về phía tâm cụm mới hình thành Các đối tượng này sẽ mô tả hình dạng của cụm đó

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

Ưu điểm: Bằng cách sử dụng các đại diện cho cụm, CURE có khả năng khám phá được các cụm có hình thù và kích thước bất kỳ Việc co các đối tượng đại diện có tác dụng làm giảm tác động của các đối tượng ngoại lai Tốc độ thực hiện của CURE nhanh, độ phức tạp chỉ là O(n)

Nhược điểm: CURE dễ bị ảnh hưởng bởi các tham số cho bởi người dùng như

cỡ mẫu, số cụm mong muốn

Thuật toán DBSCAN [9]:

Thuật toán DBSCAN (Density - Based Spatial Clustering of Applications with noise) 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 Một cụm được xác định bằng tập tất cả các đối tượng liên thông mật độ với các láng giềng của nó Thuật toán DBSCAN dựa trên các khái niệm mật độ có thể áp dụng cho các tập dữ liệu không gian lớn đa chiều Sau đây là một số định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN

Định nghĩa 1.1: Các lân cận của điểm P với ngưỡng Eps, kí‎ hiệu NEps (p) được xác định như sau: NEps (p) = {p  D | khoảng cách Dist(p,q)Eps},D là tập dữ liệu cho

trước

Trang 38

p Eps

Hình 1.2 Lân cận của P với ngưỡng Eps

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

Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thoả 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 thoả 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, ta 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 trong NEps (q) phải lớn hơn số điểm tối thiểu Điều này có thể được định nghĩa một cách hình thức như sau:

Định nghĩa 1.2: Mật độ đến được trực tiếp (Directly Density - reachable)

Một điểm p được gọi là mật độ đến được trực tiếp từ điểm q với ngưỡng Eps và MinPts trong tập đối tượng D nếu:

1) p NEps (q), với NEps(q) là tập con của D

2) ||NEps (q)|| ≥ MinPts, đ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 đối 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

Hình 1.3 Mật độ - đến được trực tiếp

Ngày đăng: 28/03/2021, 22:59

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w