Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu (LV thạc sĩ)
Trang 1-
LÊ THỊ HẰNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI – 2017
Trang 2-
LÊ THỊ HẰNG
NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT TẬP THÔ
TRONG PHÂN LỚP DỮ LIỆU
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VŨ VĂN THỎA
HÀ NỘI – 2017
Trang 3LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất cứ công trình nào
TÁC GIẢ
Lê Thị Hằng
Trang 4LỜI CẢM ƠN
Em xin được bày tỏ lòng kính trọng và biết ơn sâu sắc đến TS Vũ Văn Thỏa, Thầy đã trực tiếp hướng dẫn và tận tình chỉ bảo em trong suốt thời gian làm luận văn tốt nghiệp Ngoài những kiến thức Thầy truyền đạt, em còn học được ở Thầy một phong cách làm việc rất khoa học, nghiêm túc và đầy trách nhiệm
Em xin chân thành cảm ơn toàn thể các thầy giáo, cô giáo Học viện Công nghệ Bưu chính Viễn thông đã dìu dắt, chỉ bảo tận tình cho em trong suốt thời gian học tập tại trường
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp đã luôn giúp đỡ và tạo điều kiện để em có thể hoàn thành tốt luận văn này
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được góp ý của uý thầy cô và các bạn
Hà Nội, tháng 06 năm 2017
Học viên
Lê Thị Hằng
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC THUẬT NGỮ vi
BẢNG CÁC KÝ HIỆU TỪ VIẾT TẮT vii
DANH MỤC BẢNG viii
DANH MỤC HÌNH ix
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ TẬP THÔ 4
VÀ CÁC VẤN ĐỀ LIÊN QUAN 4
1.1 Hệ thông tin và các khái niệm liên quan 4
1.1.1 Hệ thông tin 4
1.1.2 Quan hệ không phân biệt được 5
1.2 Tập thô 5
1.2.1 Xấp xỉ trên và xấp xỉ dưới 5
1.2.2 Các tính chất của xấp xỉ 7
1.2.3 Thuật toán tìm tập xấp xỉ dưới và xấp xỉ trên 8
1.2.4 Khái niệm tập thô 9
1.3 Ma trận phân biệt được và hàm phân biệt được 10
1.3.1 Ma trận phân biệt được 10
1.3.2 Hàm phân biệt được 10
1.4 Bảng quyết định và luật quyết định 12
1.4.1 Bảng quyết định 12
1.4.2 Luật quyết định 13
1.4.3 Các độ đo đánh giá luật quyết định 13
1.5 Ứng dụng tập thô giải quyết bài toán phân lớp dữ liệu 15
1.5.1 Bài toán phân lớp dữ liệu 15
1.5.2 Phân lớp dữ liệu dựa trên tập thô 16
Trang 61.6 Kết luận chương 1 18
CHƯƠNG 2: NGHIÊN CỨU KỸ THUẬT SINH LUẬT QUYẾT ĐỊNH DỰA TRÊN TẬP THÔ 19
2.1 Thuật toán sinh luật quyết định với tập rút gọn thuộc tính 19
2.2 Thuật toán sinh luật quyết định dựa trên tập rút gọn thuộc tính sử dụng ma trận phân biệt được 21
2.2.1 Thuật toán tìm tập rút gọn thuộc tính sử dụng ma trận phân biệt được cho các hệ thông tin 21
2.2.2 Thuật toán sinh luật quyết định 02 23
2.3 Thuật toán sinh luật quyết định có bổ sung thêm thuộc tính theo yêu cầu của người dùng 24
2.3.1 Các khái niệm liên uan 24
2.3.2 Mô tả thuật toán 25
2.4 Kết luận chương 2 28
CHƯƠNG 3: PHÂN LOẠI KIỂU TẤN CÔNG TRONG BỘ DỮ LIỆU KDD CUP 99 DỰA TRÊN TẬP THÔ 29
3.1 Bộ dữ liệu KDD Cup 99 và bài toán phân loại kiểu tấn công 29
3.1.1 Giới thiệu bộ dữ liệu KDD Cup 99 29
3.1.2 Các đặc tả về bộ dữ liệu KDD Cup 99 30
3.1.3 Bài toán phân loại kiểu tấn công trong bộ dữ liệu KDD Cup 99 35
3.2 Ứng dụng tập thô giải quyết bài toán phân loại kiểu tấn công trong bộ dữ liệu KDD Cup 99 35
3.2.1 Tìm tập rút gọn thuộc tính cho mỗi kiểu tấn công trong bộ dữ liệu KDD Cup 99 35
3.2.2 Sinh luật quyết định phân loại kiểu tấn công trong bộ dữ liệu KDD Cup 99 37
3.3 Cài đặt và thử nghiệm 43
3.3.1 Cài đặt và thử nghiệm với nhãn lớp DOS 43
3.3.2 Cài đặt và thử nghiệm với nhãn lớp U2R 46
Trang 73.4 Kết quả và đánh giá 47
3.4.1 Kết quả thực hiện với nhãn lớp DOS 47
3.4.2 Kết quả thực hiện với nhãn lớp U2R 49
3.5 Kết luận chương 3 50
KẾT LUẬN 51
Trang 8DANH MỤC THUẬT NGỮ
Attribute Reduction Rút gọn thuộc tính
Complete Decision Table Bảng quyết định đầy đủ
Consistent Decision Table Bảng quyết định nhất uán
Inconsistent Decision Table Bảng quyết định không nhất uán Indiscernibility Relation Quan hệ không phân biệt được
Trang 9C Số thuộc tính điều kiện trong bảng quyết định
A Số thuộc tính trong hệ thông tin
u a Giá trị của đối tượng u tại thuộc tính a
IND B Quan hệ Bkhông phân biệt
u B Lớp tương đương chứa u của quan hệ IND B
BN X B - miền biên của X
POSB(X) B - vùng dương của X
NEGB(X) B - vùng âm của X
Trang 10DANH MỤC BẢNG
Bảng 1.1: Ví dụ về hệ thông tin 4
Bảng 1.2: Mô tả hệ thông tin 10
Bảng 1.3: Mô tả ma trận phân biệt được 11
Bảng 1.4: Ví dụ về bảng quyết định 12
Bảng 1.5: Các độ đo của luật quyết định 14
Bảng 2.1: Bảng quyết định gồm 10 đối tượng và 4 thuộc tính điều kiện, 1 thuộc tính quyết định 20
Bảng 2.2: Bảng quyết định với 8 đối tượng và 4 thuộc tính 21
Bảng 3.1: Nhãn lớp và số mẫu xuất hiện trong 10% bộ dữ liệu KDD Cup 99 [15] 30 Bảng 3.2: Các thuộc tính của bộ dữ liệu KDD Cup 99 [15] 31
Bảng 3.3: Các thuộc tính tối ưu được trích xuất trong MATLAB sử dụng thuật toán đề xuất [9] 37
Bảng 3.4: Thay thế lớp của kết nối bằng các thuộc tính số 37
Bảng 3 5: Bảng thông tin về các thuộc tính thuộc nhãn lớp DOS 39
Bảng 3.6: Thay thế lớp của kết nối bằng các thuộc tính số 40
Bảng 3.7: Bảng thông tin về các thuộc tính thuộc nhãn lớp U2R 41
Bảng 3.8: Bảng mô tả giới hạn giá trị các độ đo của các luật quyết định 47
Bảng 3.9: Danh sách 10 luật quyết định đại diện cho 1509 luật thu được 48
Bảng 3.10: Bảng mô tả giới hạn giá trị các độ đo của các luật quyết định 49
Bảng 3.11: Danh sách 6 luật quyết định đại diện cho 51 luật thu được 49
Trang 11DANH MỤC HÌNH
Hình 1.1: Minh họa xấp xỉ dưới và xấp xỉ trên của tập thô [6] 7
Hình 1.2: Bài toán phân lớp dữ liệu [5] 15
Hình 1.3: Mô hình trích chọn đặc trưng dựa trên tập thô 17
Hình 1.4: Mô hình phân lớp dữ liệu dựa trên tập thô 18
Hình 3.1: Giao diện chính của hệ thống 43
Hình 3.2: Tiền xử lý dữ liệu với nhãn lớp DOS 44
Hình 3.3: Sinh luật quyết định với nhãn lớp DOS 44
Hình 3.4: Kết quả phân lớp với các luật thuộc lớp DOS 45
Hình 3.5: Kết quả phân lớp với các luật thuộc các lớp khác nhau 45
Hình 3.6: Tiền xử lý dữ liệu với nhãn lớp U2R 46
Hình 3.7: Sinh luật quyết định với nhãn lớp U2R 46
Hình 3.8: Kết quả phân lớp với các luật thuộc các lớp khác nhau 47
Trang 12MỞ ĐẦU
Những năm gần đây, cùng với sự phát triển của Công nghệ thông tin, con người tạo ra nhiều dữ liệu nghiệp vụ, các tập dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám phá Chính vì vậy, một nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu
đó các luật để phân lớp dữ liệu hay dự đoán những xu hướng dữ liệu tương lai Có rất nhiều thuật toán khai phá tri thức bằng cách phân lớp và rời rạc dữ liệu như: sử dụng cây uyết định, phương pháp thống kê, các mạng nơron, thuật toán di truyền, Gần đây, lý thuyết tập thô được nhiều nhóm nghiên cứu trong lĩnh vực khai phá tri thức và triển khai ứng dụng trong thực tế Lý thuyết tập thô được xây dựng trên nền tảng toán học vững chắc giúp cung cấp những công cụ hữu ích để giải quyết những bài toán phân lớp dữ liệu, phát hiện luật,và đặc biệt hữu ích trong các bài toán phải xử lý các dữ liệu mơ hồ, không chắc chắn Các mối quan hệ giữa các
dữ liệu trong mô hình này được biểu diễn qua mối quan hệ “không phân biệt được”; các tập dữ liệu là mơ hồ, không chắc chắn được biểu diễn thông ua tập xấp xỉ trên
và xấp xỉ dưới của nó Nhờ vào những điều này mà dữ liệu có thể phân tích và xử lý bằng những công cụ toán học Cụ thể trong lý thuyết tập thô dữ liệu được biểu diễn thông ua hệ thông tin hay bảng quyết định Trong thực tế, với những bảng dữ liệu lớn với dữ liệu không hoàn hảo, dư thừa, liên tục hoặc biểu diễn dưới dạng các
ký hiệu, lý thuyết tập thô cho phép khai phá tri thức trong những cơ sở dữ liệu như thế nhằm phát hiện những tri thức tiềm ẩn từ những khối dữ liệu “thô” này Tri thức tìm được được thể hiện dưới dạng các luật, các mẫu Sau khi tìm được những quy luật chung nhất để biểu diễn dữ liệu, người ta có thể tính toán độ mạnh và độ phụ thuộc giữa các thuộc tính trong hệ thông tin
Xuất phát từ những vấn đề trên, học viên lựa chọn đề tài: “Nghiên cứu ứng dụng kỹ thuật tập thô trong phân lớp dữ liệu” làm luận văn tốt nghiệp cao học
Ý tưởng chính của lý thuyết tập thô lần đầu tiên được nhà toán học Ba Lan Z.Pawlak đề xuất Tiếp theo sau đó, các nhà khoa học khắp nơi trên thế giới đóng
Trang 13góp nhiều thành tựu quan trọng nhằm phát triển lý thuyết tập thô và ứng dụng Một
số bài toán trong lĩnh vực như ngân hàng, tài chính, y học,… đã được giải quyết thành công nhờ công cụ tập thô
Theo [6], cách tiếp cận tập thô để phân tích dữ liệu có rất nhiều điểm lợi quan trọng như sau:
- Cho phép xử lý hiệu quả bảng dữ liệu lớn, loại bỏ dữ liệu dư thừa, dữ liệu không hoàn hảo, dữ liệu liên tục
- Hiệu quả trong việc tìm kiếm những mẫu tiềm ẩn trong cơ sở dữ liệu
- Sử dụng được tri thức kinh nghiệm
- Nhận ra được những mối quan hệ mà khi sử dụng các phương pháp thống
kê khác không phát hiện được
- Sử dụng quan hệ thứ lỗi trong uá trình phát hiện mẫu
- Làm việc hiệu quả trên tập rút gọn
- Cách giải thích rõ ràng và dễ hiểu
Kiến thức cơ sở của lý thuyết tập thô cổ điển là các phép toán xấp xỉ trên, xấp xỉ dưới dựa trên phân hoạch được tạo bởi một quan hệ tương đương Trên cơ sở
đó, các kỹ thuật tập thô tập trung vào hai hướng chính:
(1) Nghiên cứu các thuật toán để rút gọn tập các thuộc tính nhằm hạn chế số chiều của không gian dữ liệu
(2) Nghiên cứu các thuật toán sinh luật quyết định nhằm phân lớp dữ liệu để làm giảm độ phức tạp của không gian dữ liệu
Mục tiêu của luận văn là nghiên cứu các thuật toán sinh luật quyết định dựa
trên tập thuộc tính rút gọn theo hướng tiếp cận tập thô và ứng dụng cho bài toán phân loại kiểu tấn công trong bộ dữ liệu KDD Cup 99
Để đạt được mục tiêu trên, luận văn được trình bày bao gồm phần mở đầu,
ba chương nội dung, kết luận và tài liệu tham khảo Nội dung chính của ba chương như sau:
Chương 1: Tổng quan về tập thô và các vấn đề liên quan
Trang 14Chương này của luận văn trình bày các khái niệm cơ bản về hệ thông tin và các vấn đề liên uan, xấp xỉ trên, xấp xỉ dưới và khái niệm tập thô Các khái niệm
về ma trận phân biệt được và hàm phân biệt được, bảng quyết định và luật quyết định cũng được đề cập trong nội dung của chương Từ đó, luận văn khảo sát vấn đề ứng dụng kỹ thuật tập thô giải quyết bài toán phân lớp dữ liệu
Chương 2: Nghiên cứu kỹ thuật sinh luật quyết định dựa trên tập thô
Chương 2 của luận văn tập trung khảo sát một số thuật toán sinh luật quyết định dựa trên tập thô thường được sử dụng trong các bài toán phân lớp dữ liệu
Chương 3: Phân loại kiểu tấn công trong bộ dữ liệu KDD CUP 99 dựa trên tập thô
Nội dung chính của chương 3 là nghiên cứu ứng dụng tập thô trong phân loại kiểu tấn công trong bộ dữ liệu KDD Cup 99 nhằm hỗ trợ hệ thống phát hiện xâm nhập Trong chương này luận văn cũng trình bày các kết quả thử nghiệm trên bộ dữ liệu KDD Cup 99 đối với một số kiểu tấn công mạng
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ TẬP THÔ
VÀ CÁC VẤN ĐỀ LIÊN QUAN
Chương 1 của luận văn trình bày một số khái niệm cơ bản về lý thuyết tập thô và khảo sát các vấn đề liên quan đến bài toán phân lớp dữ liệu Vấn đề ứng dụng tập thô giải quyết bài toán phân lớp dữ liệu cũng được đề cập trong chương này
1.1 Hệ thông tin và các khái niệm liên quan
1.1.1 Hệ thông tin
Trong hầu hết các hệ quản trị cơ sở dữ liệu, một tập dữ liệu thường được biểu diễn dưới dạng bảng Trong đó, mỗi hàng của bảng biểu diễn thông tin ứng với một đối tượng, còn mỗi cột biểu diễn một thuộc tính có thể đo được của một đối tượng Bảng này được gọi là một hệ thông tin [1]
Định nghĩa 1.1: Hệ thông tin là một cặp IS = (U, A) Trong đó:
U là một tập hữu hạn khác rỗng các đối tượng (tập vũ trụ hay 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, 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 Va là tập tất cả các giá trị của thuộc tính a thì u(a) Va với mọi u U Nếu B = {b1, b2, ,bk} A là một tập các thuộc tính, 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
Ví dụ 1.1: Bảng sau đây biểu diễn một hệ thông tin gồm 6 đối tượng với 3
Trang 16A = { Đau đầu, Đau cơ, Thân nhiệt };
VĐau đầu = VĐau cơ = { Không, Có};
VThân nhiệt = { Bình thường, Cao, Rất cao}
1.1.2 Quan hệ không phân biệt được
Cho tập con các thuộc tính B A trong hệ thông tin IS = (U, A) Quan hệ B không phân biệt được ký hiệu là INDA(B) được định nghĩa như sau:
INDA(B) = {(x,x’) U2 | a B, a(x) = a(x’)}
Khi đó INDA(B) là một uan hệ tương đương trên U
Lớp tương đương chứa x của uan hệ không phân biệt được trên B ký hiệu là [x]B Hai đối tượng x, x’ mà (x, x’) INDA(B) được gọi là không phân biệt bởi các thuộc tính trong B Khi xét trên một hệ thông tin xác định ta sẽ viết IND(B) thay cho INDA(B)
Ví dụ 1.2: Xét Bảng 1.1 để minh họa cho uan hệ không phân biệt được
Nhận thấy các bệnh nhân u2, u3, u5 không phân biệt được với thuộc tính “Đau
đầu”, bệnh nhân u2, u5 không phân biệt được với thuộc tính “Đau đầu”, “Đau cơ”…
IND({Đau đầu}) = {{u2, u3, u5}, {u1, u4, u6}}
IND({Đau đầu, Đau cơ}) = {{u1, u4, u6}, {u2, u5}, {u3}}
IND({Đau đầu, Đau cơ, Thân nhiệt}) = {{u1}, {u2, u5}, {u3}, {u4}, {u6}}
1.2 Tập thô
1.2.1 Xấp xỉ trên và xấp xỉ dưới
Để biểu diễn một tập hợp bằng tri thức được cho là xác định bởi một tập thuộc tính, người ta định nghĩa hai phép xấp xỉ: xấp xỉ trên và xấp xỉ dưới
Trang 17Cho một hệ thông tin IS = (U, A), với mỗi tập con X U và B A, ký hiệu
R = IND(B) ta có hai tập con sau:
(X) = {u U | [u]B X};
(X) = {u U | [u]B X } (X), (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
Tập (X) bao gồm tất cả các phần tử 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:
BNB(X) = (X) - (X): B- miền biên của X
POSB(X) = (X): B- vùng dương của X
NEGB(X) = U - (X): B- vùng âm của X
Ký hiệu tập thương của IND(B) trên U là U/B, các xấp xỉ trên và dưới của X
có thể viết lại: (X) = {W U/B | W X }
(X) = {W U/B | W X } Trong trường hợp BNB(X) , X được 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 tin IS = (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:
POSB(D) = ⋃ (V))
Rõ ràng POSB(D) là tập tất cả các đối tượng của u sao cho với mọi v U mà u(B) = v(B) ta đều có u(D) = v(D)
Trang 18Hình 1.1: Minh họa xấp xỉ dưới và xấp xỉ trên của tập thô [6]
1.2.2 Các tính chất của xấp xỉ
Cho một hệ thông tin IS = (U, A), X, Y U và B A, đặt R = IND(B) khi
đó [1]:
(1L) (U) = U (1H) (U) = U (2L) ( ) = (2H) ( ) = (3L) (X) X (3H) (X) X (4L) (X Y) = (X) (Y) (4H) (X Y) = (X) (Y) (5L) (X) = (X)
(5H) (X) = (X)
(6L) (U – X) = U - X (6H) (U – X) = U - X (7L) X Y => (X) (Y) (7H) X Y => (X) (Y) (8L) (U - (X)) = U - (X) (8H) (U - (X)) = U - (X)
Xấp xỉ dưới – Vùng dương
Xấp xỉ trên
Vùng âm
Trang 19(9L) K U/R, (K) = K (9H) K U/R, (K) = K Tính chất (3L), (4L) và (8L) là những tính chất đặc trưng cho phép xấp xỉ dưới, điều đó có nghĩa là những tính chất khác của phép xấp xỉ dưới có thể suy dẫn
từ ba tính chất này Tương tự với (3H), (4H) và (8H) là những tính chất đặc trưng của phép xấp xỉ trên
Sự chính xác của tập xấp xỉ X đối với phân hoạch trên B là giá trị sau:
1.2.3 Thuật toán tìm tập xấp xỉ dưới và xấp xỉ trên
- strRowX: Đối tượng nằm trong U;
- arrXXD: Tập xấp xỉ dưới của các đối tượng X theo tập thuộc tính P;
- txtloptuongduong: Tập lớp tương đương;
Thuật toán:
{ arrXXD = rỗng;
While (strRowX chạy ua tất cả các đối tượng của U)
{
If (txtloptuongduong X)
Trang 20arrXXD = arrXXD+strRowX;
} Return arrXXD;
- strRowX: Đối tượng nằm trong U;
- arrXXT: Tập xấp xỉ trên của các đối tượng X theo tập thuộc tính P;
- txtloptuongduong: Tập lớp tương đương;
Thuật toán:
{ arrXXT = rỗng;
While (strRowX chạy ua tất cả các đối tượng của U) {
If (txtloptuongduong X=) arrXXT = arrXXT+strRowX;
} Return arrXXT;
}
1.2.4 Khái niệm tập thô
Khái niệm cơ bản của lý thuyết tập thô là xấp xỉ dưới và trên của một tập, sự xấp xỉ của không gian là hình thức phân loại tri thức liên uan đến miền uan tâm Tập con được tạo ra bởi xấp xỉ dưới mô tả bởi các đối tượng là những thành phần chắc chắn của một tập, trong khi xấp xỉ trên được đặc trưng bởi các đối tượng có
Trang 21khả năng thuộc tập uan tâm Mỗi tập con xác định thông ua xấp xỉ dưới và xấp xỉ trên được gọi là tập thô
Tập thô là một bộ < (X), (X) >, trong đó (X) là xấp xỉ dưới và (X) là xấp xỉ trên của tập cổ điển X Độ chính xác thô của X được cho bởi [6]:
0 ≤ αR(X) = | (X)| / (X)| ≤ 1
1.3 Ma trận phân biệt được và hàm phân biệt được
1.3.1 Ma trận phân biệt được
Xét hệ thông tin IS =(U, A), giả sử B A Ta định nghĩa ma trận là B-phân biệt được, kí hiệu M(B), là ma trận đối xứng cấp n×n mà mỗi phần tử của nó được xác định như sau:
cij = { a B: a(xi) ≠ a(xj)} với i, j =
Do vậy phần tử cij là tập tất cả các thuộc tính phân biệt được các đối tượng xi
và xj.
1.3.2 Hàm phân biệt được
Tất cả các rút gọn của một hệ thông tin có thể tìm được thông ua hàm phân biệt được Với hệ thông tin IS = (U, A), B A, có ma trận phân biệt M(B) = cij với (cij) = {aB: a(xi) a(xj)} và i,j = Hàm phân biệt fs là một hàm Boolean của m biến Boolean a*1, a*2, …,a*m (ứng với các thuộc tính a1, a2, …, am) được xây dựng dưới dạng chuẩn tắc tuyển như sau:
fs(a*1, a*2, …,a*m) = { cij | 1 j i n, cij }
Trong đó: c*ij = {a* | a cij}
Tập các đơn thức của fs xác định tập rút gọn của S
Ví dụ 1.3: Xét hệ thông tin IS = (U, {a, b, c, d, e}) như bảng 1.2
Bảng 1.2: Mô tả hệ thông tin
Trang 22fs(a,b,c,d,e) = a(ade)b(ce) (ade)(ab) fs(a,b,c,d,e) = a b (c e)
Áp dụng luật phân phối ta được:
fs(a,b,c,d,e) = (a b c) (a b e)
Trang 23Từ biểu thức trên, để bảo toàn khả năng phân loại của tập thuộc tính ban đầu,
ta cần sử dụng tập thuộc tính {a, b, c} hoặc {a, b, e} Đây là hai thuộc tính rút gọn hoàn toàn của hệ thông tin
1.4 Bảng quyết định và luật quyết định
1.4.1 Bảng quyết định
Một trường hợp đặc biệt của hệ thông tin gọi là bảng quyết định nếu tập thuộc tính A được phân thành hai tập khác rỗng rời nhau C và D, trong đó C là tập các thuộc tính điều kiện, D là tập các thuộc tính uyết định sao cho C ∩ D = ,
C D = A Bảng quyết định được ký hiệu là: DT = (U, C D) [3]
Ví dụ 1.4: Bảng quyết định DT = (U, C D) biểu diễn cơ sở tri thức về việc đảm bảo các giấy tờ để được lái xe tham gia giao thông Trong đó:
U = {x1, x2, …, x6};
A = {Đăng kí, Bằng lái, Bảo hiểm, Lái xe};
Tập thuộc tính điều kiện C = {Đăng kí, Bằng lái, Bảo hiểm};
Tập thuộc tính uyết định D = {Lái xe};
Cho một bảng quyết định DT = (U, C D), giả sử U/C = {X1, X2, …, Xm}
và U/D = {Y1, Y2, …, Yn} Một lớp Xi U/C được gọi là nhất uán nếu u(d) = v(d),
u, v Xi, d D Lúc này có thể viết u(D) = v(D) = Xi(D) Một lớp Yj U/D được gọi là nhất uán nếu u(a) = v(a), u, v Yj, a C
Trang 24Một bảng quyết định DT = (U, C D) là nhất uán nếu mọi lớp Xi U/C là nhất uán, ngược lại DT được gọi là không nhất uán
Một luật quyết định đơn có dạng Zij: des(X i ) → des(Y j )
Tổng uát, luật quyết định là một luật kết hợp Φ Ψ, hay "nếu Φ thì Ψ (“if
Φ then Ψ”), trong đó Φ và Ψ là các biểu thức logic Khi đó Φ được gọi là điều kiện
và Ψ gọi quyết định của luật quyết định tương ứng [6]
Như vậy, trong bảng quyết định DT có thể sinh được nhiều luật quyết định
Để đánh giá hiệu năng của các các luật quyết định, người ta thường sử dụng ba độ đo: độ hỗ trợ, độ chính xác và độ bao phủ
1.4.3 Các độ đo đánh giá luật quyết định
Nội dung trình bày trong mục này dựa trên [6] Để đơn giản, các độ đo đánh giá luật quyết định sẽ được trình bày cho luật quyết định tổng uát dạng Φ Ψ
Ký hiệu |Φ| là số lượng các phần tử của tập hợp tất cả các đối tượng trong U, có giá trị Φ
Độ hỗ trợ của luật quyết định
Độ hỗ trợ (còn gọi là độ mạnh) của luật quyết định Φ Ψ, ký hiệu là supp(Φ, Ψ), được định nghĩa là tỷ số giữa |Φ ^ Ψ| và |U|:
supp(Φ, Ψ) = Φ (1.1)
Độ chắc chắn của luật quyết định
Độ chắc chắn của luật quyết định Φ Ψ, ký hiệu là cer(Φ, Ψ), được định nghĩa là tỷ số giữa |Φ ^ Ψ| và |Φ|:
cer(Φ, Ψ) =
(1.2)
Trang 25Thông thường, nếu cer(Φ, Ψ) = 1 thì luật quyết định Φ Ψ được gọi là chắc chắn, ngược lại, gọi là không chắc chắn
Độ bao phủ của luật quyết định
Độ bao phủ của luật quyết định Φ Ψ, ký hiệu là cov(Φ, Ψ) được định nghĩa là tỷ số giữa |Φ ^ Ψ| và |Ψ|:
cov(Φ, Ψ) =
(1.3)
Ví dụ 1.5:
Xét ví dụ về bầu cử kiểu Mỹ như sau Có 3 nhóm đối tượng cử tri là X1, X2,
X3 tham gia bầu cử chọn 1 trong hai ứng viên của hai đảng chính trị là Y1 và Y2 Giả sử ta có thống kê kết quả bầu cử dưới dạng các luật quyết định như sau:
(1) X1 Y1 (Có 400 cử tri nhóm X1 bầu cho Y1);
(2) X1 Y2 (Có 200 cử tri nhóm X1 bầu cho Y2);
(3) X2 Y1 (Có 250 cử tri nhóm X2 bầu cho Y1);
(4) X2 Y2 (Có 50 cử tri nhóm X2 bầu cho Y2);
(5) X3 Y1 (Có 90 cử tri nhóm X3 bầu cho Y1);
(6) X3 Y2 (Có 10 cử tri nhóm X3 bầu cho Y2);
Các độ đo đánh giá các luật quyết định được cho trong bảng 1.5 dưới đây
Bảng 1.5: Các độ đo của luật quyết định
Thuật toán quyết định
Một tập hợp gồm k luật quyết định Dec(Φ, Ψ) = {Φi Ψi | i = 1, 2, …, k; k 2} được gọi là một thuật toán uyết định trên bảng quyết định DT nếu thỏa mãn ba
Trang 26điều kiện sau [6]:
(1) Điều kiện chấp nhận được: với mỗi i (1 ≤ i ≤ k) thì supp(Φi Ψi) > 0
(2) Điều kiện độc lập: với mỗi cặp luật (Φi Ψi) và (Φj Ψj) có Φi = Φj thì
1.5 Ứng dụng tập thô giải quyết bài toán phân lớp dữ liệu
1.5.1 Bài toán phân lớp dữ liệu
Dữ liệu là một tập hợp các dữ kiện (số, chữ, hình ảnh, âm thanh, văn bản,…) không có tổ chức, không có ý nghĩa rõ ràng nhưng có thể được sắp xếp để tạo thành những thông tin hữu ích Thực tế đã chứng minh, dữ liệu là một thứ gì đó vô giá chỉ
có con người chưa khám phá ra hết những giá trị của nó Xử lý dữ liệu là một dãy các hành động hoặc các thao tác chuyển đổi các dữ liệu đầu vào thành dữ liệu đầu ra hữu ích Trong uá trình xử lý dữ liệu, bài toán phân lớp dữ liệu đóng một vai trò rất quan trọng [5]
Phân lớp (classification) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước Các mẫu dữ liệu hay các đối tượng được xếp vào các lớp dựa trên giá trị của các thuộc tính (attributes) cho một mẫu dữ liệu hay đối tượng Bài toán phân lớp có thể biểu diễn như hình 1.2 dưới đây:
Hình 1.2: Bài toán phân lớp dữ liệu [5]
Mô hình phân lớp
Dữ liệu
Lớp 1 Lớp 2 Lớp … Lớp n
Trang 27Như vậy, phân lớp dữ liệu là uá trình "nhóm” các đối tượng "giống” nhau vào "một lớp” dựa trên các đặc trưng dữ liệu của chúng Nhiệm vụ chủ yếu là xây dựng các mô hình phân lớp hiệu quả Các mô hình phân lớp tiêu biểu như: máy vector hỗ trợ (Support vector machines - SVM), mạng nơ-ron nhân tạo (Neural network), cây uyết định, …
Trong thực tế, bài toán phân lớp dữ liệu có thể biểu diễn dưới dạng bảng quyết định DT = (U, C D), trong đó U là tập các đối tượng, C là tập các thuộc tính và D là tập các nhãn lớp Yêu cầu phân lớp dữ liệu có thể được xem xét như là sinh các luật quyết định để gán nhãn lớp cho các dữ liệu
Trong phạm vi luận văn, bài toán phân lớp dữ liệu được đặt ra như sau:
Input: Bảng quyết định DT = (U, C D);
Output: Các luật quyết định nhãn dữ liệu
Mục tiếp theo của luận văn sẽ trình bày cách thức giải quyết bài toán phân lớp dữ liệu dựa trên tập thô
1.5.2 Phân lớp dữ liệu dựa trên tập thô
Quá trình phân lớp dữ liệu dựa trên tập thô bao gồm hai giai đoạn:
Giai đoạn 1: Tìm tập rút gọn thuộc tính, tức là thực hiện trích chọn đặc trưng
dựa trên tập thô
Giai đoạn 2: Sinh luật quyết định dựa trên tập rút gọn
1.5.2.1 Trích chọn đặc trưng dựa trên lý thuyết tập thô
Lựa chọn thuộc tính (Feature Selection, Feature Extraction) là nhiệm vụ rất quan trọng cho bài toán phân lớp dữ liệu khi triển khai các mô hình phân lớp dữ liệu khác nhau Một vấn đề gặp phải trong thực tế là các tập dữ liệu cần phân lớp thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu) cho việc xây dựng mô hình làm giảm độ chính xác của mô hình và gây khó khăn trong uá trình phân lớp
dữ liệu
Lựa chọn thuộc tính có đặc tính tốt là uy trình chọn lựa ra các tập con thuộc tính từ một tập thuộc tính gốc đầy đủ, sao cho mỗi tập con này có thể đảm bảo cho
Trang 28việc phân lớp hiệu quả [5]
Quá trình trích chọn đặc trưng dựa trên tập thô thường sử dụng các kỹ thuật rút gọn thuộc tính như trình bày trong hình 1.3 dưới đây
Hình 1.3: Mô hình trích chọn đặc trưng dựa trên tập thô
Trong thực tế, việc ứng dụng tập thô trong trích chọn đặc trưng có hiệu quả cao Chẳng hạn, kết quả ứng dụng thuật rút gọn thuộc tính dựa trên tập thô đối với
bộ dữ liệu KDD Cup 99, các thuộc tính đặc trưng của nhãn lớp DOS có thể giảm từ
41 thuộc tính xuống còn 07 thuộc tính, nhãn lớp U2R có thể giảm từ 41 thuộc tính xuống còn 13 thuộc tính đặc trưng [9]
1.5.2.2 Sinh luật quyết định nhãn lớp dữ liệu dựa trên tập rút gọn
Trong giai đoạn này, tiến trình phân lớp dữ liệu được thực hiện thông ua
uá trình sinh toàn thể các luật quyết định gán nhãn Sau đó, dựa trên ngưỡng các
độ đo luật quyết định do người dùng đưa ra, sẽ lựa chọn các luật quyết định tốt nhất
để tao nên mô hình phân lớp
Trang 29Quá trình phân lớp dữ liệu dựa trên tập thô sử dụng các kỹ thuật sinh luật quyết định được mô hình hóa trong hình 1.4 dưới đây:
1.6 Kết luận chương 1
Chương 1 của luận văn đã trình bày tổng quan về lý thuyết tập thô bao gồm các khái niệm cơ bản về hệ thông tin, các xấp xỉ trên, xấp xỉ dưới, ma trận và hàm phân biệt được, bảng quyết định và luật quyết định Trên cơ sở đó, chương này đã khảo sát phương pháp giải quyết bài toán phân lớp dữ liệu theo hướng tiếp cận tập thô Các nội dung kiến thức nền tảng trong chương 1 sẽ là cơ sở để nghiên cứu các phương pháp rút gọn thuộc tính và sinh luật quyết định là chủ đề nghiên cứu trong các chương tiếp theo
Hình 1.4: Mô hình phân lớp dữ liệu dựa trên tập thô
Sinh luật quyết định gán nhãn lớp
Bảng quyết
định với tập rút
gọn thuộc tính
Lớp 1 Lớp 2
…
Lớp n
Trang 30CHƯƠNG 2: NGHIÊN CỨU KỸ THUẬT SINH LUẬT
QUYẾT ĐỊNH DỰA TRÊN TẬP THÔ
Trong chương này, luận văn sẽ khảo sát một số thuật toán sinh luật quyết định dựa trên tập rút gọn thuộc tính tìm được theo hướng tiếp cận tập thô
2.1 Thuật toán sinh luật quyết định với tập rút gọn thuộc tính
Cho bảng quyết định DT = (U, C D), trong đó U là tập các đối tượng, C là tập các thuộc tính điều kiện và D là tập các nhãn lớp (các thuộc tính uyết định) Như trình bày trong mục 1.4.2, mỗi luật quyết định đơn có dạng Zij: des(X i ) → des(Y j ), với
X i C và Y j D Thông thường, uá trình sinh luật quyết định được thực hiện bằng
phương pháp duyệt toàn thể Khi đó, độ phức tạp tính toán là O(2|C| x |D|) và không khả thi trong các bài toán thực tế với C và D cố số phần tử lớn
Do đó, để giảm độ phức tạp tính toán, trước khi sinh luật quyết định, cần phải tìm tập rút gọn thuộc tính C’ C Hiệu quả của thuật toán sinh luật quyết định phụ thuộc rất nhiều vào chất lượng của C’
Trong mục này, luận văn trình bày thuật toán chung sinh luật quyết định bằng phương pháp duyệt toàn thể với tập rút gọn thuộc tính (Thuật toán Sinh luật 01) [12]
Sau đó các luật quyết định được lựa chọn dựa vào các ngưỡng supp của độ hỗ trợ, cer
của độ chắc chắn và cov của độ bao phủ tương ứng
Thuật toán 2.1: Thuật toán Sinh luật quyết định 01
Input: Bảng quyết định DT = (U, CD), các giá trị supp, cer và cov;
Output: Danh sách các luật quyết định với độ hỗ trợ supp, độ chắc chắn
cer và độ bao phủ cov;
1 Tìm tập rút gọn C’ C dựa trên tập thô;
2 For each (X C’, Y D)
3 Begin
4 Xét luật quyết định Z: X Y
5 Tính độ hỗ trợ supp(Z) theo công thức (1.1);
6 Tính độ chắc chắn cer(Z) theo công thức (1.2);
Trang 317 Tính độ bao phủ cov(Z) theo công thức (1.3);
8 Chấp nhận luật Z nếu (supp(Z) supp, cer(Z) cer, cov(Z) cov);
9 End;
10 End;
11 Return
Ví dụ 2.1 [12]: Cho bảng quyết định gồm 10 đối tượng, với 04 thuộc tính
điều kiện là {x,y,z,w }, 01 thuộc tính uyết định là D như trong bảng 2.1
Bảng 2.1: Bảng quyết định gồm 10 đối tượng và 4 thuộc tính điều kiện, 1 thuộc tính
Trang 32Trong các mục tiếp theo của chương này, luận văn sẽ trình bày các thuật toán sinh luật quyết định dựa trên các tập rút gọn thuộc tính tìm được cụ thể dựa theo tiếp cận tập thô
2.2 Thuật toán sinh luật quyết định dựa trên tập rút gọn thuộc tính sử dụng ma trận phân biệt được
2.2.1 Thuật toán tìm tập rút gọn thuộc tính sử dụng ma trận phân biệt được cho các hệ thông tin
Nội dung của mục này được tham khảo từ tài liệu [1]
2.2.1.1 Các khái niệm liên quan
Định nghĩa 2.2
Cho B là tập con của C, lõi của tập B (Core(B) là giao tất cả các tập rút gọn của B:
Core(B) = Red(B) Trong đó, Red(B) là tập tất cả các rút gọn của B
Định lí 2.1 Core(B) = {b B : cij = {b}}
Định lí 2.2 Nếu B là độc lập trong C và D(B) = 0 thì B = R(C)
b, Quan hệ tương đương:
Mối uan hệ nhị phân R X X được gọi là uan hệ tương đương nếu thỏa mãn:
+ Tính phản xạ: xRx, với mọi x thuộc X;
+ Tính đối xứng: nếu xRy thì yRx với mọi x, y thuộc X;