Để 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 1bộ 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 2LỜ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 2010
Tác giả Luận văn
Trần Quang
Trang 3MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ 5
DANH MỤC CÁC BẢNG BIỂU 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) 15
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 phân nhĩm 24
1.4.3 Một số phương pháp phân nhĩm 26
1.5 Các ứng dụng và xu hướng trong khai phá dữ liệu 30
Chương 2 Tập thơ và ứng dụng 33
2.1 Lý thuyết tập thơ 33
2.1.1 Hệ thơng tin 34
2.1.2 Quan hệ bất khả phân 36
2.1.3 Xấp xỉ tập hợp 37
2.1.4 Thành viên thơ – Rough Membership 41
2.1.5 Phụ thuộc giữa các thuộc tính 42
2.1.6 Rút gọn thuộc tính 43
2.1.7 Ma trận phân biệt được và hàm phân biệt được 49
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ỉ 52
2.2 Các ứng dụng của tập thơ 55
2.3 Mơ hình tập thơ dung sai 56
Chương 3 Một số kỹ thuật trong khai phá dữ liệu văn bản 59
3.1 Các mơ hình biểu diễn văn bản 59
3.1.1 Mơ hình khơng gian vector – Vector Space Model 59
3.1.1.1 Document Indexing 60
3.1.1.2 Feature Weighting 62
3.1.1.3 Similarity Coefficients 63
3.1.2 Mơ hình tập mờ - Fuzzy Set Model 64
3.1.2.1 Lý thuyết tập mờ 64
3.1.3 Mơ hình xác suất – Probabilistic Model 65
3.2 Cơng thức xác định hiệu năng xử lý văn bản 68
3.3 Phân nhĩm văn bản – Text Clustering 69
3.3.1 Giới thiệu 69
3.3.2 Các ứng dụng của phân nhĩm văn bản 70
3.4 Phân loại văn bản – Text Classification 70
3.4.1 Giới thiệu bài tốn phân loại văn bản 70
3.4.1.1 Tổng quan phân loại văn bản 70
3.4.1.2 Nền tảng học máy trong bài tốn phân loại văn bản 71
3.4.2 Một số phương pháp phân loại văn bản 73
3.4.2.1 Decision Tree 73
3.4.2.2 K - Nearnest Neighbor 73
3.4.2.3 Nạve Bayes 74
Trang 43.4.2.4 Support Vector Machines 75
3.5 Tóm tắt văn bản – Text Summarization 75
3.6 Phát hiện xu hướng văn bản – Text Trend Detection 76
3.7 Tìm kiếm văn bản – Text Retrieval 76
Chương 4 Mô hình tập thô dung sai trong xử lý cơ sở dữ liệu văn bản 77
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 77
4.2 Xử lý văn bản tiếng Anh 78
4.2.1 Mô hình tập thô dung sai trong biểu diễn văn bản 78
4.2.2 Nonhierarchical Document Clustering dựa trên mô hình tập thô dung sai 81
4.2.2.1 Giải thuật 81
4.2.2.2 Biểu diễn cluster – cluster representation 82
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 84
4.2.3 Hierarchical Document Clustering dựa trên mô hình tập thô dung sai 85
4.3 Xử lý văn bản tiếng Việt 86
4.3.1 Một số vấn đề chung trong xử lý văn bản Tiếng Việt 86
4.3.1.1 Một số đặc trưng của Tiếng Việt 86
4.3.1.2 Các bước tiền xử lý văn bản 87
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 88
4.3.1.4 Một số kỹ thuật giảm chiều văn bản 91
4.3.2 Áp dụng mô hình TRSM xử lý đồng nghĩa trong Tiếng Việt dựa trên tính đồng xuất hiện của các thuật ngữ 93
4.3.2.1 Đặt vấn đề 93
4.3.2.2 Một số kỹ thuật liên quan đến độ tương tự về ngữ nghĩa (semantic similarity) 94
4.3.2.2.1 Latent Sematic Analyis (LSA) 94
4.3.2.2.2 Pointwise Mutual Information (PMI) 96
4.3.2.2.3 Generalized Latent Semantic Analysis (GLSA) 96
4.3.2.2.4 Probabilistic Latent Semantic Analysis (PLSA) 96
4.3.2.3 Đề xuất hai giải pháp xử lý vấn đề đồng nghĩa trong tiếng Việt 100
4.3.2.4 Cài đặt thử nghiệm 102
4.3.2.4.1 Các bước của chương trình 102
4.3.2.4.2 Minh họa ví dụ tính tay 107
4.3.2.4.3 Các kết quả thực nghiệm 115
Chương 5 Kết luận và hướng phát triển 121
TÀI LIỆU THAM KHẢO 124
TÓM TẮT LUẬN VĂN 126
ABSTRACT OF THESIS 127
Trang 5DANH 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
1 DM Data Mining Khai phá dữ liệu
2 DT Decision Tree Cây quyết định
3 EM Expectation Maximization Cực đại hóa kỳ vọng
4 ERSM Equivalence Rough Sets Model Mô hình tập thô tương đương
5 IDF Inverse Document Frequency Tần số tài liệu ngược
6 KDD Knowledge Discovery in
Databases Khai phá tri thức trong cơ sở dữ liệu
7 KE Keyword Extraction Trích chọn từ khoá
8 K-NN K- Nearest Neighbour K láng giềng gần nhất
9 ML Machine Learning Học máy
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 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 6DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1: Ví dụ về hệ thông tin 35
Bảng 2.2: Walk – ví dụ về bảng quyết định 35
Bảng 2.3: Ví dụ bảng thông tin có thuộc tính dư thừa 43
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 46
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 47
Bảng 2.6: đơn giản hóa Bảng 2.4 48
Bảng 2.7: Đơn giản hóa bảng 2.5 48
Bảng 2.8: Ví dụ ma trận phân biệt được 52
Bảng 4.1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ 92
Bảng 4.2: Ví dụ minh họa cách tính các ma trận trong chương trình 107
Bảng 4.3: Danh sách các thuật ngữ thu được từ tập các tài liệu 107
Bảng 4.4: Ma trận tần suất tài liệu-thuật ngữ 108
Bảng 4.5: Ma trận đồng xuất hiện các thuật ngữ 109
Bảng 4.6: Ma trận dung sai của các thuật ngữ, ngưỡng θ=2 110
Bảng 4.7: Ma trận dung sai của các thuật ngữ, ngưỡng θ=3 110
Bảng 4.8: Ma trận xấp xỉ trên của các tài liệu, ngưỡng θ=2 111
Bảng 4.9: Ma trận trọng số của các thuật ngữ nằm trong các tài liệu, ngưỡng θ=2 112
Bảng 4.10: Ma trận trọng số của các thuật ngữ thuộc xấp xỉ trên của các tài liệu 113
Bảng 4.11: Ma trận trọng số cuối cùng, đã chuẩn hóa chiều dài vector, ngưỡng θ = 2 114
Bảng 4.12: : Ma trận trọng số cuối cùng, đã chuẩn hóa chiều dài vector, ngưỡng θ = 3 114
Bảng 4.13: Danh sách các từ cần xem xét đồng nghĩa 115
Biểu đồ 4.1: So sánh độ tương tự với thuật ngữ “Cầu_thủ” 116
Biểu đồ 4.2: So sánh độ tương tự với thuật ngữ “Công_an” 116
Biểu đồ 4.3: So sánh độ tương tự với thuật ngữ “Bác_sĩ” 116
Biểu đồ 4.4: So sánh độ tương tự với thuật ngữ “Tài_sản” 117
Biểu đồ 4.5: So sánh độ tương tự với thuật ngữ “Mức_án” 117
Biểu đồ 4.6: So sánh độ tương tự với thuật ngữ “Dũng_cảm” 117
Biểu đồ 4.7: So sánh số chiều được rút gọn giữa 3 phương pháp 120
Trang 7DANH 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 38
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 39
Hình 2.3: Lớp các từ phủ lên nhau 57
Hình 3.1: Ma trận tài liệu-thuật ngữ 61
Hình 3.2: Minh họa cách tính precision và recall 68
Hình 3.3: Minh hoạ giải thuật KNN láng giềng gần nhất với K = 5 74
Hình 4.1: Bộ khung hệ thống khai phá dữ liệu dựa trên mô hình TRSM 77
Hình 4.2: Giải thuật hierarchical agglomerative clustering dựa trên mô hình TRSM 85
Hình 4.3: Ví dụ tình huống nhập nhằng trong đồ thị phân tách câu 90
Hình 4.4: Tính toán SVD 94
Hình 4.5: Giới thiệu mô hình PLSA 97
Hình 4.6: Mô hình trực quan biểu diễn aspect model 98
Trang 8LỜ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 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 và có thể phát triển tiếp
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 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 9Chươ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 10Nhiề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 [1]:
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 113 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ư phân 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
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…
Trang 121.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 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
Trang 13Có 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ữ 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
Trang 14tậ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,
Cross-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ị
trong training set, 1/3 còn lại nằm 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 đó
Cross-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
được dùng để học; độ chính xác được tính bằng toàn bộ phần tử đượ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
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
Trang 15phầ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) [1]
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 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
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}
Trang 16Hì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ữ 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
Trang 17Hình 1.4: Ví dụ về siêu phẳng cùng với lề tương ứng
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
(1.2)
(1.3)
Trang 18và 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
ở 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 (1.6) ở 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),
(1.4)
(1.5)
(1.6)
Trang 19sử 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
(1.7)
Trang 201.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ạ sau:
1 4
3 3
2 2
1
1 (X) =x,φ (X) = x ,φ (X) =x ,φ (X) = (x) ,φ (X) =x x ,φ (X) = x x
Một siêu phẳng quyết định trong không gian mới là d(Z) = WZ + b, trong đó W và Z
là các vector Tìm ra W và b sau đó thay thế trở lại trong không gian ban đầu thì
Trang 21siêu 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 (1.7)
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
(1.8)
Trang 22tá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] – Phân nhóm – 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
(1.9)
Trang 23(classification), 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 quy mô (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 quy mô (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 24gian đ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
Khả năng xử lý dữ liệu đ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 phân nhóm
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à k≤n 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 25heuristic 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 đó
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 [1](cùng với các mở rộng của nó) và OPTICS[1] là các phương pháp
Trang 26thô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[1] 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[1] 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[1] là một giải thuật thực hiện việc phân tích
expectation-maximization dựa trên mô hình thống kê COBWEB[1] 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 [1] 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 tnơ-rong
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 phân nhóm
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
Trang 27cá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:
Hình sau minh họa giải thuật k-means:
(1.10)
Trang 28Hì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
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, sử
dụng mô hình mật độ hỗn hợp (mixture density model) hữu hạn của k phân bố xác
Trang 29suấ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
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 x i vào cluster C k với xác suất:
Trang 30Trong đó 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:
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,
(1.11)
(1.12)
Trang 31né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
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
Trang 32cho 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 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 33Chương 2
Tập thô và ứng dụng
2.1 Lý thuyết tập thô
Lý thuyết tập thô [2][3] được đưa ra bởi Z Pawlak vào năm 1980, đây là một
hướng tiếp cận toán học mới cho bài toán tri thức chưa hoàn chỉnh – imperfect
knowledge; bài toán này đã được tìm cách giải quyết trong một thời gian dài bởi các
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 34systems), 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 a∈ A 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 35Bả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,
C∪D) trong đó A = C∪D, 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
Ở đâ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
Trang 362.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 R⊆X×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 ∀x∈X
- Tính đối xứng: xRy ⇒ yRx, ∀ ,x y∈X
- Tính bắc cầu: xRy, yRz ⇒ xRz, ∀x,y,z∈X
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ử x∈Xlà tập tất cả các phần tử y∈X thỏa
mãn xRy
Xét hệ thông tin A = (U, A), khi đó mỗi tập thuộc tính B⊆A đều tạo ra tương ứng
một quan hệ tương đương IND A (B):
IND A (B) được gọi là quan hệ B-bất khả phân biệt Nếu (x, x’)∈ IND A (B) thì các đối
tượng x và x’ là không thể phân biệt được trên tập thuộc tính B Lớp tương đương của quan hệ B-bất khả phân biệt được định nghĩa bởi [x] B Nếu không có sự nhầm
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:
(2.1)
Trang 372.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,
1-25}} thì có Walk là Yes hoặc No Những đối tượng này thuộc về biên của
2 giá trị Yes và No
Một cách hình thức, xét hệ thông tin A = (U, A), tập thuộc tính B⊆ A, tập đối tượng
Trang 38Hì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
Một tập hợp được gọi là tập thô nếu đường biên của nó là khác rỗng, ngược lại ta nói đây là tập rõ
Trang 39Ví dụ: trường hợp phổ biến nhất để tổng hợp các khái niệm ở trên là dựa vào tập
thuộc tính điều kiện Gọi W = {x | Walk(x) = Yes} với dữ liệu được cho trên Bảng
2.2; khi đó ta thu được các vùng xấp xỉ như sau:
Rõ ràng tập W là thô bởi vì vùng biên của nó là khác rỗng, điều này được minh họa
thông qua hình vẽ sau:
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
Trang 40b) X được gọi là “B-không định nghĩa được một cách bên trong” (internally
B-undefinable) khi và chỉ khi B (X) = Θ và B(X) ≠U,
c) X được gọi là “B-không định nghĩa được một cách bên ngoài” (externally
B-undefinable) khi và chỉ khi B (X) ≠ Θvà B(X) =U,
d) X được gọi là “không định nghĩa được một cách hoàn toàn” (totally
B-undefinable) khi và chỉ khi B (X) = Θ và B(X) =U
Sự phân loại trên có thể được mô tả một cách trực quan như sau:
a) X là B-định nghĩa được một cách thô nghĩa là: bằng cách sử dụng tập thuộc tính B ta có thể chỉ ra một số đối tượng của U thuộc về tập X và
một số đối tượng của U thuộc về tập U\X
b) X là B-không định nghĩa được một cách bên trong nghĩa là: sử dụng tập
thuộc tính B ta có thể chỉ ra một số đối tượng của U thuộc về U\X nhưng
lại không chỉ ra được các đối tượng thuộc về X
c) X là B-không định nghĩa được một cách bên ngoài nghĩa là: sử dụng tập thuộc tính B ta có thể chỉ ra một số đối tượng của U thuộc về X nhưng không thể chỉ ra được các đối tượng thuộc về U\X