LỜI CAM ĐOAN Tôi xin cam đoan mọi kết quả của đề tài: “Khảo sát hai thuật toán: SAC-DTRSM, tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô” là công trình nghi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRAN G
PHẠM THỊ NHUNG
KHẢO SÁT HAI THUẬT TOÁN: SAC-DTRSM,
TỰ ĐỘNG XÁC ĐỊNH SỐ CỤM TRONG KĨ THUẬT PHÂN CỤM DỰA VÀO LÝ THUYẾT TẬP THÔ
LUẬN VĂN THẠC SĨ
KHÁNH HÒA - 2019
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
PHẠM THỊ NHUNG
KHẢO SÁT HAI THUẬT TOÁN: SAC-DTRSM,
TỰ ĐỘNG XÁC ĐỊNH SỐ CỤM TRONG KĨ THUẬT PHÂN CỤM DỰA VÀO LÝ THUYẾT TẬP THÔ
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan mọi kết quả của đề tài: “Khảo sát hai thuật toán: SAC-DTRSM,
tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô” là công
trình nghiên cứu của cá nhân tôi và chưa từng được công bố trong bất cứ công trình khoa học nào khác cho tới thời điểm này
Khánh Hòa, ngày 31 tháng 12 năm 2019
Tác giả luận văn
Phạm Thị Nhung
Trang 4LỜI CẢM ƠN
Trong suốt thời gian thực hiện đề tài, tôi đã nhận được sự giúp đỡ của quý phòng ban trường Đại học Nha Trang, Khoa Công nghệ thông tin đã tạo điều kiện tốt nhất cho tôi được hoàn thành đề tài Đặc biệt là sự hướng dẫn tận tình của TS Nguyễn Đức Thuần
đã giúp tôi hoàn thành tốt đề tài Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến sự giúp đỡ này
Mặc dù đã có nhiều cố gắng trong quá trình nghiên cứu, song do khả năng và kinh nghiệm của bản thân có hạn, nên luận văn không tránh khỏi những tồn tại, hạn chế và thiếu sót Vì vậy tôi rất mong được nhận sự đóng góp chân thành của các thầy giáo, cô giáo, của các đồng nghiệp nhằm bổ sung hoàn thiện trong quá trình nghiên cứu tiếp theo Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp
đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài
Tôi xin chân thành cảm ơn!
Khánh Hòa, ngày 31 tháng 12 năm 2019
Tác giả luận văn
Phạm Thị Nhung
Trang 5MỤC LỤC
Lời cam đoan iii
Lời cảm ơn iv
Mục lục v
Danh mục ký hiệu viii
Danh mục chữ viết tắt ix
Danh mục bảng x
Danh mục hình xii
Trích yếu luận văn xiii
LỜI MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 3
1.1 Khám phá tri thức và khai phá dữ liệu 3
1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu 3
1.1.2 Quá trình khám phá tri thức 3
1.1.3 Quá trình khai phá dữ liệu 4
1.1.4 Các phương pháp khai phá dữ liệu 4
1.1.5 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá dữ liệu 5
1.1.6 Các lĩnh vực ứng dụng thực tiễn của khai phá dữ liệu 6
1.1.7 Những thách thức trong ứng dụng và kỹ thuật khai phá dữ liệu 6
1.2 Phân cụm dữ liệu 6
1.2.1 Khái niệm của phân cụm dữ liệu 6
1.2.2 Các ứng dụng của phân cụm dữ liệu 7
1.2.3 Các yêu cầu của phân cụm trong khai phá dữ liệu 8
1.2.4 Phân loại các kỹ thuật phân cụm trong khai phá dữ liệu 9
1.2.4.1 Kỹ thuật phân cụm phân hoạch 9
1.2.4.2 Kỹ thuật phân cụm phân cấp 10
Trang 61.2.4.3 Kỹ thuật phân cụm dựa trên mật độ 10
1.2.4.4 Kỹ thuật phân cụm dựa trên lưới 11
1.2.4.5 Kỹ thuật phân cụm dựa trên mô hình 11
1.2.5 Một số thuật toán phân cụm cổ điển 11
1.2.5.1 Thuật toán phân cụm K-Means 11
1.2.5.2 Thuật toán phân cụm K-Medoids 12
1.2.5.3 Thuật toán phân cụm K-Center 13
Chương 2 LÝ THUYẾT TẬP THÔ 14
2.1 Giới thiệu 14
2.2 Một số khái niệm 14
2.2.1 Hệ thống thông tin 14
2.2.2 Quan hệ không phân biệt 15
2.2.2.1 Quan hệ tương đương – Lớp tương đương 15
2.2.2.2 Xấp xỉ tập hợp 16
2.2.3 Tập thô 18
2.2.4 Độ chính xác của xấp xỉ 20
2.2.5 Bảng quyết định 20
2.2.6 Ma trận phân biệt 21
Chương 3 KHẢO SÁT HAI THUẬT TOÁN SAC-DTRSM, TỰ ĐỘNG XÁC ĐỊNH SỐ CỤM TRONG KĨ THUẬT PHÂN CỤM DỰA VÀO LÝ THUYẾT TẬP THÔ 23
3.1 Thuật toán phân cụm bán tự động dựa trên lý thuyết tập thô 23
3.1.1 Khái quát vấn đề 23
3.1.2 Phân cụm định hướng tri thức 23
3.1.3 Một số khái niệm cơ bản của thuật toán phân cụm K-O 24
3.1.3.1 Quan hệ không thể phân biệt 24
3.1.3.2 Khởi tạo quan hệ tương đương 25
Trang 73.1.3.3 Độ đo giá trị tương tự giữa các đối tượng 25
3.1.4 Mô hình lý thuyết quyết định dựa vào lý thuyết tập thô 26
3.1.5 Thuật toán phân cụm bán tự động dựa trên lý thuyết tập thô 28
3.1.5.1 Chọn các giá trị ngưỡng Th𝑖 28
3.1.5.2 Định nghĩa mức độ không phân biệt của các cụm 29
3.1.5.3 Hiệu chỉnh sơ đồ phân cụm 29
3.1.5.4 Các bước của thuật toán SAC-DTRSM 30
3.2 Tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô 37
3.2.1 Khái quát vấn đề 37
3.2.2 Thuật toán phân cụm tích đống phân cấp 38
3.2.3 Mô hình DTRS mở rộng 39
3.2.4 Hàm đánh giá tính hợp lệ phân cụm 40
3.2.5 Tự động xác định số lượng cụm 42
3.2.5.1 Mô tả thuật toán ACA-DTRS 42
3.2.5.2 Tính đúng của thuật toán 43
3.2.5.3 Mô tả lại thuật toán ACA-DTRS 48
3.2.6 Thuật toán phân cụm nhanh và tự động 54
3.3 Đánh giá hiệu năng của một phân cụm dựa vào ma trận nhầm lẫn 59
3.4 Đánh giá kết quả thuật toán SAC-DTRSM và tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 66
Trang 8val : Giá trị tương tự trung bình
P : Khả năng phân loại
P : Ma trận khả năng
K : Số cụm
n : Số đối tượng
𝐶ℎ : Tên cụm
Trang 9DANH MỤC CHỮ VIẾT TẮT
ACA-DTRS : Automatic Clustering Algorithm - Decision Theory Rough Set (Thuật
toán phân cụm tự động dựa vào mô hình lý thuyết quyết định dựa vào
lý thuyết tập thô) DTRS : Decision Theory Rough Set (Mô hình lý thuyết quyết định dựa vào lý
thuyết tập thô) FACA-DTRS : Fast and Automatic Clustering Algorithm - Decision Theory Rough Set
(Thuật toán phân cụm nhanh và tự động dựa vào mô hình lý thuyết quyết định dựa vào lý thuyết tập thô)
K-O : Knowledge-Oriented (Phân cụm định hướng tri thức)
SAC-DTRSM : Semi-Autonomous Clustering Based on Decision Theory Rough Set
Model (Phân cụm bán tự động dựa vào mô hình lý thuyết quyết định dựa vào lý thuyết tập thô)
Trang 10DANH MỤC BẢNG
Bảng 2.1 Bảng dữ liệu về lựa chọn sản phẩm 15
Bảng 2.2 Bảng hệ thống thông tin minh họa 16
Bảng 2.3 Một hệ quyết định điều tra vấn đề da cháy nắng 17
Bảng 2.4 Bảng kết quả quyết định dựa vào lý thuyết tập thô 18
Bảng 2.5 Một tập dữ liệu Thời tiết_Chơi Tennis 19
Bảng 3.1 Bảng dữ liệu minh họa 24
Bảng 3.2 Minh họa sự xắp xếp giảm dần độ tương tự ở hàng i 28
Bảng 3.3 Bảng dữ liệu liệu minh họa của hai tác giả Bean và Kambhampati 31
Bảng 3.4 Bảng ma trận phân biệt ở lần tính 1 32
Bảng 3.5 Bảng ma trận phân biệt ở lần tính 2 34
Bảng 3.6 Bảng ma trận phân biệt ở lần tính 3 35
Bảng 3.7 Bảng ma trận phân biệt ở lần tính 4 35
Bảng 3.8 Bảng ma trận phân biệt ở lần tính 5 36
Bảng 3.9 Bảng ma trận phân biệt ở lần tính 6 36
Bảng 3.10 Bảng ma trận phân biệt ở lần tính 7 37
Bảng 3.11 Bảng ma trận phân biệt ở lần tính 8 37
Bảng 3.12 Bảng dữ liệu minh họa cho thuật toán ACA-DTRS 49
Bảng 3.13 Bảng tính ma trận sim(𝑥𝑖, 𝑥𝑗) 49
Bảng 3.14 Bảng tính ma trận P(𝑥𝑖, 𝑥𝑗) 50
Bảng 3.15 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 1 50
Bảng 3.16 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 2 51
Bảng 3.17 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 3 51
Bảng 3.18 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 4 52
Bảng 3.19 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 5 52
Trang 11Bảng 3.20 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 6 53
Bảng 3.21 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 7 53
Bảng 3.22 Bảng tính ma trậnf(𝐶ℎ, 𝐶𝑔) lần 8 53
Bảng 3.23 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔) lần 9 54
Bảng 3.24 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)11 56
Bảng 3.25 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)4 57
Bảng 3.26 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)3 57
Bảng 3.27 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)7 58
Bảng 3.28 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)5 58
Bảng 3.29 Bảng tính ma trận f(𝐶ℎ, 𝐶𝑔)4 59
Bảng 3.30 Bảng một số độ đo hiệu năng phân cụm 60
Bảng 3.31 So sánh kết quả phân cụm của các thuật toán 62
Bảng 3.32 So sánh hai thuật toán SAC-DTRSM và FACA-DTRS 63
Bảng 3.33 So sánh hai thuật toán ACA-DTRSM và FACA-DTRS 64
Trang 12DANH MỤC HÌNH
Hình 1.1 Minh họa phân cụm dữ liệu 7
Hình 1.2 Các chiến lược phân cụm phân cấp 10
Hình 2.1 Minh họa tập thô 18
Hình 3.1 Mô tả sự sắp xếp độ tương tự của các đối tượng đối với xi 28
Hình 3.2 Sơ đồ minh họa của ma trận P(x𝑖, x𝑗) 43
Hình 3.3 Đồ thị của hàm đánh giá tính hợp lệ của cụm 46
Trang 13TRÍCH YẾU LUẬN VĂN
Đề tài nghiên cứu: Khảo sát hai thuật toán: SAC-DTRSM, tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô
Mục tiêu nghiên cứu: Tìm hiểu thuật toán SAC-DTRSM và thuật toán tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô Xây dựng được chương trình minh họa, so sánh kết quả các thuật toán trên với bộ dữ liệu của UCI
Nội dung nghiên cứu: Luận văn nghiên cứu một cách tổng quan về khám phá tri thức và khai phá dữ liệu, về phân cụm dữ liệu, một số kỹ thuật phân cụm dữ liệu phổ biến; nghiên cứu việc sử dụng công cụ lý thuyết tập thô vào bài toán phân cụm Luận văn đi sâu vào việc nghiên cứu thuật toán phân cụm tự động và bán tự động dựa vào mô hình lý thuyết quyết định dựa vào lý thuyết tập thô; cài đặt thuật toán trên một số bộ dữ liệu của UCI để phân tích, đánh giá kết quả của phân cụm tự động so với phân cụm bán
Kết quả đạt được: Luận văn đã trình bày được các thuật toán phân cụm tự động
và bán tự động sử dụng mô hình lý thuyết quyết định dựa vào lý thuyết tập thô, đồng thời nêu được các ưu nhược điểm của các thuật toán và cài đặt được chương trình thử nghiệm trên một số bộ dữ liệu cụ thể của UCI để đánh giá, đưa ra kết quả so sánh của các thuật toán
Phân cụm dữ liệu trong khai phá dữ liệu là một lĩnh vực nghiên cứu rộng lớn, bao hàm nhiều phương pháp, kĩ thuật, nhiều hướng nghiên cứu, tiếp cận khác nhau và luận văn chính là sự thể hiện cho một nghiên cứu về cách tiếp cận mới trong việc giải quyết bài toán phân cụm dữ liệu trong khai phá dữ liệu
Từ khóa: Phân cụm dữ liệu, lý thuyết tập thô, lý thuyết quyết định, phân cụm tự động, phân cụm bán tự động
Trang 14LỜI MỞ ĐẦU
Phân cụm là một phương pháp học không giám sát, đã được áp dụng rộng rãi trong nhiều lĩnh vực như nhận dạng mẫu, phân tích hình ảnh, truy xuất thông tin, tin sinh học, khai thác web,… Cho đến nay, bài toán phân cụm vẫn luôn là một chủ đề được rất nhiều học giả nghiên cứu, việc tìm ra một phương pháp phân cụm tổng quát có thể giải quyết một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau vẫn đang là một vấn đề khó và mở Hai tác giả Hong Yu và Dachun Yan tiếp cận bài toán phân cụm theo một khía cạnh mới trong việc phân cụm với các dữ liệu có tính mơ hồ Các tác giả đặt ra một vấn đề mới đó là các đối tượng sau khi được phân cụm có thể thuộc về nhiều cụm khác nhau, thay vì chỉ thuộc về một cụm như các thuật toán trước đó Ưu điểm trong đề xuất thuật toán của hai tác giả đó chính là việc khởi tạo được sơ đồ phân cụm ban đầu một cách tự động mà không cần có sự can thiệp từ người dùng, tuy nhiên một điểm hạn chế,
đó là cần phải cung cấp các tham số đầu vào để thuật toán có thể hiệu chỉnh nhằm đạt được một phân cụm cuối cùng Đây cũng được coi là một trong những hạn chế lớn nhất của hầu hết các thuật toán phân cụm phổ biến
Nhóm tác giả Hong Yu, Zhanguo Liu, Guoyin Wang tiếp cận bài toán phân cụm theo một khía cạnh mới và khác để giải quyết vấn đề: Trong phân tích cụm, có bao nhiêu cụm phù hợp để mô tả một hệ thống nhất định? Ưu điểm trong đề xuất thuật toán của nhóm tác giả là thuật toán tự động dừng ở số cụm tốt mà không có tham số thủ công được chỉ định trước Tuy nhiên, phương pháp chỉ xác định số lượng cụm tự động và hiệu quả cho phân cụm dữ liệu thông tin đầy đủ, không giải quyết hiệu quả đối với phân cụm
dữ liệu mơ hồ, chồng chéo
Mặc dù vậy, hai thuật toán được đề xuất của hai nhóm tác giả cũng đã mở ra một cái nhìn trong việc giải quyết bài toán phân cụm
Luận văn “Khảo sát hai thuật toán: SAC-DTRSM, tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô” giúp tôi có thêm hiểu biết liên
quan đến bài toán phân cụm, các kiến thức về lý thuyết tập thô Đó là những kiến thức hữu ích, là nền tảng cho các nghiên cứu phát triển sau này
Nội dung luận văn gồm 3 chương:
Chương 1: Tổng quan về phân cụm dữ liệu Giới thiệu về khám phá tri thức và khai phá dữ liệu; về phân cụm dữ liệu và các phương pháp phân cụm
Trang 15Chương 2: Lý thuyết tập thô Trình bày tổng quan về lý thuyết tập thô
Chương 3: Khảo sát hai thuật toán: SAC-DTRSM, tự động xác định số cụm trong
kĩ thuật phân cụm dựa vào lý thuyết tập thô Trình bày hai thuật toán: SAC-DTRSM, tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô, cài đặt thử nghiệm với bộ dữ liệu của UCI, so sánh kết quả
Trang 16CHƯƠNG 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 1.1 Khám phá tri thức và khai phá dữ liệu
1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu
Cũng như điện tử và sóng đã trở thành bản chất của kỹ thuật điện cổ điển, thì ta thấy rằng dữ liệu, thông tin, tri thức đang là lĩnh vực tập trung nhiều nghiên cứu và ứng
dụng: phát hiện tri thức và khai phá dữ liệu
Khám phá tri thức hay phát hiện tri thức trong cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: phân tích, tổng hợp, khả dụng
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các thuật toán khai phá dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói cách khác, mục tiêu của khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại tiềm ẩn trong cơ sở dữ liệu dung lượng lớn
Mục đích của khai phá dữ liệu là phát hiện tri thức phục vụ cho các lợi ích trong thực tế và các yêu cầu trong nghiên cứu học thuật Do đó, ta có thể coi mục đích chính của khai phá dữ liệu là mô tả (description) và dự đoán (prediction) Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữ liệu để chiết xuất ra các mẫu nhằm dự đoán những giá trị chưa biết hoặc giá trị của các biến sẽ được quan tâm trong tương lai Mô tả tập trung vào việc tìm kiếm các mẫu biểu diễn dữ liệu mà con người có thể hiểu được
1.1.2 Quá trình khám phá tri thức
- Bước đầu tiên: Tìm hiểu phạm vi ứng dụng và xác định bài toán Đây là điều kiện tiên quyết để rút trích tri thức hữu ích, phục vụ cho việc lựa chọn phương pháp khai phá
dữ liệu thích hợp theo các mục tiêu ứng dụng và tính chất của dữ liệu
- Bước thứ hai: Thu thập và tiền xử lý dữ liệu, bao gồm cả việc lựa chọn các nguồn
dữ liệu, loại bỏ nhiễu hoặc ngoại lệ, xử lý các dữ liệu bị thiếu, việc chuyển đổi (phân rã nếu cần thiết), rút gọn dữ liệu …
Trang 17- Bước thứ ba: Khai phá dữ liệu nhằm rút trích các mẫu hoặc các mô hình ẩn trong
dữ liệu Một mô hình có thể được xem là “một biểu diễn cấu trúc tổng thể, hệ thống các thành phần cơ sở dữ liệu hoặc mô tả dữ liệu phát sinh như thế nào”
- Bước thứ tư: Là làm rõ tri thức phát hiện được, đặc biệt là thể hiện mô tả và dự báo Thực tế cho thấy các mẫu được phát hiện hoặc các mô hình có được từ dữ liệu không phải luôn luôn được xem xét hoặc sử dụng ngay, mà cần phải thực hiện một quá trình lặp để đánh giá tri thức phát hiện
- Bước cuối: Là đưa tri thức phát hiện được vào sử dụng thực tế
1.1.3 Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu bao gồm các bước chính:
- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết
- Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp
- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng sao cho thuật toán khai thác dữ liệu có thể hiểu được Đây là một quá trình rất khó khăn,
có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn
bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v…
- Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứng với ý nghĩa của nó
1.1.4 Các phương pháp khai phá dữ liệu
Với hai mục đích chính của khai phá dữ liệu là Dự đoán (Prediction) và Mô tả (Description), người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu:
- Các phương pháp dự đoán:
+ Phân lớp (Classfication)
+ Hồi qui (Regression)
+ Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)
- Các phương pháp mô tả:
+ Phân cụm ( Clustering )
Trang 18+ Luật kết hợp (Association Rules)
+ Mô hình ràng buộc (Dependency modeling)
+ Biểu diễn mô hình (Model Evaluation)
+ Kiểm định mô hình (Model Evaluation)
1.1.5 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá dữ liệu
Phân lớp và dự đoán (Classification & prediction):
Là quá trình xếp một đối tượng vào một trong những lớp đã biết trước (Ví dụ: phân lớp các bệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ liệu thời tiết ) Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree), mạng nơron nhân tạo (neural network), Hay lớp bài toán này còn được gọi là học có giám sát - Học có thầy (supervised learning)
Phân cụm (clustering/segmentation):
Sắp xếp các đối tượng theo từng cụm dữ liệu tự nhiên, tức là số lượng và tên cụm chưa được biết trước Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Lớp bài toán này còn được gọi là học không giám sát - Học không thầy (unsupervised learning)
Luật kết hợp (association rules):
Là dạng luật biểu diễn tri thức ở dạng khá đơn giản (Ví dụ: 80% sinh viên đăng ký học cơ sở dữ liệu thì có tới 60% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin) Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo dục, viễn thông, tài chính và thị trường chứng khoán,
Phân tích chuỗi theo thời gian (sequential/temporal patterns):
Tương tự như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y, phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cao
Mô tả khái niệm (concept desccription & summarization):
Lớp bài toán này thiên về mô tả, tổng hợp và tóm tắt khái niệm
Ví dụ: tóm tắt văn bản
Trang 191.1.6 Các lĩnh vực ứng dụng thực tiễn của khai phá dữ liệu
Một số lĩnh vực ứng dụng thực tế điển hình của khai phá dữ liệu như:
- Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng; phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị; phân tích hành vi khách hàng
- Thương mại điện tử: Công cụ tìm hiểu, định hướng, thúc đẩy, giao tiếp với khách hàng; phân tích khách hàng duyệt web; phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với loại khách hàng
- Công nghệ sinh học và dược phẩm: Phân tích các dữ liệu di truyền; tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen
- Nhân sự: Phân tích dữ liệu để đánh giá trình độ, kinh nghiệm, kỹ năng, chứng chỉ, vị trí công việc trước đây,… phục vụ chọn ứng cử viên khi tuyển dụng
1.1.7 Những thách thức trong ứng dụng và kỹ thuật khai phá dữ liệu
Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô trong cơ sở
dữ liệu Những vấn đề khó khăn phát sinh trong khai phá dữ liệu chính là từ đây Một
số thách thức liên quan đến cơ sở thường gặp:
1.2.1 Khái niệm của phân cụm dữ liệu
Cụm (Cluster) là một tập các đối tượng:
- Các phần tử thuộc một cụm có sự tương đồng, tương tự nhau
Trang 20- Các phần tử dữ liệu nằm trong các cụm khác nhau có độ tương tự thấp hơn các
phần tử dữ liệu nằm trong một cụm
Phân cụm dữ liệu là một kỹ thuật trong khai phá dữ liệu nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Phân cụm dữ liệu là một hình thức học không giám sát (unsupervised learning) trong đó các mẫu học chưa được gán nhãn
Hình 1.1 Minh họa phân cụm dữ liệu
Mục đích của phân cụm dữ liệu là tìm những mẫu đại diện hoặc gom dữ liệu tương
tự nhau (theo một chuẩn đánh giá nào đó) thành những cụm Các điểm dữ liệu nằm trong các cụm khác nhau có độ tương tự thấp hơn các dữ liệu nằm trong một cụm
1.2.2 Các ứng dụng của phân cụm dữ liệu
Phân cụm có nhiều ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau:
- Lĩnh vực kinh tế: tìm quốc gia có nền kinh tế tương đồng hay các công ty có tiềm lực kinh tế như nhau Phân tích cụm có thể giúp các nhà marketing khám phá nhóm khách hàng có cùng thói quen mua sắm hay tìm kiếm nhóm các khách hàng quan trọng
- Trong sinh học: giúp phân loại thực vật, động vật, các mẫu gen với các chức năng tương tự nhau
- Trong y học: phát hiện các nhóm bệnh nhân có cùng triệu chứng lâm sàng
- Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để cung cấp cho độc giả, cũng như đặt hàng với nhà cung cấp
Trang 21- Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thường cao, gian lận thương mại
- Quy hoạch đô thị : nhận dạng các nhóm nhà theo kiểu, vị trí địa lí, giá trị nhằm cung cấp thông tin cho quy hoạch đô thị
- Web: gom cụm phân loại các tài liệu trên Web
1.2.3 Các yêu cầu của phân cụm trong khai phá dữ liệu
Có khả năng tương thích, hiệu quả với cơ sở dữ liệu dung lượng lớn, số chiều lớn:
Phân cụm trên một mẫu của dữ liệu lớn có thể dẫn đến các kết quả thiên lệch Cần phải có các thuật toán gom cụm phù hợp trên cơ sở dữ liệu lớn Phân cụm gặp rất nhiều thách thức đối với dữ liệu có số chiều lớn (vì trong không gian có số chiều lớn, các đối tượng có thể rất thưa và bố trí với cấu trúc phức tạp)
Có khả năng xử lý các kiểu dữ liệu khác nhau:
Nhiều thuật toán được thiết kế để xử lý dữ liệu bằng số Tuy nhiên, các ứng dụng
có thể yêu cầu phân cụm các dạng dữ liệu khác nhau như dữ liệu kiểu nhị phân, phân loại, trật tự hay sự trộn lẫn của các kiểu dữ liệu
Có khả năng khám phá ra các cụm với các dạng bất kỳ:
Nhiều thuật toán phân cụm dựa trên các số đo khoảng cách Euclidean hay Manhattan Các thuật toán dựa trên các số đo khoảng cách có xu hướng tìm các cụm hình cầu với kích thước và mật độ tương tự nhau Tuy nhiên, một cụm (cluster) có thể
có hình dạng bất kỳ Do đó cần phát triển các thuật toán để tìm ra các cluster hình dạng bất kỳ
Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào:
Nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất
là với các tập dữ liệu có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm
Khả năng thích nghi với dữ liệu nhiễu:
Hầu hết những cơ sở dữ liệu thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp
Trang 22Ít nhạy cảm với thứ tự của các dữ liệu vào:
Một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu
Phân cụm ràng buộc:
Một nhiệm vụ đặt ra là đi tìm những thuật toán phân cụm thỏa mãn các ràng buộc khác nhau, bởi vì nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng buộc khác nhau
Dễ hiểu và dễ sử dụng:
Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Do đó, phân cụm phải thể hiện được ý nghĩa tường minh và ứng dụng rõ ràng
1.2.4 Phân loại các kỹ thuật phân cụm trong khai phá dữ liệu
Hiện nay, các kỹ thuật phân cụm phân loại theo các cách tiếp cận chính sau [2]:
1.2.4.1 Kỹ thuật phân cụm phân hoạch
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k cụm (k≤n, k là
số do người sử dụng ấn định) Các cụm phải thỏa mãn:
- Mỗi cụm chứa ít nhất một đối tượng
- Mỗi đối tượng thuộc về một cụm duy nhất
Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các đối tượng nào có quan hệ là gần nhau với mỗi điểm khác và các đối tượng nào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác
Tuy nhiên, khi các cụm có hình dạng phức tạp hoặc các cụm có mật độ các điểm dầy đặc thì kỹ thuật này không được hữu hiệu Các thuật toán phân cụm dựa trên kỹ thuật phân hoạch có độ phức tạp rất lớn Để giảm bớt độ phức tạp, heuristic thường được
sử dụng là chiến lược ăn tham (Greedy) và hàm tiêu chuẩn để đánh giá chất lượng của các cụm Hai thuật toán phổ biến sử dụng kỹ thuật này là K-Means (1967) và K-Medois (1987)
Trang 231.2.4.2 Kỹ thuật phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này đó là:
Hòa nhập nhóm, thường được gọi là tiếp cận Bottom-Up
Phân chia nhóm, thường được gọi là tiếp cận Top-Down
Hình 1.2 Các chiến lược phân cụm phân cấp
Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong khai thác dữ liệu
1.2.4.3 Kỹ thuật phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là
số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước
Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm
Trang 241.2.4.4 Kỹ thuật phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô
Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân phân cụm dựa trên mật độ không giải quyết được Ưu điểm của phương pháp phân cụm dựa trên lưới là thời gian xử lí nhanh và độc lập với số đối tượng
dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới
1.2.4.5 Kỹ thuật phân cụm dựa trên mô hình
Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các phân hoạch Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất
cơ bản Các thuật toán phân cụm dựa trên mô hình có hai cách tiếp cận chính: mô hình thống kê và mạng nơron Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm
1.2.5 Một số thuật toán phân cụm cổ điển
1.2.5.1 Thuật toán phân cụm K-Means
Ý tưởng: Thuật toán K-Means phân hoạch một tập n đối tượng thành k cụm sao cho các đối tượng trong cùng một cụm có độ tương tự cao và các đối tượng trong các
Trang 25cụm khác nhau có độ tương tự thấp hơn Mỗi cụm được đại diện bởi trọng tâm (cluster mean) của nó Một đối tượng được phân vào một cụm nếu khoảng cách từ đối tượng đó đến trọng tâm của cụm đang xét là nhỏ nhất (so với các trọng tâm của các cụm còn lại) Sau đó trọng tâm của các cụm được cập nhật lại (trung bình cộng các phần tử thuộc cụm) Quá trình lặp lại cho đến khi hàm mục tiêu bé hơn một ngưỡng cho phép, một hàm mục tiêu (square-error) thường được sử dụng:
𝐸 = ∑ ∑|𝑝 − 𝑚𝑖|2 (1.1)
𝑘
𝑖=1Trong đó, p là đối tượng thuộc cụm 𝐶𝑖, 𝑚𝑖 là trọng tâm của cụm 𝐶𝑖
Do K-Means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.Tuy nhiên, nhược điểm của K-Means là chỉ áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, K-Means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu Hơn nữa, chất lượng phân cụm dữ liệu của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của K-Means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế
Trên thực tế chưa có một giải pháp tối ưu nào để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất
1.2.5.2 Thuật toán phân cụm K-Medoids
Ý tưởng của K-Medoids cũng khá giống với K-Means, nhưng chỉ khác là trong thuật toán K-means, mỗi đối tượng đại diện bằng 1 trọng tâm của cụm được tính bằng giá trị trung bình của các đối tượng trong cụm ấy; thì K-Medoids chọn trọng tâm của cụm là một điểm thuộc cụm ấy sao cho tổng khoảng cách từ các điểm còn lại tới trọng tâm của cụm là nhỏ nhất Nghĩa là hàm mục tiêu (absolute-error) sau đạt giá trị bé nhất
Trang 261.2.5.3 Thuật toán phân cụm K-Center
Ý tưởng của thuật toán: Đầu tiên chọn bất kỳ đối tượng như là trọng tâm cụm đầu tiên và gán tất cả các đối tượng cho cụm đầu tiên Tiếp đó chọn trọng tâm cụm thứ hai
là đối tượng xa trọng tâm đầu tiên nhất và tạo ra cụm thứ hai bằng cách giao lại cho nó những đối tượng gần trọng tâm cụm thứ hai nhất, và sau đó chọn trọng tâm cụm thứ ba
đó là đối tượng xa trọng tâm của cụm mà nó thuộc nhất và tạo ra cụm thứ ba như cụm thứ hai, tiếp tục cho đến khi tìm được trọng tâm cụm thứ k và cuối cùng ta thu đươc k cụm Những lựa chọn k điểm thường được gọi là điểm mốc [1]
Phân cụm là một kĩ thuật quan trọng trong khai phá dữ liệu, đã và đang trở thành một hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về công nghệ thông tin trên thế giới Chương này đã trình bày một số kiến thức tổng quan về khám phá tri thức, khai phá dữ liệu và một số kiến thức tổng quan về phân cụm dữ liệu, các kĩ thuật của phân cụm
Trang 27CHƯƠNG 2
LÝ THUYẾT TẬP THÔ 2.1 Giới thiệu
Lý thuyết tập thô (Rough Set Theory) do Zdzisaw Pawlak (1926-2006) đề xuất vào năm 1982, đã được ứng dụng ngày càng rộng rãi trong lĩnh vực khoa học máy tính Lý thuyết tập thô được phát triển trên một nền tảng toán học vững chắc, cung cấp các công
cụ hữu ích để giải quyết các bài toán phân tích dữ liệu, phát hiện luật, nhận dạng… Đặc biệt thích hợp với các bài toán phân tích trên khối lượng dữ liệu lớn, chứa đựng thông tin mơ hồ, không chắc chắn
Mục đích chính của phân tích dữ liệu dựa trên lý thuyết tập thô nhằm đưa ra các xấp xỉ để biểu diễn các đối tượng không thể được phân lớp một cách chắc chắn bằng tri thức có sẵn Theo quan điểm của lý thuyết tập thô, mọi tập thô đều liên kết với 2 tập
“rõ” là xấp xỉ dưới và xấp xỉ trên của nó Xấp xỉ dưới bao gồm các đối tượng chắc chắn thuộc, còn xấp xỉ trên chứa tất cả các đối tượng có khả năng thuộc về tập đó Các tập xấp xỉ là cơ sở để rút ra các kết luận (tri thức) từ cơ sở dữ liệu
2.2 Một số khái niệm
2.2.1 Hệ thống thông tin
Một tập dữ liệu có thể biểu diễn dưới dạng một bảng, trên đó mỗi hàng biểu diễn thông tin ứng với một đối tượng, mỗi cột biểu diễn một thuộc tính có thể đo được của mỗi đối tượng (do các chuyên gia hay người sử dụng cung cấp) Bảng này được gọi là một hệ thống thông tin
Hệ thống thông tin là một cặp S = (U, A), U là một tập hữu hạn khác rỗng các đối tượng gọi là tập vũ trụ hay là tập phổ dụng, A là một tập hữu hạn khác rỗng các thuộc tính Với mỗi u U và a A, ta ký hiệu u(a) là giá trị của đối tượng u tại thuộc tính a Nếu gọi Ia là tập tất cả giá trị của thuộc tính a, thì u(a) Ia với mọi uU Bây giờ, nếu
B = {b1, b2, ,bk} A, ta ký hiệu bộ các giá trị u(bi) bởi u(B) Như vậy, nếu u và v là hai đối tượng, thì ta sẽ viết u(B) = v(B) nếu u(bi) = v(bi), với mọi i =1, 2, , k
Trang 28Ví dụ 2.1 Cho bảng dữ liệu:
Bảng 2.1 Bảng dữ liệu về lựa chọn sản phẩm
Bảng dữ liệu trên đây cho ta hình ảnh về một hệ thống thông tin với tập các đối tượng là U={x1, x2, x3, x4, x5, x6, x7, x8} , tập các thuộc tính là A={Size, Nationality, Family, Conclusion}
2.2.2 Quan hệ không phân biệt
2.2.2.1 Quan hệ tương đương – Lớp tương đương
Chúng ta bắt đầu xem xét vấn đề dư thừa thông tin nói trên qua 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:
- R là quan hệ phản xạ: xRx, x X
- R là quan hệ đối xứng: xRy → yRx, x, y X
- R là quan hệ bắc cầu: xRy và yRz → xRz, x, y, z X
Một quan hệ tương đương R sẽ phân hoạch tập đối tượng thành các lớp tương đương, trong đó lớp tương đương của một đối tượng x là tập tất cả các đối tượng có quan hệ R với đối tượng x
Tiếp theo, xét hệ thông tin S = (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(B):
IND(B) = {(x,x’) UU | a B, a(x) = a(x’)}
Trang 29IND(B) được gọi là quan hệ B-không phân biệt Nếu (x, x’) IND(B) thì các đối tượng x và x’ là không thể phân biệt được với nhau qua tập thuộc tính B
Với mọi đối tượng x U, lớp tương đương của x trong quan hệ IND(B) được kí hiệu bởi [x]B
Cuối cùng, quan hệ B tương đương phân hoạch tập đối tượng U thành các lớp tương đương mà ta kí hiệu là U|IND(B)
Ví dụ 2.2 Xét hệ thống thông tin:
Bảng 2.2 Bảng hệ thống thông tin minh họa
Trong bảng, các bệnh nhân x1, x4 và x6 không phân biệt được đối với thuộc tính {Đau đầu}, bệnh nhân x1, x3, x4 và x6 không phân biệt được đối với thuộc tính {Đau cơ}, và bệnh nhân x2, x5 không phân biệt được đối với thuộc tính {Đau đầu, Đau cơ, Nhiệt độ} Như vậy ta có:
U|IND({Đau đầu}) = {{x1, x4, x6},{x2, x3, x5}}
U|IND({Đau cơ}) = {{x1, x3, x4, x6}, {x2, x5}}
U|IND({Nhiệt độ}) = {{x1, x2, x5}, {x3, x6}, {x4}},
U|IND({Đau đầu, đau cơ}) = {{x1, x4, x6}, {x2, x5}, {x3}},
U|IND({Đau đầu, Đau cơ, Nhiệt độ}) = {{x1},{ x2, x5}, {x3}, {x4}, {x6}}
2.2.2.2 Xấp xỉ tập hợp
Như trên đã nói, một quan hệ tương đương cho ta một sự phân hoạch các đối tượng của tập phổ dụng Các lớp tương đương này có thể được sử dụng để tạo nên các tập con
Trang 30của tập vũ trụ Các tập con này 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 Để làm rõ ý tưởng quan trọng này ta xét hệ quyết định nhỏ thể hiện ở bảng 2.3 dưới đây :
Bảng 2.3 Một hệ quyết định điều tra vấn đề da cháy nắng
STT Trọng lượng Dùng thuốc Kết quả
Trong hệ quyết định trên, thuộc tính Kết quả là thuộc tính quyết định và hai thuộc
tính giữa là thuộc tính điều kiện Tập thuộc tính điều kiện C = {Trọng lượng, Dùng thuốc} phân hoạch tập các đối tượng thành các lớp tương đương:
- Kết quả là cháy nắng nếu và chỉ nếu trọng lượng là nặng và không dùng thuốc
Ta nói thuộc tính Kết quả có thể được định nghĩa rõ ràng qua 2 thuộc tính Trọng lượng và Dùng thuốc Tuy vậy không phải lúc nào cũng có thể định nghĩa một khái niệm nào đó một cách rõ ràng như vậy Chẳng hạn với bảng quyết định trong bảng 5, 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 hai 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, vì vậy nếu một đối tượng nào đó có (Age,
LEMS) = (31 – 45, 1 – 25) thì ta vẫn không thể biết chắc chắn giá trị của nó tại thuộc tính Walk (Yes hay No?), nói cách khác ta sẽ không thể có một luật như sau : “Walk là
Yes nếu Age là 31 – 45 và LEMS là 1 – 25” Và đây chính là nơi mà khái niệm tập thô được sử dụng!
Trang 31Mặ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 là các đối tượng thuộc về biên giới của
2 giá trị Yes và No, cụ thể:
Nếu đối tượng nào có giá trị tại tập thuộc tính {Age, LEMS} thuộc tập {{16 – 30,
50}, {16 – 30, 26 – 49}} thì nó có Walk là Yes
Nếu đối tượng nào có giá trị tại tập thuộc tính {Age, LEMS} thuộc tập {{16 – 30,
0}, {46 – 60, 26 – 49}} thì nó có Walk là No
Nếu đối tượng nào có giá trị tại tập thuộc tính {Age, LEMS} thuộc tập {{31 – 45,
1 – 25}} thì nó có Walk là Yes hoặc No Những đối tượng này, như nói ở trên thuộc về biên giới của 2 giá trị Yes và No
Bảng 2.4 Bảng kết quả quyết định dựa vào lý thuyết tập thô
R X R X lần lượt gọi là R-xấp xỉ dưới và R-xấp xỉ trên của tập X
Hình 2.1 Minh họa tập thô
Trang 32Tập R X( )bao gồm tất cả các phần tử của U chắc chắn thuộc vào X
Tập R X( )bao gồm các phần tử của U có khả năng được phân loại vào những phần
tử thuộc X ứng với quan hệ R.
Từ hai tập xấp xỉ người ta định nghĩa các tập:
𝐵𝑁𝐵(𝑋) = 𝑅(𝑋) − 𝑅(𝑋): 𝐵 −miền biên của X
Trong trường hợp BN B (X) , X gọi là tập thô, ngược lại X được gọi là tập rõ
Đối với một hệ thống thông tin S = (U, A), B, D A, ký hiệu R = IND(B), người ta gọi B-miền khẳng định dương của D là tập được xác định như sau:
Rõ ràng POS B( )D là tập tất cả các đối tượng u sao cho với mọi v U mà 𝑢(𝐵) =𝑣(𝐵) ta đều có 𝑢(𝐷) = 𝑣(𝐷) Nói cách khác, 𝑃𝑂𝑆𝐵(𝐷) = {𝑢 ∈ 𝑈| [𝑢]𝐵 ⊆ [𝑢]𝐷}
Trang 33POSQuang cảnh(Chơi Tennis)={D3, D7, D12}
POSNhiệt độ (Chơi Tennis)= POSĐộ ẩm (Chơi Tennis)= POSGió (Chơi Tennis)=Ø
Bảng quyết định là một hệ thống thông tin có dạng T= (U,A), trong đó tập thuộc tính
A được chia thành hai tập thuộc tính rời nhau C và D, C được gọi là tập thuộc tính điều kiện, còn D là tập thuộc tính quyết định Tức là T = (U, CD), với CD = Trong trường hợp
không sợ bị nhầm lẫn người ta còn ký hiệu T = (U,C, D)
Ví dụ 2.4 Tập mẫu cho ở ví dụ 2.3 là một bảng quyết định với:
U = {D1, D2, , D14}, C = {Quang cảnh, Nhiệt độ, Độ ẩm, Gió}, D = {Chơi Tennis} Di: là định danh của đối tượng thứ i. i = 1 n
Trang 34Cho một bảng quyết định T = (U, CD), giả sử U/C = {X 1 , X 2 , , X m } và U/D = {Y 1 ,
Y 2 , , Y n } Một lớp X iU/C được gọi là nhất quán nếu u(d) = v(d), u,vX i, dD, lúc này cũng có thể viết u(D) = v(D) = X i (D); một lớp Y jU/D được gọi là nhất quán ngược nếu u(a)
= v(a), u,vY j, aC
Một bảng quyết định T = (U, CD) là nhất quán nếu mọi lớp X iU/C là nhất quán, ngược lại T được gọi là không nhất quán Dễ thấy nếu U/C U/D thì T = (U, CD) là nhất quán Trong trường hợp | U/D | = 1 thì T được gọi là hệ quyết định thuần khiết (pure decision
system)
Trong lý thuyết tập thô, tính nhất quán của bảng quyết định được thể hiện qua định lý:
Định lý 2.1 Cho bảng quyết định T = (U, CD), các mệnh đề sau đây là tương đương:
Ma trận phân biệt của một Bảng quyết định T = (U, CD) là một ma trận vuông
C|U|x|U|={cij |1 i,j |U|}
Trang 35Với cij= {aC| nếu a(ui)=a(uj)} ; trong trường hợp ngược lại
Trong chương này trình bày một số khái niệm về lý thuyết tập thô như quan hệ tương đương, quan hệ không phân biệt, các tập xấp xỉ trên và xấp xỉ dưới Chương sau sẽ giới thiệu sâu hơn về ứng dụng của lý thuyết tập thô trong phân cụm dữ liệu, cụ thể là khảo sát hai thuật toán: bán tự động và tự động xác định số cụm trong kĩ thuật phân cụm dựa vào lý thuyết tập thô
Trang 36CHƯƠNG 3 KHẢO SÁT HAI THUẬT TOÁN SAC-DTRSM,
TỰ ĐỘNG XÁC ĐỊNH SỐ CỤM TRONG KĨ THUẬT PHÂN CỤM
DỰA VÀO LÝ THUYẾT TẬP THÔ 3.1 Thuật toán phân cụm bán tự động dựa trên lý thuyết tập thô
3.1.1 Khái quát vấn đề
Bài toán phân cụm cho đến nay vẫn luôn là một chủ đề được rất nhiều học giả nghiên cứu nhằm tìm ra một thuật toán tối ưu để giải quyết với những bộ dữ liệu khác nhau Nhiều nghiên cứu về thuật toán phân cụm đã được xây dựng và đạt những kết quả tốt Tuy nhiên, do sự phức tạp về dữ liệu mà hầu như cho đến nay vẫn chưa có một thuật toán nào có thể giải quyết được việc phân cụm một cách hiệu quả trên các bộ dữ liệu Thuật toán phân cụm bán tự động dựa trên lý thuyết tập thô của hai tác giả Hong
Yu và Dachun Yan được trình bày trong bài báo cáo này nhằm giới thiệu một khía cạnh mới trong việc giải quyết vấn đề của bài toán phân cụm
Khác với các thuật toán phân cụm cổ điển mà hầu hết chúng ta đã biết, khi mà các đối tượng sau quá trình xử lý thì sẽ thuộc duy nhất về một cụm, nhưng thực tế, trong lĩnh vực khai phá web, hai tác giả nhận thấy, các đối tượng không hoàn toàn thuộc về một cụm mà có thể thuộc về nhiều cụm khác nhau Mô hình quyết định dựa trên lý thuyết tập thô (Decision-theoretic rough set model) là một mô hình tập thô xác suất điển hình,
có khả năng giải quyết với những thông tin không chính xác, không chắc chắn và mơ
hồ Đó cũng là nền tảng quyết định đối tượng vào cụm của thuật toán mà hai tác giả áp dụng
Nội dung thuật toán phân cụm bán tự động dựa trên lý thuyết tập thô được trích trong đồ án tốt nghiệp của tác giả Trần Văn Đức, Đại học Nha Trang [3]
3.1.2 Phân cụm định hướng tri thức
Cốt lõi của thuật toán phân cụm theo định hướng tri thức (knowledge-oriented) giống với phân cụm phân cấp điển hình Tuy nhiên, tiêu chí quyết định phân cụm lại dựa vào ma trận phân biệt của lý thuyết tập thô
Thuật toán phân cụm knowledge-oriented (K-O) cổ điển bao gồm các bước:
Bước 1: Xây dựng ma trận tương tự giữa các đối tượng S = {𝑠𝑖𝑚(𝑥 , 𝑥)}
Trang 37Bước 2: Khởi tạo phân cụm ban đầu
Bước 3: Xây dựng ma trận không thể phân biệt 𝕟 = {𝜂(𝑥𝑖, 𝑥𝑗)}
Bước 4: Hiệu chỉnh phân cụm
Bước 5: Lặp lại bước 3 và 4 đến khi tìm được phân cụm ổn định
3.1.3 Một số khái niệm cơ bản của thuật toán phân cụm K-O
Cho một hệ thống thông tin: I = (U, A, V, f), trong đó 𝑈 = {𝑥1, 𝑥2, … , 𝑥𝑛} là một tập
vụ trũ hữu hạn không rỗng các đối tượng, 𝐴 = {𝑎1, 𝑎2,, … , 𝑎𝑚} là một tập hữu hạn không rỗng các thuộc tính, 𝑉 = {𝑉1, 𝑉2, … , 𝑉𝑚} là tập giá trị của thuộc tính, f là một hàm thông tin, 𝑓(𝑥𝑖, 𝑎𝑘) ∈ 𝑉𝑘 Trong đó, 𝑓(𝑥𝑖, 𝑎𝑘) là giá trị của đối tượng 𝑥𝑖 với thuộc tính là 𝑎𝑘với 𝑖 = 1 … 𝑛, 𝑘 = 1 … 𝑚 (n: số đối tượng, m: số thuộc tính)
Ví dụ 3.1 Xét bảng dữ liệu đơn giản sau:
Bảng 3.1 Bảng dữ liệu minh họa
3.1.3.1 Quan hệ không thể phân biệt
Quan hệ không thể phân biệt của một hệ thống thông tin là mối quan hệ
𝑅 = {(𝑥, 𝑦) ∈ 𝑈𝑥𝑈|∀𝑎 ∈ 𝐴, 𝑓(𝑥, 𝑎) = 𝑓(𝑦, 𝑎) } với 𝑥, 𝑦 ∈ 𝑈
Rõ ràng, quan hệ không thể phân biệt của một hệ thống thông tin là quan hệ tương đương
Trang 383.1.3.2 Khởi tạo quan hệ tương đương
Một quan hệ tương đương 𝑅𝑖 của đối tượng 𝑥𝑖 thuộc U được định nghĩa [7]:
𝑅𝑖 = {{𝑃𝑖}, {𝑈 − 𝑃𝑖}}, với 𝑃𝑖 = {𝑥𝑗|𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) ≥ 𝑇ℎ𝑖} (3.1) Trong đó, 𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) là giá trị thể hiện sự tương tự giữa hai đối tượng 𝑥𝑖 và 𝑥𝑗, 𝑇ℎ𝑖 là giá trị ngưỡng tương tự của 𝑥𝑖
3.1.3.3 Độ đo giá trị tương tự giữa các đối tượng
Giá trị tương tự giữa hai đối tượng 𝑥𝑖 và 𝑥𝑗 được định nghĩ như sau [6]:
𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) = 1 − √∑𝑚 (𝑓(𝑥𝑖, 𝑎𝑝) − 𝑓(𝑥𝑗, 𝑎𝑝))2
𝑝=1𝑚𝑎𝑥 (√∑𝑚 (𝑓(𝑥𝑖, 𝑎𝑝) − 𝑓(𝑥𝑗, 𝑎𝑝))2
(3.2)
Với m là số thuộc tính của bộ dữ liệu
Công thức trên là một trường hợp đặc biệt khi giá trị của các thuộc tính trong bộ dữ liệu đều là số Ở trường hợp tổng quát, công thức tính 𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) sẽ là [4]:
𝑠𝑖𝑚(𝑥𝑖, 𝑥𝑗) =𝑘𝑛𝑢𝑚
𝑖,𝑗 max 𝑠𝑛𝑢𝑚(𝑥𝑖, 𝑥𝑗)) + 𝑘𝑐𝑎𝑡
𝑖,𝑗 max 𝑠𝑐𝑎𝑡(𝑥𝑖, 𝑥𝑗)) (3.3) Với 𝑥𝑖, 𝑥𝑗 là các đối tượng trong tập vũ trụ 𝑈
𝑘 = 𝑘𝑛𝑢𝑚 + 𝑘𝑐𝑎𝑡 : tổng số thuộc tính của bộ dữ liệu
𝑠𝑛𝑢𝑚 : là độ đo để tính độ tương tự với dữ liệu số
𝑠𝑐𝑎𝑡: là độ đo để tính độ tương tự với dữ liệu phân loại (categoried)
Mức độ không thể phân biệt giữa các đối tượng [5]:
Trang 393.1.4 Mô hình lý thuyết quyết định dựa vào lý thuyết tập thô
Hai tác giả Yao và Wong [9] đã đề xuất mô hình lý thuyết quyết định dựa vào lý thuyết tập thô (DTRS) bằng việc áp dụng định lý Bayes để xây dựng các xấp xỉ xác suất Sự phân lớp đối tượng theo xấp xỉ trong lý thuyết tập thô có thể dễ dàng phù hợp với lý thuyết quyết định Bayes
Cho U là một tập hữu hạn không các đối tượng, E là một quan hệ tương đương trên U Cặp 𝑎𝑝𝑟 = (𝑈, 𝐸), được gọi là không gian xấp xỉ Cho một lớp tương đương của 𝑥 được định nghĩa: [𝑥] = {𝑦|𝑥𝐸𝑦} Cho 𝐴 ⊆ 𝑈, xấp xỉ dưới và xấp xỉ trên của tập A được định nghĩa như sau:
𝑎𝑝𝑟(𝐴) = {𝑥 ∈ 𝑈|[𝑥] ⊆ 𝐴}
𝑎𝑝𝑟(𝐴) = {𝑥 ∈ 𝑈|[𝑥] ∩ 𝐴 ≠ ∅}
Từ hai tập xấp xỉ của A, người ta định nghĩa các tập:
𝑃𝑂𝑆(𝐴) = 𝑎𝑝𝑟(𝐴): vùng dương của A 𝐵𝑁𝐷(𝐴) = 𝑎𝑝𝑟(𝐴) − 𝑎𝑝𝑟(𝐴): miền biên của A 𝑁𝐸𝐺(𝐴) = 𝑈 − 𝑎𝑝𝑟(𝐴): vùng âm của A Chúng ta có thể kết luận rằng bất kỳ đối tượng 𝑥 ∈ 𝑃𝑂𝑆(𝐴) thì 𝑥 chắc chắn thuộc về
A, 𝑥 ∈ 𝑁𝐸𝐺(𝐴) thì 𝑥 chắc chắn không thuộc về A, 𝑥 ∈ 𝐵𝑁𝐷(𝐴) thì 𝑥 có khả năng thuộc
về A
Cho Ω = {𝐴, 𝐴𝑐}, là tập các trạng thái thể hiện của một đối tượng đó là thuộc về A
và không thuộc về A Cho 𝒜 = {𝑎1, 𝑎2, 𝑎3} là tập các hành động, trong đó 𝑎1, 𝑎2, 𝑎3 là
ba hành động trong việc phân lớp một đối tượng 𝑥 thuộc về 𝑃𝑂𝑆(𝐴), 𝑥 thuộc về 𝑁𝐸𝐺(𝐴), 𝑥 thuộc về 𝐵𝑁𝐷(𝐴) Với 𝜆(𝑎𝑖|𝑥 ∈ 𝐴) và 𝜆(𝑎𝑖|𝑥 ∈ 𝐴𝑐) là mất mát thực hiện hành động 𝑎𝑖 khi trạng thái là 𝐴, 𝐴𝑐 Đối với một đối tượng với mô tả [𝑥], giả sử hành động 𝑎𝑖 được thực hiện
Rủi ro điều kiện 𝑅(𝑎𝑖|[𝑥]) liên quan đến hành động 𝑎𝑖 được tính bởi:
𝑅(𝑎1|[𝑥]) = 𝜆11𝑃(𝐴|[𝑥]) + 𝜆12𝑃(𝐴𝑐|[𝑥]) 𝑅(𝑎2|[𝑥]) = 𝜆21𝑃(𝐴|[𝑥]) + 𝜆22𝑃(𝐴𝑐|[𝑥]) (3.6) 𝑅(𝑎3|[𝑥]) = 𝜆31𝑃(𝐴|[𝑥]) + 𝜆32𝑃(𝐴𝑐|[𝑥])