1. Trang chủ
  2. » Công Nghệ Thông Tin

Xử lý văn bản tiếng việt theo mô hình tập thô dung sai

118 326 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 118
Dung lượng 2,7 MB

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

Nội dung

Để quá trình khai phá dữ liệu được diễn ra thuận lợi, dữ liệu cần được tổ chức theo một cách thức nào đó và áp dụng các phương pháp phù hợp với mỗi cách tổ chức này và phù hợp với bản c

Trang 1

bộ giáo dục và đào tạo trường đại học bách khoa hà nội

Trang 2

bộ giáo dục và đào tạo trường đại học bách khoa hà nội

-

luận văn thạc sĩ khoa học

Xử Lý VĂN BảN TIếNG VIệT THEO MÔ HìNH TậP THÔ DUNG SAI

Trang 3

LỜI CAM ĐOAN

Tôi – Trần Quang – cam đoan Luận văn này là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS.Nguyễn Ngọc Bình

Các kết quả nêu trong Luận văn là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác

Hà Nội, ngày tháng năm Tác giả Luận văn

Trần Quang

Trang 4

MỤC LỤC

DANH MỤC CÁC THUẬT NGỮ 5

DANH MỤC CÁC BẢNG 6

DANH MỤC CÁC HÌNH 7

LỜI NÓI ĐẦU 8

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

1.1 Khai phá dữ liệu – Data Mining 9

1.2 Tiền xử lý dữ liệu 12

1.3 Phân lớp và dự báo – Classification and Prediction 12

1.3.1 Giới thiệu 12

1.3.2 Support Vector Machines 15

1.3.2.1 SVMs với dữ liệu khả tách tuyến tính (linearly separable) 16

1.3.2.2 SVMs với dữ liệu không khả tách tuyến tính (linearly inseparable) 20

1.4 Phân nhóm dữ liệu 22

1.4.1 Giới thiệu 22

1.4.2 Phân loại các phương pháp Clustering 24

1.4.3 Một số phương pháp Clustering 27

1.5 Các ứng dụng và xu hướng trong khai phá dữ liệu 31

Chương 2 Tập thô và ứng dụng 34

2.1 Lý thuyết tập thô 34

2.1.1 Hệ thông tin 35

2.1.2 Quan hệ bất khả phân 37

2.1.3 Xấp xỉ tập hợp 38

2.1.4 Thành viên thô – Rough Membership 42

2.1.5 Phụ thuộc giữa các thuộc tính 43

2.1.6 Rút gọn thuộc tính 44

2.1.7 Ma trận phân biệt được và hàm phân biệt được 50

2.1.8 Sự quan trọng của các thuộc tính và các rút gọn xấp xỉ 53

2.2 Các ứng dụng của tập thô 56

2.3 Mô hình tập thô dung sai 57

Chương 3 Một số kỹ thuật trong khai phá dữ liệu văn bản 60

3.1 Các mô hình biểu diễn văn bản 60

3.1.1 Mô hình không gian vector – Vector Space Model 60

3.1.1.1 Document Indexing 61

3.1.1.2 Feature Weighting 63

3.1.1.3 Similarity Coefficients 64

3.1.2 Mô hình tập mờ - Fuzzy Set Model 65

3.1.2.1 Lý thuyết tập mờ 65

3.1.2.2 Biểu diễn văn bản dựa trên khái niệm mờ 66

3.1.3 Mô hình xác suất – Probabilistic Model 68

3.2 Công thức xác định hiệu năng xử lý văn bản 71

3.3 Phân nhóm văn bản – Text Clustering 72

3.3.1 Giới thiệu 72

3.3.2 Các ứng dụng của lập nhóm văn bản 73

3.4 Phân loại văn bản – Text Classification 73

3.4.1 Giới thiệu bài toán phân loại văn bản 73

3.4.1.1 Tổng quan phân loại văn bản 73

3.4.1.2 Nền tảng học máy trong bài toán phân loại văn bản 74

3.4.2 Một số phương pháp phân loại văn bản 76

3.4.2.1 Decision Tree 76

3.4.2.2 K - Nearnest Neighbor 76

Trang 5

3.4.2.3 Nạve Bayes 78

3.4.2.4 Support Vector Machines 80

3.5 Tĩm tắt văn bản – Text Summarization 81

3.6 Phát hiện xu hướng văn bản – Text Trend Detection 81

3.7 Tìm kiếm văn bản – Text Retrieval 81

Chương 4 Mơ hình tập thơ dung sai trong xử lý cơ sở dữ liệu văn bản 83

4.1 Bộ khung của hệ thống khai phá dữ liệu văn bản dựa trên mơ hình TRSM 83

4.2 Xử lý văn bản tiếng Anh 85

4.2.1 Mơ hình tập thơ dung sai trong biểu diễn văn bản 85

4.2.2 Nonhierarchical Document Clustering dựa trên mơ hình tập thơ dung sai 87

4.2.2.1 Giải thuật 87

4.2.2.2 Biểu diễn cluster – cluster representation 88

4.2.2.3 Độ tương tự giữa các tài liệu và giữa các biểu diễn cluster 90

4.2.3 Hierarchical Document Clustering dựa trên mơ hình tập thơ dung sai 91

4.3 Xử lý văn bản tiếng Việt 92

4.3.1 Một số vấn đề chung trong xử lý văn bản Tiếng Việt 92

4.3.1.1 Một số đặc trưng của Tiếng Việt 92

4.3.1.2 Các bước tiền xử lý văn bản 94

4.3.1.3 Một số phương pháp tách thuật ngữ trong văn bản Tiếng Việt 95

4.3.1.4 Một số kỹ thuật giảm chiều văn bản 98

4.3.1.4.1 Loại bỏ từ dừng 98

4.3.1.4.2 Lựa chọn tập đặc trưng cho khơng gian văn bản 99

4.3.2 Áp dụng mơ hình TRSM để xử lý vấn đề đồng nghĩa, trái nghĩa trong Tiếng Việt 100

4.3.2.1 Đặt vấn đề 100

4.3.2.2 Đặc trưng tần suất của các thuật ngữ và các lân cận 101

4.3.2.3 Cài đặt thử nghiệm 102

Chương 5 Kết luận và hướng phát triển 110

TÀI LIỆU THAM KHẢO 114

TĨM TẮT LUẬN VĂN 116

ABSTRACT OF THESIS 117

Trang 6

DANH MỤC CÁC THUẬT NGỮ

STT Từ viết tắt Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt

3 EM Expectation Maximization Một phương pháp clustering

4 ERSM Equivalence Rough Sets Model Mô hình tập thô tương đương

5 IDF Inverse Document Frequency Mô hình nghịch đảo tần số văn bản

Databases Khai phá tri thức trong cơ sở dữ liệu

7 KE Keyword Extraction Bài toán trích trọn từ khoá

8 K-NN K- Nearest Neighbour K láng giềng gần nhất

10 MMH Maximum Marginal Hyperplane Siêu phẳng lề cực đại

11 RSM Rough Sets Model Mô hình tập thô

12 SVMs Support Vector Machines Máy vector hỗ trợ

13 TF Term Frequency Mô hình tần số thuật ngữ

14 TRSM Tolerance Rough Sets Model Mô hình tập thô dung sai

15 TSR Term Space Reduction Giảm không gian thuật ngữ

16 VSM Vector Space Model Mô hình không gian vector

Trang 7

DANH MỤC CÁC BẢNG

Bảng 2.1: ví dụ về hệ thông tin 36

Bảng 2.2: Walk – ví dụ về bảng quyết định 36

Bảng 2.3: Ví dụ bảng thông tin có thuộc tính dư thừa 44

Bảng 2.4: Bảng dữ liệu thu được bằng cách loại bỏ cột thuộc tính Muscle-pain 47

Bảng 2.5: Bảng dữ liệu thu được bằng cách loại bỏ cột thuộc tính Headache 48

Bảng 2.6: đơn giản hóa Bảng 2.4 49

Bảng 2.7: Đơn giản hóa bảng 2.5 49

Bảng 3.1: Ví dụ phân loại theo số đông 77

Bảng 3.2: Ví dụ lỗi khi phân loại theo số đông .78

Bảng 4.1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ 100

Trang 8

DANH MỤC CÁC HÌNH

Hình 1.1: Data mining – tìm kiếm tri thức trong dữ liệu 9

Hình 1.2: Data mining là một bước trong quá trình phát hiện tri thức 10

Hình 1.3: Dữ liệu 2-D khả tách tuyến tính 16

Hình 1.4: Ví dụ về siêu phẳng cùng với lề tương ứng 17

Hình 1.5: Support vectors 18

Hình 1.6: Dữ liệu không khả tách tuyến tính 20

Hình 1.7: Clustering dựa trên giải thuật k-means 28

Hình 1.8: Mỗi cluster được biểu diễn bởi một phân bố xác suất 29

Hình 2.1: Minh họa tập xấp xỉ trên, xấp xỉ dưới 39

Hình 2.2: Xấp xỉ tập đối tượng bằng các thuộc tính điều kiện Age và LEMS 40

Hình 2.3: Lớp các từ phủ lên nhau 58

Hình 3.1: Ma trận tài liệu-thuật ngữ 62

Hình 3.2: Minh họa cách tính precision và recall 71

Hình 3.3: Minh hoạ giải thuật KNN láng giềng gần nhất với K = 5 .77

Hình 4.1: Bộ khung hệ thống khai phá dữ liệu dựa trên mô hình TRSM 83

Hình 4.2: Giải thuật hierarchical agglomerative clustering dựa trên mô hình TRSM 91

Hình 4.5: Ví dụ tình huống nhập nhằng trong đồ thị phân tách câu 97

Hình 4.6: Các bước của chương trình 103

Trang 9

LỜI NÓI ĐẦU

Hàng ngày chúng ta tiếp xúc với rất nhiều các loại dữ liệu khác nhau: âm thanh, hình ảnh, các dữ liệu số, các dữ liệu lưu dưới dạng các tài liệu… Các dữ liệu ít nhiều đều

ẩn chứa bên trong một phần tri thức nào đó mà ta chưa biết Khi các dữ liệu trở nên nhiều hơn mà ta không thể kiểm soát nó dưới dạng liệt kê ra được thì trong đó sẽ ẩn chứa một lượng tri thức lớn và cần có các phương pháp để tự động nhận biết ra các quy luật, các tri thức đang ẩn chứa để phục vụ cho lợi ích của chúng ta Khai phá dữ liệu là bài toán tìm ra tri thức ẩn chứa bên trong một tập dữ liệu lớn và đã có nhiều phương pháp, nhiều hướng tiếp cận khác nhau cho bài toán này, chẳng hạn sử dụng lý thuyết tập thô, lý thuyết tập mờ,

lý thuyết xác suất, học máy… Trong luận văn này tác giả sẽ sử dụng hướng tiếp cận mô hình tập thô dung sai cho bài toán khai phá dữ liệu văn bản nhằm giải quyết vấn đề đồng nghĩa, trái nghĩa trong văn bản tiếng Việt Trong quá trình nghiên cứu, tác giả nhận thấy hướng tiếp cận này có rất nhiều ứng dụng thiết thực khác cũng như một số vấn đề lý thuyết liên quan khác Tuy nhiên, do hạn chế về mặt thời gian, tác giả chỉ nêu ra các ứng dụng, các bài toán liên quan đó như là những hướng phát triển khả thi mà thôi

Về mặt bố cục, luận văn gồm năm chương với nội dung chính như sau:

Chương 1: Trình bày tổng quan về lĩnh vực phát hiện tri thức và khai phá dữ liệu cũng như

các bài toán, các phương pháp điển hình thường được sử dụng Các ứng dụng và xu hướng trong lĩnh vực này

Chương 2: Trình bày về lý thuyết tập thô và các ứng dụng của nó, đặc biệt là trong lĩnh

vực khai phá dữ liệu đã trình bày ở chương 1 Mô hình tập thô dung sai (TRSM) cũng được trình bày ở đây, mô hình biểu diễn văn bản này sẽ được sử dụng trong Chương 4

Chương 3: Trình bày một số kỹ thuật trong xử lý văn bản và các mô hình biểu diễn văn

bản Các bài toán, các phương pháp được trình bày tổng quan trong chương 1 sẽ được sử

dụng ở đây với dữ liệu cụ thể là dữ liệu văn bản

Chương 4: Mô hình tập thô dung sai trong xử lý cơ sở dữ liệu văn bản nói chung và văn

bản tiếng Việt nói riêng Áp dụng thực tế để xử lý vấn đề đông nghĩa, trái nghĩa trong tiếng Việt

Chương 5: Trình bày các kết luận, các hạn chế của luận văn và đề xuất các hướng phát

triển trong tương lai

Trang 10

Chương 1

Tổng quan về khai phá dữ liệu

1.1 Khai phá dữ liệu – Data Mining

Khai phá dữ liệu[1] là quá trình trích rút các thông tin ẩn chứa trong các kho

dữ liệu lớn, đôi khi còn được gọi là khai phá tri thức từ dữ liệu (knowledge mining from data) Có nhiều thuật ngữ khác có nghĩa tương đồng hoặc khác biệt đôi chút với thuật ngữ Data Mining, chẳng hạn knowledge mining from data, knowledge extraction, data/pattern analysis, data archaeology, data dredging

Hình 1.1: Data mining – tìm kiếm tri thức trong dữ liệu

Nội dung chính sẽ trình bày:

• Các khái niệm cơ bản trong khai phá dữ liệu

• Một số kỹ thuật trong khai phá dữ liệu

• Các ứng dụng và xu hướng trong khai phá dữ liệu

Trang 11

Nhiều người đã xem Data mining là đồng nghĩa với thuật ngữ tương đối phổ biến Knowledge Discovery from Data – KDD, đó là một bước quan trọng trong toàn bộ

quy trình phát hiện tri thức, quy trình này bao gồm các bước như sau:

Hình 1.2: Data mining là một bước trong quá trình phát hiện tri thức

1 Làm sạch dữ liệu (Data cleaning): loại bỏ nhiễu và các dữ liệu không

đồng nhất

2 Tích hợp dữ liệu (Data integration): tích hợp dữ liệu từ các nguồn khác

nhau

Trang 12

3 Lựa chọn dữ liệu (Data selection): các dữ liệu liên quan tới nhiệm vụ

phân tích được thu thập từ cơ sở dữ liệu

4 Chuyển đổi dữ liệu (Data transformation): dữ liệu được chuyển đổi hoặc

hợp nhất thành các dạng phù hợp với quá trình khai phá, chẳng hạn bằng cách thực hiện các thao tác tổng kết hoặc tụ tập

5 Khai phá dữ liệu (Data mining): là một quá trình cốt lõi trong đó các

phương pháp thông minh được áp dụng để trích rút các mẫu dữ liệu

6 Ước lượng mẫu (Pattern evaluation): xác minh tính chân thực của các

mẫu biểu diễn tri thức dựa vào một số phương pháp tiêu chuẩn

7 Biểu diễn tri thức (Knowledge presentation): các kỹ thuật liên quan đến

trực quan hóa và biểu diễn tri thức được áp dụng để trình diễn tri thức khai phá được cho người dùng nhận biết

Hai mục tiêu chính trong lĩnh vực khai phá dữ liệu đó là mô tả và dự báo

Mô tả nhằm tìm ra các thông tin để mô tả dữ liệu mà người dùng có thể hiểu được,

để thực hiện mục tiêu này thường có các bài toán liên quan như lập nhóm, phát hiện luật kết hợp… Còn Dự báo là đoán nhận về xu hướng trong tương lai của dữ liệu

dựa trên các dữ liệu đang có, để thực hiện mục tiêu này thường có các bài toán liên

quan như bài toán hồi quy, phân loại, phát hiện độ lệch

Để quá trình khai phá dữ liệu được diễn ra thuận lợi, dữ liệu cần được tổ

chức theo một cách thức nào đó và áp dụng các phương pháp phù hợp với mỗi cách

tổ chức này và phù hợp với bản chất, đặc thù của dữ liệu; thường có nhiều cách tổ

chức dữ liệu khác nhau nhưng phổ biến nhất là sử dụng cơ sở dữ liệu quan hệ, ngoài ra còn có cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu toàn văn, cơ sở dữ liệu hướng thời gian thực…

Khai phá dữ liệu có thể được tiếp cận theo nhiều hướng khác nhau, mỗi bài toán trong lĩnh vực này sẽ có phương pháp luận để giải quyết nó, phương pháp luận quyết định quan điểm và cách thức chúng ta nhìn nhận và giải quyết vấn đề Các

Trang 13

hướng tiếp cận lĩnh vực này có thể là: học máy (machine learning), thống kê (statistics), trí tuệ nhân tạo…

1.2 Tiền xử lý dữ liệu

Các cơ sở dữ liệu lớn thường gặp phải vấn đề về nhiễu (noisy) chứa trong dữ liệu hoặc dữ liệu bị thiếu (missing) hoặc thiếu nhất quán (inconsistent), điều này ảnh

hưởng nghiêm trọng đến các kết quả thu được trong quá trình khai phá dữ liệu Tiền

xử lý dữ liệu nhằm giải quyết vấn đề này Vậy bằng cách nào có thể để tiền xử lý dữ liệu nhằm nâng cao chất lượng dữ liệu và thu được các kết quả tốt hơn cho quá trình khai phá cũng như nâng cao hiệu suất và dễ dàng hơn cho quá trình này?

Có rất nhiều kỹ thuật để tiền xử lý dữ liệu: Data cleaning có thể được áp dụng để loại bỏ nhiễu và khắc phục vấn đề thiếu đồng nhất trong dữ liệu Data integration để hợp nhất các dữ liệu từ nhiều nguồn khác nhau vào trong một kho chứa dữ liệu cố kết Data transformations, chẳng hạn đó là sự chuẩn hóa dữ liệu,

có thể được áp dụng để nâng cao độ chính xác cũng như tính hiệu quả của các giải

thuật, đưa đến các độ đo về khoảng cách Data reduction có thể dùng để giảm thiểu

kích thước của dữ liệu bằng cách kết hợp hoặc loại bỏ các thuộc tính dư thừa Các

kỹ thuật này không loại trừ lần nhau, chúng có thể làm việc chung với nhau

Trong khai phá dữ liệu văn bản nói riêng, tiền xử lý dữ liệu là một quá trình chiếm tương đối nhiều tài nguyên Để xử lý được dữ liệu dạng này cần phải có quá trình tiền xử lý để đưa nó về dạng có cấu trúc, sau đó áp dụng các giải thuật khai

phá trên các cấu trúc đã đạt được Vấn đề tách từ, loại bỏ các từ dừng (stop words), lấy gốc của từ (stemming), biểu diễn văn bản theo một mô hình nào đó… thường

được biết đến bên trong quá trình này

1.3 Phân lớp và dự báo – Classification and Prediction

1.3.1 Giới thiệu

Là 2 dạng phân tích dữ liệu dùng để trích xuất các mô hình mô tả các lớp dữ

liệu quan trọng (đối với classifiction) hoặc tiên đoán xu hướng của dữ liệu trong

Trang 14

tương lai (đối với prediction)[1] Các phân tích này giúp ta có được hiểu biết tốt hơn về cơ sở dữ liệu lớn Trong khi classification hướng đến việc đưa ra các nhãn xác định (rời rạc, không có thứ tự) thì prediction thường định ra các hàm liên tục

Có rất nhiều phương pháp phân loại cũng như dự báo đã được đưa ra bởi các nhà

nghiên cứu trong các lĩnh vực học máy (machine learning), phát hiện mẫu (pattern recognition) và thống kê (statistic) Phần lớn các giải thuật đưa ra ở đây là thường

trú trong bộ nhớ, thường sử dụng dữ liệu với kích thước bé; các nghiên cứu gần đây

về khai phá dữ liệu dựa trên các kết quả trước đó để phát triển các phương pháp phân loại và dự báo phù hợp với việc xử lý dữ liệu lớn lưu trên đĩa cứng

Phân lớp dữ liệu là một quá trình gồm 2 bước: ở bước thứ nhất, một bộ phân loại được xây dựng mô tả một tập các khái niệm hoặc các lớp dữ liệu đã được định

nghĩa trước và được gọi là bước học (learning step) hay pha huấn luyện (training phase); ở đây một giải thuật phân lớp xây dựng nên một bộ phân loại bằng việc phân tích hoặc học từ một training set (tập huấn luyện) được tạo nên từ các phần tử

dữ liệu và gắn liền với các nhãn của chúng Một phần tử X được biểu diễn bởi một vector thuộc tính trong không gian n chiều, có dạng X = (x 1 , x 2 ,…, x n ) biểu diễn n

độ đo tạo nên phần tử này từ n thuộc tính của cơ sở dữ liệu, tương ứng là A 1 , A 2, … ,

A n Mỗi phần tử X được giả định thuộc về một lớp đã được định nghĩa trước thông qua các thuộc tính khác của cơ sở dữ liệu gọi là thuộc tính nhãn các lớp (class label attribute), các thuộc tính này là rời rạc, không có thứ tự và biễu diễn cho một mục

hay một lớp nào đó Bởi vì nhãn của các phần tử huấn luyện đã được biết nên bước

này còn được gọi là học có giám sát (supervised learning), nó trái ngược với phương pháp học không giám sát (unsupervised learning) (hoặc clustering) trong

đó nhãn của mỗi phần tử huấn luyện là không được biết trước và số lượng các lớp cần được học cũng không được biết

Bước thứ nhất của quá trình phân lớp có thể được xem như là việc học một

ánh xạ (một hàm) y = f(X) mà có thể dự đoán được nhãn y của đối tượng X cho

trước Theo cách nhìn này, ta mong muốn học một ánh xạ mà phân tách các lớp dữ

Trang 15

liệu Thông thường, ánh xạ này được biểu diễn dưới dạng các luật phân lớp, cây

quyết định (decision trees) hoặc bằng các mô tả hình thức toán học

Bước thứ 2 của quá trình phân lớp là xác định mức độ chính xác của việc phân lớp Trước hết cần đánh giá trước độ chính xác của bộ phân lớp, nếu sử dụng tập huấn luyện để đo độ chính xác của bộ phân lớp thì giá trị này tương đối lạc quan

vì bộ phân lớp thường có khuynh hướng overfit dữ liệu; bên cạnh đó tập dữ liệu khiểm thử (test set) được sử dụng, tập này được tạo ra từ các phần tử liên quan đến

nhãn của các lớp, các phần tử này được lựa chọn một cách ngẫu nhiên từ tập dữ liệu thông thường và độc lập với các phần tử huấn luyện và không tham gia vào quá trình tạo lập bộ phân loại

Độ chính xác của một bộ phân loại dựa trên một tập dữ liệu kiểm thử nào đó

là phần trăm các phần tử của tập kiểm thử được phân loại đúng bởi bộ phân loại Nhãn của lớp liên kết với mỗi phần tử để test được so sánh với lớp dự báo trước của

bộ phân loại đã được học áp dụng cho phần tử đó Có nhiều phương pháp để tính độ

chính xác của phân loại, chẳng hạn Holdout Method, Random Subsampling, validation, Boostrap Phương pháp Holdout sẽ phân hoạch ngẫu nhiên tập ban đầu thành 2 tập độc lập: Training set và test set; thông thường 2/3 dữ liệu được định vị

Cross-trong training set, 1/3 còn lại nằm Cross-trong test set Training set sử dụng để thu được

mô hình mà độ chính xác của nó được đánh giá bởi test set Sự đánh giá này không được tốt vì chỉ một phần dữ liệu ban đầu được sử dụng để tìm ra mô hình Random subsampling là một biến thể của Holdout bằng cách thực hiện holdout k lần và lấy

độ chính xác tổng thể bằng độ chính xác trung bình của mỗi lần lặp đó validation sẽ phân chia tập dữ liệu ban đầu thành k phần bằng nhau và thực hiện k bước lặp, ở mỗi bước lặp test data là 1 trong k phần bằng nhau đó, k-1 phần còn lại

Cross-được dùng để học; độ chính xác Cross-được tính bằng toàn bộ phần tử Cross-được phân lớp

chính xác sau k vòng lặp chia cho tổng số phần tử của tập ban đầu

Nếu độ chính xác của bộ phân loại là chấp nhận được thì nó sẽ được dùng để phân lớp cho các dữ liệu trong tương lai mà nhãn của nó là chưa được biết trước

Trang 16

Cả phân lớp và dự báo đều giống nhau ở chỗ chúng đều là quá trình gồm 2 bước như đã nói ở trên, tuy nhiên đối với dự báo thì khái niệm thuộc tính nhãn của các lớp (class label attribute) không tồn tại vì thuộc tính mà giá trị của nó cần dự đoán là một giá trị liên tục (có thứ tự) hơn là giá trị rời rạc (không có thứ tự) Dự báo có thể được xem như là một ánh xạ y = f(X) với X là thông tin đầu vào (một phần tử, một thể hiện của tập dữ liệu) và y là đầu ra với giá trị là liên tục, như vậy,

ta mong muốn học một ánh xạ liên hệ giữa X và y

1.3.2 Support Vector Machines

Có rất nhiều kỹ thuật có thể áp dụng trong bài toán phân lớp và dự báo,

chẳng hạn có thể dùng cây quyết định (decision tree), Bayesian, K-NN, giải thuật di

truyền… Ở đây ta giới thiệu một phương pháp hiện được dùng rất phổ biến hiện nay

đó là Support Vector Machines (SVMs)

SVMs là một phương pháp mới có thể dùng để phân loại dữ liệu tuyến tính hoặc phi tuyến, thực chất nó là một giải thuật làm việc như sau[1] SVM sử dụng một ánh xạ phi tuyến (nonlinear mapping) để biến đổi dữ liệu huấn luyện ban đầu

vào một không gian có số chiều cao hơn Trong không gian mới này, nó tìm kiếm

siêu phẳng phân tách tối ưu tuyến tính (linear optimal separating hyperplane) – đó

là một vùng biên quyết định (decision boundary) phân tách các đối tượng của một

lớp khỏi các lớp khác Với một ánh xạ phi tuyến phù hợp vào một không gian mới tương ứng có số chiều lớn hơn thì dữ liệu thuộc về 2 lớp luôn luôn có thể được phân

tách bởi một siêu phẳng SVM tìm kiếm siêu phẳng này bằng cách sử dụng các support vector – thực chất là các đối tượng huấn luyện – và tìm kiếm lề (margin) được tạo ra bởi các support vector đó SVMs có thể sử dụng cho cả classification lẫn prediction và được áp dụng rất rộng rãi vào nhiều lĩnh vực, chẳng hạn nhận

dạng ký số viết tay, nhận dạng giọng nói, phân loại văn bản… Sau đây ta sẽ giới thiệu SVMs cho 2 trường hợp: dữ liệu là khả tách tuyến tính và không khả tách

Trang 17

1.3.2.1 SVMs với dữ liệu khả tách tuyến tính (linearly separable)

Xét trường hợp đơn giản ta có 2 lớp phân tách tuyến tính với nhau: Tập dữ

liệu ban đầu D được cho dưới dạng (X 1 , y 1 ), (X 2 , y 2 ),…, (X |D| , y |D| ) trong đó X i là các

đối tượng huấn luyện với nhãn y i với y i ∈ {+1, -1}

Hình 1.3: Dữ liệu 2-D khả tách tuyến tính

Xét ví dụ như hình trên, dữ liệu có 2 thuộc tính A1, A2 và khả tách tuyến tính vì ta

có thể vẽ 1 đường thẳng để phân tách hoàn toàn các đối tượng thuộc nhóm +1 với các đối tượng thuộc nhóm – 1, có vô số các đường thẳng như thế có thể được vẽ; tuy nhiên ta mong muốn tìm ra đường thẳng nào tối ưu nhất để lỗi phân loại là bé

nhất Với dữ liệu là 3-D ta mong muốn tìm ra 1 mặt phẳng phân tách tối ưu, đối với

dữ liệu n chiều ta mong muốn tìm ra 1 siêu phẳng tối ưu Ta sẽ dùng thuật ngữ “siêu

phẳng” – hyperplane – để chỉ đến vùng biên quyết định mà không quan tâm đến số chiều (số thuộc tính) của dữ liệu Vậy bằng cách nào để tìm ra siêu phẳng tối ưu?

SVMs giải quyết bài toán này bằng cách tìm kiếm siêu phẳng lề cực đại (maximum marginal hyperpalne) Hình 1.4 cho thấy 2 trường hợp siêu phẳng phân tách và lề

tương ứng với chúng Cả 2 siêu phẳng đều phân loại một cách đúng đắn dữ liệu ban đầu, tuy nhiên siêu phẳng với lề lớn hơn sẽ cho kết quả phân loại tốt hơn với các dữ

Trang 18

liệu sẽ có trong tương lai Chính vì vậy, SVMs sẽ tìm kiếm siêu phẳng với lề lớn

nhất (MMH – maximum marginal hyperplane) Một siêu phẳng phân tách có

phương trình là:

0 X + b=

W

Hình 1.4: Ví dụ về siêu phẳng cùng với lề tương ứng

Trang 19

Với W là vector trọng số, W = {w 1 , w 2 ,…, w n }, n là số thuộc tính, b là một giá trị vô hướng Đối với ví dụ ở trên, X = {x 1 , x 2} ta có thể biểu diễn phương trình của siêu phẳng phân tách như sau:

w0 + w 1 x 1 + w 2 x 2 = 0 Bất cứ đối tượng nào nằm về phía trên siêu phẳng sẽ có:

w0 + w 1 x 1 + w 2 x 2 > 0

và nằm về dưới siêu phẳng sẽ có:

w0 + w 1 x 1 + w 2 x 2 < 0 Các trọng số có thể được hiệu chỉnh sao cho các siêu phẳng định ra các mặt của lề

có thể được viết là:

Bất cứ đối tượng nào nằm trong H 1 sẽ thuộc về lớp +1, nằm trong H 2 sẽ thuộc về lớp -1 Ta có thể biểu diễn bằng một công thức duy nhất sau đây cho H1 và H2:

i x

w x w w

y i( 0+ 1 1+ 2 2) ≥ 1 , ∀ (*) Bất cứ đối tượng huấn luyện nào thỏa mãn bất đẳng thức trên được gọi là các support vector

Hình 1.5: Support vectors

Trang 20

ở hình vẽ trên, các support vector là các phần tử với đường viền tròn bao ngoài Về

bản chất thì các support vector là các phần tử khó phân loại nhất và chứa những

thông tin quan trọng nhất để phân loại Vậy tìm kiếm MMH và các support vector

như thế nào? Ta có thể viết lại biểu thức (*) ở trên dưới dạng các ràng buộc của một

bài toán quy hoạch toàn phương lồi (convex quadratic optimization problem), sử dụng các hệ số Lagrangian và giải quyết bài toán bằng điều kiện Karush-Kuhn- Tucker (KKT) Ở đây, ta sẽ không đi sâu vào giải quyết bài toán này như thế nào,

chi tiết có thể tham khảo thêm trong các tài liệu chuyên ngành về toán học Như vậy giải quyết bài toán quy hoặc toàn phương là sẽ tìm ra các support vector với lề cực đại và như vậy ta đã có một máy vector hỗ trợ đã được huấn luyện MMH là một vùng bao tuyến tính giữa các lớp, vì vậy SVM tương ứng có thể được sử dụng để phân loại một cách tuyến tính dữ liệu phân tách được

Sau khi đã có một support vector machine, ta có thể sử dụng nó để phân lớp

dữ liệu Dựa vào các hệ số Lagrangian, MMH có thể được viết lại như sau:

Trong đó yi là nhãn lớp của vector X i , X T là tập các phần tử để test; αi và b 0 là các

giá trị của tham số tối ưu có được nhờ giải quyết bài toán quy hoạch toàn phương; l

là số lượng các support vector Trong trường hợp dữ liệu khả tách tuyến tính, support vectors là tập con của tập các phần tử thực sự để huấn luyện

Với một phần tử kiểm tra, X T ta lắp nó vào công thức ở trên và kiểm tra dấu của kết quả Nếu dấu là dương thì phần tử thuộc về phần dương của siêu phẳng, ngược lại nó thuộc về phần âm của siêu phẳng Trong biểu thức kiểm tra dấu ở trên

phải tính tích vô hướng giữa support vector X i với dữ liệu kiểm thử X T, điều này sẽ

có lợi cho việc tìm kiếm MMH và support vectors trong trương hợp dữ liệu không khả tách tuyến tính sẽ được đề cập đến ngay sau đây

Trang 21

1.3.2.2 SVMs với dữ liệu không khả tách tuyến tính (linearly inseparable)

Sau đây là một ví dụ về trường hợp dữ liệu không khả tách tuyến tính

Hình 1.6: Dữ liệu không khả tách tuyến tính

Hướng tiếp cận đối với SVMs tuyến tính có thể được mở rộng để tạo ra SVMs

phi tuyến dùng cho việc phân loại dữ liệu không khả tách tuyến tính Quá trình này gồm 2 bước, ở bước thứ nhất, ta sẽ biến đổi tập dữ liệu ban đầu vào trong một không gian với số chiều lớn hơn bằng một phép ánh xạ phi tuyến Có một vài ánh

xạ phi tuyến thông dụng thường được sử dụng ở đây ta sẽ trình bày sau Một khi dữ liệu đã được biến đổi vào trong không gian mới, bước thứ 2 sẽ là tìm kiếm một siêu phẳng phân tách tối ưu tuyến tính trong không gian mới này Ở đây ta gặp lại bài toán quy hoạch toàn phương Siêu phẳng lề cực đại tìm được trong không gian mới

sẽ tương ứng với một mặt phân tách phi tuyến trong không gian ban đầu

Sau đây ta xét một ví dụ về phép biến đổi phi tuyến dữ liệu đầu vào ban đầu vào trong không gian mới với số chiều lớn hơn Xét một vector đầu vào trong

không gian 3 chiều X = (x 1 , x 2 , x 3) được ánh xạ vào không gian 6 chiều Z sử dụng các ánh xạ

1 4

3 3

2 2

Trang 22

phẳng phân tách trong không gian Z sẽ ững với một hàm phi tuyến đa thức bậc 2 trong không gian 3-D ban đầu:

Ở đây gặp một số vấn đề, thứ nhất bằng cách nào có thể chọn ra một ánh xạ phi tuyến vào trong một không gian có số chiều cao hơn? Thứ hai, chi phí tính toán liên quan sẽ trở nên đáng kể Quay lại với biểu thức:

Với mỗi phần tử cần kiểm tra dấu, ta phải thực hiện việc lấy tích vô hướng của nó với tất cả các phần tử support vectors Trong quá trình huấn luyện, ta phải tính sự tương tự tích vô hướng một vài lần để tìm ra MMH, việc làm này tốn khá nhiều chi phí bởi vì việc tính tích vô hướng chiếm khá nhiều tài nguyên, do vậy cần một kỹ thuật khác Rất may, ta có thể sử dụng các kỹ thuật liên quan đến toán học để giải quyết vấn đề này Trong việc tìm lời giải cho bài toán tối ưu hóa toàn phương cho SVM tuyến tính, tập phần tử huấn luyện chỉ xuất hiện dưới dạng tích vô hướng

được biến đổi, ta có thể áp dụng một hàm nhân (kernel function) K(X i , X j) đối với

dữ liệu trong không gian ban đầu, tức là:

Như vậy, nếu φ(X i).φ(X j) xuất hiện trong giải thuật huấn luyện, ta có thể thay thế

nó bởi K(X i , X j), theo cách này tất cả công việc tính toán được thực hiện trong không gian dữ liệu đầu vào ban đầu, nó sẽ có số chiều bé hơn rất nhiều so với không gian mới Ap dụng kỹ thuật này, sau đó ta có thể tìm kiếm siêu phẳng phân

Trang 23

tách tối ưu như đã đề cập đến trong trường hợp dữ liệu là khả tách tuyến tính Vậy

có thể sử dụng những hàm nhân nào? Có 3 hàm nhân thường được sử dụng sau đây:

SVMs cũng có thể được áp dụng cho hồi quy phi tuyến và tuyến tính Ở đây

thay vì học để dự đoán nhãn các lớp rời rạc (giống như y i{+1, -1}), SVMs đối với regression cố gắng học mối quan hệ đầu ra-đầu vào đối với các dữ liệu đầu vào Xi

tương ứng với các giá trị liên tục đầu ra y i R, hướng tiếp cận sau đó tương tự như trường hợp SVMs dùng trong classification

Các nghiên cứu chính về SVMs thường tập trung vào việc nâng cao tốc độ trong việc huấn luyện và kiểm tra, vì vậy SVMs có thể trở nên thiết thực hơn đối

với tập dữ liệu rất lớn (chẳng hạn hàng triệu support vectors) Các hướng khác bao

gồm việc quyết định hàm nhân tốt nhất cho một tập dữ liệu và tìm kiếm các

phương pháp hiệu quả hơn cho trường hợp đa lớp (multiclass)

1.4 Phân nhóm dữ liệu

1.4.1 Giới thiệu

Clustering[1] là quá trình gom nhóm dữ liệu vào trong các lớp (class) hay còn gọi là các cụm (cluster), như vậy các đối tượng trong cùng một cluster sẽ rất giống nhau trong khi các đối tượng thuộc về các cluster khác nhau sẽ rất khác nhau

Sự khác nhau được xác định dựa trên các thuộc tính mô tả đối tượng, độ đo về

khoảng cách thường được sử dụng trong trường hợp này Clustering xuất phát từ nhiều lĩnh vực, gồm khai phá dữ liệu, thống kê, sinh vật học và học máy (machine learning)

Trong lĩnh vực học máy thì clustering thuộc về phương pháp học không giám

sát (unsupervised learning) Không giống như bài toán phân lớp (classification),

Trang 24

clustering và phương pháp học không giám sát, nó không phụ thuộc vào các lớp đã

được ấn định trước cũng như các mẫu huấn luyện đã được gán nhãn Cũng vì lý do

này, clustering là một dạng của học bằng quan sát (learning by observation) hơn là học thông qua mẫu (learning by examples)

Trong khai phá dữ liệu, các nỗ lực tập trung vào các phương pháp clustering

áp dụng hiệu quả cho các cơ sở dữ liệu lớn Các nghiên cứu thường chú trọng vào

tính vững vàng (scalability) của các phương pháp clustering, tính hiệu quả trong

việc phân tích các dữ liệu có cấu trúc phức tạp, các dữ liệu trong không gian đa

chiều… Clustering là một trong những hướng nghiên cứu mà các ứng dụng của nó

cần có những yêu cầu đặc biệt, sau đây là những yêu cầu thông thường của

clustering trong khai phá dữ liệu:

ƒ Tính vững vàng (Scalability): các phương pháp clustering làm việc tốt

không những đối với các dữ liệu bé mà còn có thể áp dụng cho các dữ liệu lớn (gồm nhiều đối tượng)

ƒ Khả năng xử lý đối với các loại thuộc tính khác nhau: nhiều giải thuật được thiết kế cho việc clustering các dữ liệu dạng số, tuy nhiên các ứng dụng có thể yêu cầu clustering cho các loại dữ liệu khác, chẳng hạn dữ liệu nhị phân…

ƒ Phát hiện ra các cluster với hình dạng bất kỳ: nhiều giải thuật clustering xác định các cluster dựa trên độ đo Euclidean hoặc Manhattan, các giải thuật này thường tìm kiếm các cluster dạng hình cầu; tuy nhiên các cluster có thể có dạng bất kỳ và các giải thuật này phải phát hiện được chúng

ƒ Tối thiểu hóa các yêu cầu cho tri thức lĩnh vực để quyết định các tham

số đầu vào: nhiều giải thuật clustering yêu cầu người dùng đưa vào các tham số cần thiết và các kết quả thu được có thể phụ thuộc rất nhiều vào các tham số đầu vào này Các tham số này thường rất khó

ấn định, đặc biệt đối với các dữ liệu chứa các đối tượng trong không

Trang 25

gian đa chiều Đây không những là một gánh nặng đối với người sử dụng mà còn khó cho việc xác định chất lượng của clustering

ƒ Khả năng xử lý với các dữ liệu có nhiễu

ƒ Gia tăng clustering và ít bị ảnh hưởng bởi thứ tự của các dữ liệu đầu

vào

ƒ Tính đa chiều

ƒ Clustering dựa trên các ràng buộc

ƒ Có thể hiểu được (interpretability) và có thể dùng được (usability)

1.4.2 Phân loại các phương pháp Clustering

Hiện nay tồn tại rất nhiều phương pháp clusering và thật khó để phân loại

một cách chính xác các phương pháp này thành các lớp riêng biệt bởi vì các lớp này

có thể phủ lên nhau làm cho mỗi phương pháp có thể mang một vài đặc trưng của các lớp khác nhau Mặc dầu vậy, việc đưa ra một sự phân loại tương đối về các

phương pháp clustering là cần thiết Thông thường các phương pháp clustering

được phân loại thành các nhóm như sau:

Partitioning methods (các phương pháp phân hoạch): Cho một cơ sở dữ liệu

gồm n đối tượng, một phương pháp partitioning sẽ tạo ra k phân hoạch dữ liệu trong

đó mỗi phân hoạch tương ứng với một cluster và kn Phương pháp này phân lớp

dữ liệu vào trong k nhóm và thỏa mãn các yêu cầu sau: (1) mỗi nhóm có ít nhất một

phần tử, (2) mỗi đối tượng phải hoàn toàn thuộc về một nhóm Yêu cầu thứ 2 có thể

được nới lỏng trong một số phương pháp phân hoạch mờ (fuzzy partitioning)

Phương pháp partitioning tạo ra một phân hoạch ban đầu, sau đó sử dụng kỹ thuật lặp tái định vị (iterative relocation technique) để hoàn thiện phân hoạch ban

đầu bằng cách di chuyển các đối tượng từ một nhóm sang nhóm khác Một phân hoạch tốt cần phải có các đối tượng trong cùng một cluster thì giống nhau hoặc rất gần nhau, trong khi các đối tượng thuộc về các cluster khác nhau thì rất khác biệt

Có rất nhiều tiêu chuẩn để đánh giá chất lượng của các phân hoạch tạo ra

Để đạt được tối ưu tổng thể cần phải liệt kê đầy đủ tất cả các phân vùng; thay

vì làm điều này, phần lớn các ứng dụng lựa chọn một trong số các phương pháp

Trang 26

heuristic thông dụng, chẳng hạn (1) giải thuật k-means trong đó mỗi cluster được biểu diễn bởi giá trị trung bình của các đối tượng trong cluster đó; (2) giải thuật k- medoids trong đó mỗi cluster được biểu diễn bởi một trong số các đối tượng nằm gần tâm của cluster Tất cả phương pháp heuristic này làm việc hiệu quả đối với các cluster dạng hình cầu trong các cơ sở dữ liệu vừa và nhỏ Để tìm kiếm các cluster

với hình dạng phức tạp hơn và với các cơ sở dữ liệu lớn hơn cần phải mở rộng phương pháp này

Hierarchical methods (các phương pháp phân cấp ): một phương pháp kiểu

hierarchical tạo ra một phân hoạch phân cấp (hierarchical decomposition) tập đối tượng ban đầu Một phương pháp thế này có thể phân loại thành agglomerative hoặc divisive tùy thuộc vào cách tạo ra phân hoạch phân cấp Hướng tiếp cận agglomerative còn được gọi là bottom-up bắt đầu bằng việc xem mỗi đối tượng là

một nhóm riêng biệt; nó liên tục hợp nhất các đối tượng hoặc các nhóm gần với nhau thành một nhóm mới cho tới khi tất cả các nhóm hợp nhất thành một nhóm duy nhất (là nhóm nằm ở mức cao nhất của phân cấp) hoặc cho tới khi gặp một điều

kiện dừng nào đó Hướng tiếp cận divisive còn được gọi là top-down bắt đầu bằng việc xem tất cả các đối tượng thuộc về một cluster duy nhất, trong mỗi vòng lặp tuần tự mỗi cluster được phân chia thành các cluster bé hơn cho tới khi mỗi đối tượng là một cluster hoặc cho tới khi bắt gặp một điều kiện dừng nào đó

Phương pháp hierarchical clustering tồi trong trường hợp một bước nào đó

(hợp nhất hoặc phân chia) đã được thực hiện thì không thể quay lại trạng thái trước

đó được nữa Sự không mềm dẻo này giúp ích trong việc giảm chi phí tính toán bởi không phải mất chi phí cho các tổ hợp lựa chọn khác nhau Tuy nhiên các kỹ thuật này không cho phép khắc phục các quyết định sai Có 2 hướng tiếp cận để nâng cao chất lượng của hierarchical clustering: (1) thực hiện việc phân tích cẩn thận các đối

tượng “linkages” tại mỗi mức phân hoạch, chẳng hạn phương pháp Chameleon; (2) tích hợp hierarchical agglomerative với các hướng tiếp cận khác bằng cách trước

hết sử dụng hierarchical agglomerative để gom nhóm các đối tượng vào các

microcluster (các cluster kích thước nhỏ) sau đó thực hiện macroclustering trên các

Trang 27

microcluster sử dụng các phương pháp khác như lặp tái định (iterative relocation), chẳng hạn đó là phương pháp BIRCH

Density-based methods (các phương pháp dựa trên mật độ): Phần lớn các

phương pháp partitioning phân hoạch các đối tượng dựa trên khoảng cách giữa các đối tượng Những phương pháp như vậy có thể tìm kiếm các cluster dạng cầu nhưng gặp phải vấn đề khó khăn trong việc phát hiện các cluster có hình dạng bất

kỳ Một số phương pháp clustering được đề xuất dựa trên khái niệm density – mật

độ Ý tưởng chung của các phương pháp này là tiếp tục phát triển một cluster chừng

nào mật độ (số các đối tượng hoặc các điểm dữ liệu) trong các vùng lân cận chưa

vượt quá ngưỡng; như vậy với một điểm dữ liệu bên trong một cluster nào đó thì

các vùng lân cận nó với một bán kính nhất định phải chứa ít nhất số lượng các điểm

DBSCAN (cùng với các mở rộng của nó) và OPTICS là các phương pháp thông dụng dựa trên mật độ để phát triển các cluster tương ứng với các phân tích kết nối dựa trên mật độ DENCLUE là một phương pháp mà phân nhóm các đối tượng dựa

trên việc phân tích hàm mật độ phân bố

Grid-based methods (các phương phương pháp dựa trên lưới): Phương pháp

này lượng tử hóa không gian của các đối tượng thành một số hữu hạn các ô (cell)

mà hình thành nên một cấu trúc lưới Tất cả các thao tác clustering ở phương pháp

này được thực hiện trong một cấu trúc lưới (chẳng hạn đó là không gian đã được lượng tử hóa) Ưu điểm chính của phương pháp này là nhanh về mặt thời gian, nó thường độc lập với số lượng các đối tượng dữ liệu và chỉ phụ thuộc vào số lượng

các ô trong mỗi chiều của không gian lượng tử hóa STING là một ví dụ điển hình

cho phương pháp clustering dựa trên lưới

Model-based methods (các phương pháp dựa trên mô hình): Xây dựng một

mô hình cho mỗi cluster và tìm kiếm sự phù hợp lớn nhất của dữ liệu đối với mô

hình đó Một giải thuật dựa trên mô hình có thể xác định vị trí của các cluster bằng

cách tạo ra một hàm mật độ phản ánh sự phân bố không gian của các điểm dữ liệu,

nó cho phép đưa ra một phương pháp để tự động quyết định số lượng cluster dựa

trên các thống kê chuẩn EM là một giải thuật thực hiện việc phân tích

Trang 28

expectation-maximization dựa trên mô hình thống kê COBWEB là một giải thuật conceptual learning (học khái niệm) thực hiện phân tích xác suất và lấy các khái niệm như là

mô hình của các cluster SOM là một giải thuật dựa trên mạng nơ-ron thực hiện clustering dựa trên việc ánh xạ không gian nhiều chiều vào trong không gian đặc

trưng 2-D hoặc 3-D, nó cũng hữu ích trong việc trực quan hóa dữ liệu

Việc lựa chọn phương pháp clustering nào phụ thuộc vào bản chất của dữ liệu hiện có cũng như mục đích đặc biệt của ứng dụng Phần tiếp theo ta sẽ đi vào

chi tiết một số phương pháp (giải thuật) clustering thông dụng

1.4.3 Một số phương pháp Clustering

k-Means: Giải thuật k-means[1] có tham số đầu vào là k và phân hoạch tập n

đối tượng vào k cluster, sự tương tự cluster được đo bằng cách lấy trung bình của các đối tượng bên trong một cluster và xem đó là trọng tâm của cluster Giải thuật này hoạt động như sau: Trước tiên, lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng

là một biểu diễn ban đầu cho trọng tâm của một cluster Mỗi đối tượng còn lại được

gán vào cluster mà gần giống với nó nhất dựa trên khoảng cách giữa đối tượng đó

và trọng tâm của cluster Sau đó tính toán lại trọng tâm cho mỗi cluster Quá trình này lặp lại cho tới khi hàm tiêu chuẩn hội tụ Thông thường tiêu chuẩn bình phương lỗi (square-error criterion) được sử dụng:

với E là tổng bình phương lỗi của tất cả đối tượng trong tập dữ liệu; p là điểm trong không gian mô tả một đối tượng; m i là trọng tâm của cluster C i (cả p và m i là đa chiều) Giải thuật này được tổng kết lại như sau:

Trang 29

Hình sau minh họa giải thuật k-means:

Hình 1.7: Clustering dựa trên giải thuật k-means

Phương pháp này tương đối bền vững và hiệu quả trong xử lý tập dữ liệu lớn bởi vì

độ phức tạp tính toán của giải thuật là O(nkt) với n là tổng số đối tượng, k là số cluster và t là số lần lặp Thông thường k << n và t << n Giải thuật này thường

kết thúc khi đạt tối ưu hóa cục bộ Tuy nhiên, phương pháp này chỉ áp dụng được

khi giá trị trung bình (trọng tâm) của một cluster được định nghĩa; điều này khó có

thể áp dụng được trong một số ứng dụng khi dữ liệu có dạng phức tạp Phương pháp

này chỉ phù hợp đối với việc phát hiện các cluster lồi

Có một vài mở rộng cho giải thuật này, chẳng hạn giải thuật EM (Expectation-Maximization) Trong khi k-means mỗi đối tượng được gán cho một cluster thì với phương pháp EM mỗi đối tượng được gán cho mỗi cluster tương ứng

Trang 30

với một biểu diễn trọng số xác suất của các thành viên của nó Nói cách khác,

không có vùng biên rõ ràng giữa các cluster Phần tiếp theo sẽ trình bày về giải

thuật này

Expectation-Maximization: Giải thuật này[1] thuộc về nhóm các phương

pháp clustering dựa trên mô hình, cố gắng tối ưu hóa sự phụ hợp giữa dữ liệu ban

đầu với một vài mô hình toán học Các phương pháp này thường giả thiết rằng dữ

liệu được sinh ra dựa trên sự pha trộn của các phân bố xác suất EM là một sự mở rộng của phương pháp k-means

Trong thực tế, mỗi cluster có thể được biểu diễn một cách toán học bởi một

tham số phân bố xác suất Toàn bộ dữ liệu là sự hòa trộn của các phân bố này, trong

đó bản dữ liệu sử dụng một mô hình mật độ hỗn hợp (mixture density model) hữu hạn của k phân bố xác suất trong đó mỗi phân bố biểu diễn cho mỗi cluster Vấn đề

ở đây là xác định các tham số của các phân bố xác suất phù hợp nhất cho dữ liệu Hình vẽ sau minh họa một ví dụ đơn giản về mô hình mật độ hỗn hợp có giới hạn; ở đây có hai cluster trong đó mỗi cluster tuân theo phân bố chuẩn hoặc phân bố Gaussian với các giá trị trung bình và độ lệch tiêu chuẩn

Hình 1.8: Mỗi cluster được biểu diễn bởi một phân bố xác suất

Trang 31

EM bắt đầu bằng việc khởi tạo các ước lượng hay phỏng đoán về các tham

số của mô hình hỗn hợp (mixture model), sau đó lặp lại quá trình gán giá trị cho các

đối tượng dựa vào mật độ hỗn hợp được tạo ra bởi vector tham số hóa Các đối tượng đã được tính giá trị sau đó được sử dụng để cập nhật lại các tham số phỏng đoán Mỗi đối tượng được gán cho một xác suất mà xác suất này sở hữu một tập các giá trị thuộc tính nào đó và đối tượng thuộc về một cluster nào đó Giải thuật này được mô tả như sau:

1 Tạo ra một phỏng đoán ban đầu cho vector tham số hóa: Chọn ra một cách ngẫu nhiên k đối tượng để biểu diễn giá trị trung bình của cluster hoặc tâm của cluster cũng như phỏng đoán cho các tham số thêm vào

2 Lặp lại 2 bước E (Expectation) và M (Maximization):

a Bước E: gán mỗi đối tượng xi vào cluster Ck với xác suất:

Trong đó p(x i |C k ) = N(m k , E k (x i)) dựa trên phân bố chuẩn (chẳng hạn

Gaussian) xung quanh giá trị trung bình m k , với Expectation E k Nói cách khác, ở bước này thì với mỗi cluster sẽ tính toán lại giá trị xác suất cho các thành viên của cluster Các xác suât này là thành viên

cluster được mong đợi cho đối tượng x i

b Bước M: Sử dụng xác suât phỏng đoán ở trên để tính toán lại các tham số của mô hình, chẳng hạn:

Trang 32

1.5 Các ứng dụng và xu hướng trong khai phá dữ liệu

Nhiều công cụ khai phá dữ liệu đã được phát triển cho các ứng dụng lĩnh vực

cụ thể, bao gồm tài chính, công nghiệp bán lẻ, viễn thông, tin sinh học, phát hiện

xâm phạm, các ngành khoa học, kỹ thuật khác và phân tích dữ liệu chính phủ Hoạt động đó kết hợp tri thức trong lĩnh vực cụ thể với các kỹ thuật phân tích dữ liệu và đưa ra giải pháp khai phá dữ liệu cho nhiệm vụ cụ thể

Có nhiều hệ thống khai phá dữ liệu và nguyên mẫu nghiên cứu để lựa chọn Khi chọn một sản phẩm khai phá dữ liệu phù hợp cho một nhiệm vụ, cần phải cân

nhắc các đặc điểm của các hệ thống khai phá dữ liệu từ quan điểm đa chiều Những

cân nhắc này bao gồm loại dữ liệu, vấn đề của hệ thống, nguồn dữ liệu, các chức năng và phương pháp khai phá dữ liệu, việc liên kết chặt chẽ hệ thống khai phá dữ liệu bằng cơ sở dữ liệu hoặc hệ thống kho dữ liệu, khả năng có thể thay đổi về quy

mô, các công cụ trực quan hóa, ngôn ngữ truy vấn khai phá dữ liệu và các giao diện người dùng đồ họa

Các nhà nghiên cứu đã và đang nỗ lực xây dựng những nền tảng lý thuyết

cho khai phá dữ liệu Một vài để xuất thú vị đã xuất hiện, dựa trên rút gọn dữ liệu, nén dữ liệu, khám phá dạng mẫu, lý thuyết xác suất, lý thuyết vi kinh tế và cơ sở dữ liệu quy nạp

Khai phá dữ liệu trực quan kết hợp khai phá dữ liệu và trực quan hóa dữ liệu

để khám phá các tri thức tiềm ẩn và hữu ích từ các tập hợp dữ liệu lớn Các biểu

mẫu khai phá dữ liệu trực quan bao gồm trực quan hóa dữ liệu, trực quan hóa kết quả khai phá dữ liệu, trực quan hóa quá trình khai phá dữ liệu và khai phá dữ liệu trực quan tương tác Khai thác phá liệu âm thanh sử dụng các tín hiệu âm thanh để

chỉ ra các mẫu dữ liệu hoặc các đặc tính của kết quả khai phá dữ liệu

Một vài phương pháp thống kê có từ lâu đã được đề xuất cho phân tích dữ

liệu, chẳng hạn như hồi qui, mô hình tuyến tính tổng quát, phân tích phương sai, mô hình hiệu ứng hỗn hợp, phân tích hệ số, phân tích biệt số, phân tích chuỗi thời gian, phân tích biến cố và kiểm soát chất lượng Việc đề cập đến tất cả các phương pháp phân tích dữ liệu thống kê nằm ngoài phạm vi mà ta đang xét ở đây

Trang 33

Các hệ thống giới thiệu cộng tác đưa ra những lời giới thiệu sản phẩm cá nhân hóa dựa trên ý kiến của những khách hàng khác Các hệ thống này có thể sử dụng kỹ thuật khai phá dữ liệu hoặc thống kê để tìm kiếm những điểm giống nhau trong số các ưu tiên của khách hàng

Khai phá dữ liệu thường gặp là khai phá dữ liệu trong nhiều lĩnh vực cuộc sống hàng ngày của chúng ta Việc này có thể ảnh hưởng đến cách chúng ta mua sắm, làm việc, tìm kiếm thông tin và sử dụng máy tính cũng như thời gian rảnh rối, sức khỏe và hạnh phúc của chúng ta Trong khai phá dữ liệu vô hình, các phần mềm

"thông minh", chẳng hạn như các bộ máy tìm kiếm Web, các dịch vụ Web thích ứng với khách hàng, trình quản lý e-mail, vv…kết hợp khai phá dữ liệu thành các bộ phận chức năng của nó, thường không được người dùng biết đến

Một mối lo ngại lớn về mặt xã hội của khai phá dữ liệu đó là vấn đề riêng tư

và bảo mật dữ liệu, đặc biệt là khi lượng dữ liệu thu thập được về các cá nhân đang

tiếp tục gia tăng Các quy tắc thông tin công bằng đã được xác lập để bảo vệ sự riêng tư và dữ liệu đồng thời bao quát các lĩnh vực liên quan đến việc thu thập và sử dụng dữ liệu cá nhân Khai phá dữ liệu để chống khủng bố có thể mang lại lợi ích cho an ninh quốc gia và cứu sống nhiều người nhưng lại làm nảy sinh thêm các mối

lo ngại về sự riêng tư do khả năng có thể tiếp cận dữ liệu cá nhân Các nỗ lực nhằm đảm bảo sự riêng tư và bảo mật dữ liệu bao gồm phát triển phương pháp khai phá

dữ liệu có thể bảo vệ sự riêng tư (phương pháp này nhằm thu được các kết quả khai phá dữ liệu hợp pháp mà không tìm hiểu các giá trị dữ liệu tiềm ẩn) và các kỹ thuật tăng cường độ bảo mật (chẳng hạn như mã hóa)

Các xu hướng trong khai phá dữ liệu bao gồm tiếp tục nỗ lực nhằm khám phá các lĩnh vực ứng dụng mới, cải tiến các phương pháp mở rộng quy mô và tương tác (bao gồm khai phá dựa trên điều kiện ràng buộc), kết hợp khai phá dữ liệu với hệ thống kho dữ liệu và cơ sở dữ liệu, chuẩn hóa ngôn ngữ khai phá dữ liệu, phương pháp trực quan hóa và những phương pháp mới để xử lý các loại dữ liệu phức tạp Các xu hướng khác bao gồm khai phá dữ liệu sinh học, bọ phần mềm khai phá, khai

Trang 34

phá Web, khai phá phân bố và thời gian thực, khai phá đồ thị, phân tích mạng xã hội, khai phá dữ liệu đa quan hệ và đa cơ sở dữ liệu, bảo vệ sự riêng tư của dữ liệu và bảo mật dữ liệu

Kết chương: Chương này vừa trình bày các khái niệm cơ bản, một số bài toán, kỹ

thuật và phương pháp thường dùng trong khai phá dữ liệu, làm nền tảng cho các phương pháp khai phá dữ liệu văn bản sẽ được đề cập đến trong các chương tiếp theo Đây là phần trình bày chung, mang tính tổng quan nhưng tương đối quan trọng Chương tiếp theo sẽ trình bày về lý thuyết tập thô và các ứng dụng của nó trong khai phá dữ liêu

Trang 35

nhà khoa học Gần đây lý thuyết này đã trở thành một hướng nghiên cứu quan trọng trong khoa học máy tính, đặc biệt là trong lĩnh vực trí tuệ nhân tạo Có rất nhiều hướng tiếp cận khác nhau cho bài toán “làm thế nào để hiểu và vận dụng được các tri thức chưa hoàn chỉnh”, một trong số những hướng thành công nhất phải kể đến

lý thuyết tập mờ (fuzzy sets theory) được đưa ra bởi Lotfi Zadeh Lý thuyết tập thô (rough sets theory) hiện tại vẫn là một hướng tiếp cận khác cho bài toán kể trên, lý

thuyết này thu hút được sự quan tâm nghiên cứu của rất nhiều nhà khoa học trên toàn thế giới trong việc phát triển và ứng dụng nó Lý thuyết tập thô phủ lên nhiều

lý thuyết khác, tuy nhiên ở đây chúng ta vẫn đề cập đến sự liên hệ giữa chúng; mặc dầu vậy, lý thuyết tập thô có thể được xem như là một ngành độc lập của riêng nó

Lý thuyết tập thô có nhiều ứng dụng to lớn, nó dường như là một nền tảng quan trọng trong trí tuệ nhân tạo và các ngành khoa học khác liên quan đến nhận

thức, đặc biệt là trong lĩnh vực học máy (machine learning), thu nhận tri thức (knowledge acquisition) , phân tích quyết định (decision analysis), phát hiện tri thức

từ cơ sở dữ liệu (knowledge discovery from databases), hệ chuyên gia (expert

Nội dung chính sẽ trình bày:

• Mô hình toán học và một số khái niệm trong lý thuyết tập thô

• Một số ứng dụng của lý thuyết tập thô

• Mô hình tập thô dung sai

Trang 36

systems), lập luận dựa trên quy nạp (inductive reasoning) và phát hiện mẫu (pattern recognition)…

Ưu điểm chính của lý thuyết tập thô trong phân tích dữ liệu là nó không cần bất cứ thông tin khơi mào hay thông tin đính kèm nào về dữ liệu Hướng tiếp cận tập thô có thể đem lại những kết quả sau:

- đề xuất các giải thuật hiệu quả cho việc tìm kiếm các mẫu ẩn chứa trong

dữ liệu (hidden patterns)

- đuyết định tập tối thiểu cho dữ liệu (rút gọn dữ liệu – data reduction)

- đánh giá sự quan trọng của dữ liệu

- tạo ra các tập luật quyết định (decision rules) từ dữ liệu

- mô hình hình thức hóa dễ hiểu

- dễ dàng diễn dãi các kết quả thu nhận được

cách hình thức hơn, hệ thông tin là một cặp A = (U, A), trong đó U là tập hữu hạn các đối tượng, khác rỗng và được gọi là tập vũ trụ A là tập hữu hạn các thuộc tính, khác rỗng mà: a: U Æ V a với mọi aA Tập V a được gọi là tập giá trị của a

Ví dụ: Một ví dụ đơn giản về hệ thông tin được chỉ ra trong bảng 1.1, ở đây ta có 7

đối tượng và 2 thuộc tính:

Trang 37

Bảng 2.1: ví dụ về hệ thông tin

Ta có thể dễ dàng nhận thấy rằng các cặp đối tượng x 3 , x 4 và x 5 , x 7 có giá trị bằng nhau tại tất cả các thuộc tính và ta nói rằng các đối tượng này không phân biệt từng đôi đối với tập thuộc tính đã cho

Trong nhiều ứng dụng, tập vũ trụ được phân chia thành các tập đối tượng con bởi một tập các thuộc tính phân biệt được gọi là tập thuộc tính quyết định, như vậy tập vũ trụ đã được phân lớp bởi thuộc tính quyết định Hệ thông tin trong trường

hợp này được gọi là một hệ quyết định, đó là một hệ thông tin có dạng A = (U,

CD) trong đó A = CD, C và D được gọi là tập thuộc tính điều kiện và tập thuộc

tính quyết định của hệ thông tin Một ví dụ đơn giản về bảng quyết định có thể thấy

ở bảng sau, bảng này cũng có 7 trường hợp như bảng 1 ở trên nhưng có thêm thuộc

tính quyết định {Walk} và nhận hai giá trị là “Yes” hoặc “No”

Bảng 2.2: Walk – ví dụ về bảng quyết định

Trang 38

Ở đây ta lại thấy rằng các cặp đối tượng x 3 , x 4 và x 5 , x 7 vẫn có giá trị như nhau tại hai thuộc tính điều kiện nhưng cặp thứ nhất có giá trị tại thuộc tính quyết định là khác nhau trong khi cặp thứ hai lại bằng nhau tại thuộc tính quyết định

2.1.2 Quan hệ bất khả phân

Một hệ quyết định (chẳng hạn đó là một bảng quyết định) mô tả toàn bộ tri thức của mô hình, bảng quyết định này có thể được rút gọn lại do ít nhất tồn tại hai khả năng dư thừa thông tin sau đây: thứ nhất, các đối tượng giống nhau hoặc không thể phân biệt được với nhau có thể được lặp đi lặp lại nhiều lần; thứ hai, một số thuộc tính là dư thừa, tức là khi bỏ đi các thuộc tính đó thì thông tin do bảng quyết định cung cấp là không đổi Liên quan đến vấn đề dư thừa thông tin, chúng ta sẽ

xem xét khái niệm “quan hệ tương đương” Một quan hệ hai ngôi RX×X được gọi là quan hệ tương đương khi và chỉ khi nó có các tính chất sau:

- Tính phản xạ: xRx xX

- Tính đối xứng: xRy yRx, ∀ ,x yX

- Tính bắc cầu: xRy, yRz xRz, x,y,zX

Quan hệ tương đương sẽ phân hoạch tập đối tượng ban đầu thành các lớp tương đương; lớp tương đương của một phần tử xXlà tập tất cả các phần tử yX thỏa

lẫn nào thì để cho gọn ta có thể viết IND(B) thay cho IND A (B)

Ví dụ: xét Bảng 2.2 ở trên, quan hệ bất khả phân biệt được định nghĩa trên tập các thuộc tính {Age}, {LEMS}, {Age, LEMS} lần lượt như sau:

Trang 39

2.1.3 Xấp xỉ tập hợp

Như đã trình bày, một quan hệ tương đương sẽ phân hoạch tập vũ trụ các đối tượng thành các lớp tương đương Các lớp tương đương này được sử dụng để tạo nên các tập con của tập vũ trụ và chúng thường chứa các đối tượng có cùng giá trị

tại tập các thuộc tính quyết định Trong trường hợp này ta nói rằng các “khái niệm”

hay tập các giá trị tại tập các thuộc tính quyết định, có thể được mô tả một cách rõ ràng thông qua tập các giá trị tại tập các thuộc tính điều kiện Chẳng hạn với bảng

quyết định trong Bảng 2.2, khái niệm Walk không thể định nghĩa rõ ràng qua 2 thuộc tính điều kiện Age và LEMS: hai đối tượng x 3 và x 4 thuộc cùng một lớp tương đương tạo bởi 2 thuộc tính điều kiện nhưng lại có giá trị khác nhau tại thuộc tính

Walk, bởi vậy nếu một đối tượng nào đó có (Age, LEMS)=(31-45, 1-25) thì ta không thể biết chắc chắn giá trị của nó tại thuộc tính Walk là Yes hay No, tức là ta không thể có một luật như sau: “Walk là Yes nếu Age là 31-45 và LEMS là 1-25”

Tập thô được đưa ra để giải quyết vấn đề này Mặc dù không thể mô tả khái niệm

Walk một cách rõ ràng nhưng căn cứ vào tập thuộc tính {Age, LEMS} ta vẫn có thể chỉ ra được chắc chắn một số đối tượng có Walk là Yes, một số đối tượng có Walk là

No, còn lại các đối tượng thuộc về biên của 2 giá trị Yes và No thì cụ thể như sau:

- Các đối tượng có giá trị tại tập thuộc tính {Age, LEMS} thuộc {{16-30, 50}, {16-30, 26-49}} thì có Walk là Yes

- Các đối tượng có giá trị tại tập thuộc tính {Age, LEMS} thuộc {{16-30, 0}, {46-60, 26-49}} thì có Walk là No

- Các đối tượng có giá trị tại tập thuộc tính {Age, LEMS} thuộc {{345, 25}} thì có Walk là Yes hoặc No Những đối tượng này thuộc về biên của

1-2 giá trị Yes và No

Trang 40

Một cách hình thức, xét hệ thông tin A = (U, A), tập thuộc tính BA, tập đối tượng

Hình 2.1: Minh họa tập xấp xỉ trên, xấp xỉ dưới

- Tập B X là tập các đối tượng trong U mà sử dụng các thuộc tính trong B ta có thể biết chắc chắn được chúng là các phần tử của X

- Tập B X là tập các đối tượng trong U mà sử dụng các thuộc tính trong B ta chỉ có thể nói rằng chúng có thể là các phần tử của X

- Tập BN B (X) = B X \B X được gọi là B-biên của tập X và chứa những đối tượng

mà sử dụng các thuộc tính trong B ta không thể xác định được chúng có thuộc tập X hay không

- Tập U \ B X được gọi là B-ngoài của tập X, gồm những đối tượng mà sử dụng tập thuộc tính B ta biết chắc chắn chúng không thuộc tập X

Ngày đăng: 27/07/2017, 20:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Jiawei Han, Michiline Kamber. Data Ming: Concepts and Techniques, Second Edition. Morgan Kaufmann, 2006 Khác
[2] Jan Komorowski, Lech Polkowsli, Andrzej Skowron. Rough Sets: A Tutorial Khác
[3] Zdzislaw Pawlak. Some Issuses on Rough Sets. Transactions on Rough Sets I, 2004, pp. 11-41 Khác
[5] Ho Tu Bao, Nguyen Ngoc Binh. Nonhierarchical document clustering based on a tolerance rough set model. International Journal of Intelligent Systems Khác
[6] Ho Tu Bao, Nguyen Ngoc Binh, Saori Kawasaki. Hierarchical document clustering based on tolerance rough set model. In Principles of Data Mining and Knowledge Discovery, 4 th European Conference, PKDD 2000, Lyon, France 2000 Khác
[7] Ngo Chi Lang. A tolerance rough set approach to clustering web search results. Master thesis in Computer Science. December 2003 Khác
[8] Dawid Weiss. Descriptive Clustering as a method for exploring text collections. A dissertation submitted to the Council of the Faculty of Computer Science and Management in partial fulfillment of the requirements for the degree of Doctor of Philosophy, 2006 Khác
[9] Nguyễn Thị Kim Ngân. Phân loại văn bản Tiếng Việt bằng phương pháp Support Vector Machines. Luận văn Thạc Sỹ ngành CNTT, ĐHBK HN, 2004 Khác
[10] Nello Cristianini, John Shawe-Taylor. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. Cambridge University Press Khác
[11] Shusaku Tsumoto, Roman Slowinski, Jan Komorowski, Jerry W.Grzymala- Busse. Rough Sets and Current Trend in Computing. 4 th International Conference, RSCTC 2004, Uppsala, Sweden, June 2004, Springer Khác
[12] Walter Daelemans, Bart Goethals, Katharina Morik. Machine Learning and Knowledge Discovery in Databases. European Conference, ECML PKDD 2008, Part II Khác
[13] Rough Sets, Fuzzy Sets, Data Mining and Granular Computing: 11th International Conference, RSFDGrC 2007, Toronto, Canada, May 14-16, 2007 (Lecture Notes in Computer Science) Khác
[14] Helen J. Peat and Peter Willett. Journal of the American Society for Information Science. pp. 378-383, June 199 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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