Chương 2: Trình bày về thuật toán khai phá luật quyết định trên bảng dữ liệu khi có giá trị thuộc tính thay đổi làm thô, làm mịn theo hướng tiếp cận gia tăng ma trận độ hỗ trợ.. Trong ch
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THU HƯƠNG
MỘT SỐ THUẬT TOÁN KHAI PHÁ LUẬT QUYẾT ĐỊNH
TRÊN CƠ SỞ DỮ LIỆU ĐỘNG
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội - 2014
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THU HƯƠNG
MỘT SỐ THUẬT TOÁN KHAI PHÁ LUẬT QUYẾT ĐỊNH
TRÊN CƠ SỞ DỮ LIỆU ĐỘNG
Ngành: Công Nghệ Thông Tin
Chuyên ngành: Kỹ Thuật Phần Mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: GS TS VŨ ĐỨC THI
Hà Nội - 2014
Trang 3LỜI CẢM ƠN
Trước khi trình bày nội dung chính của luận văn, tôi xin bày tỏ lòng biết ơn sâu sắc tới GS.TS Vũ Đức Thi – thầy giáo trực tiếp hướng dẫn và chỉ bảo tôi hoàn thành luận văn này
Tôi cũng xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy, cô giáo trong khoa Công nghệ Thông tin -Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã dạy bảo tôi tận tình trong suốt quá trình học tập tại khoa
Tôi cũng xin chân thành cảm ơn Thầy giáo NCS Nguyễn Thanh Tùng, các anh
em đồng nghiệp và gia đình đã giúp đỡ, tạo điều kiện cho tôi trong quá trình thực hiện
và hoàn thành luận văn này
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này hoàn toàn do tôi thực hiện, không sao chép của
ai Các đoạn trích dẫn lý thuyết, các thuật toán được trình bày trong luận đều được dẫn nguồn và có độ chính xác cao nhất trong phạm vi tìm hiểu của tôi
Hà Nội, ngày 29 tháng 10 năm 2014
Học Viên
Nguyễn Thị Thu Hương
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC CÁC KÝ HIỆU 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH 7
MỞ ĐẦU 8
CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN 10
1.1 Khai phá dữ liệu là gì 10
1.2 Các khái niệm cơ bản của tập thô 12
1.2.1 Tập hợp 12
1.2.2 Hệ thống thông tin 13
1.2.3 Quan hệ bất khả phân 14
1.2.4 Tập xấp xỉ trên và xấp xỉ dưới 15
1.2.5 Bảng quyết định 17
1.2.6 Luật quyết định 18
1.3 Khai phá luật quyết định dựa trên tập thô 20
1.4 Kết luận chương 1 20
CHƯƠNG 2 THUẬT TOÁN TIẾP CẬN GIA TĂNG ĐỂ KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN CƠ SỞ DỮ LIỆU CÓ GIÁ TRỊ THUỘC TÍNH THAY ĐỔI 21
2.1 Định nghĩa về việc thay đổi giá trị thuộc tính 21
2.2 Mô hình tiếp cận gia tăng và thuật toán 22
2.2.1 Mô hình bài toán và kiến thức cơ sở tiếp cận thuật toán khi giá trị thuộc tính thay đổi 22
2.2.2 Thuật toán tiếp cận gia tăng khi làm thô, làm mịn các giá trị thuộc tính 27 2.2.3 Đánh giá độ phức tạp theo thời gian của thuật toán 32
2.2.4 Ví dụ minh họa 34
2.3 Kết luận chương 2 36
Trang 6CHƯƠNG 3 THUẬT TOÁN TIẾP CẬN GIA TĂNG ĐỂ KHAI PHÁ LUẬT
QUYẾT ĐỊNH TRÊN CƠ SỞ DỮ LIỆU CÓ CÁC ĐỐI TƯỢNG THAY ĐỔI 37
3.1 Thuật toán tính toán gia tăng ma trận độ chính xác và độ phủ 37
3.1.1 Mô hình tiếp cận gia tăng 37
3.1.2 Các tình huống thực hiện mô hình 40
3.1.3 Thuật toán 42
3.1.4 Độ phức tạp tính toán 45
3.1.5 Ví dụ minh họa 47
3.2 Thuật toán tính toán gia tăng ma trận độ hỗ trợ 52
3.2.1 Cơ sở tiếp cận thuật toán 52
3.2.2 Các tình huống thực hiện mô hình 52
3.2.3 Thuật toán 54
3.2.4 Độ phức tạp tính toán 57
3.2.5 Ví dụ minh họa 58
3.3 Đánh giá hai thuật toán 61
3.4 Cài đặt thuật toán tính toán gia tăng ma trận độ hỗ trợ 64
3.5 Kết luận chương 3 67
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 7IND(B)
𝑆𝑢𝑝𝑝(𝐶𝑖, 𝐷𝑗) Độ hỗ trợ của luật quyết định Ci→ Dj
𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗) Độ chính xác của luật quyết định Ci→ Dj𝐶𝑜𝑣(𝐶𝑖, 𝐷𝑗) Độ phủ của luật quyết định Ci→ Dj
𝑆𝑢𝑝𝑝𝑡(𝐶, 𝐷); 𝑆𝑢𝑝𝑝𝑡+1(𝐶, 𝐷) Ma trận độ hỗ trợ thời điểm t và t+1 của các
luật Ci→ Dj 𝐴𝐶𝐶𝑡(𝐶, 𝐷); 𝐴𝑐𝑐𝑡+1(𝐶, 𝐷) Ma trận độ chính xác thời điểm t và t+1 của
Trang 8DANH MỤC CÁC BẢNG
Bảng 1.1: Ví dụ về một bảng thông tin 14
Bảng 1.2: Nhóm các đối tượng có bộ giá trị giống nhau 15
Bảng 1.3: Ví dụ về một bảng quyết định 17
Bảng 1.4: Bảng tính độ phủ, độ chính xác 19
Bảng 2.1: Bảng quyết định cho ví dụ minh họa 34
Bảng 2.2: Bảng trích rút các luật quan tâm 36
Bảng 3.1: Bảng phân loại thu nhập đầu người trưởng thành ở cụm dân cư 47
Bảng 3.2: Kết quả độ chính xác và độ phủ thời điểm t+1- Thuật toán của Liu 51
Bảng 3.3: Kết quả tính độ chính xác, độ phủ các luật bằng thuật toán gia tăng ma trận độ hỗ trợ 61
Trang 9DANH MỤC CÁC HÌNH
Hình 1.1: Quá trình khái phá tri thức trong cơ sở dữ liệu 10
Hình 1.2: Mô hình thể hiện tập xấp xỉ trên và xấp xỉ dưới của X 16
Hình 3.1: Tiến trình thêm/ bớt đối tượng khỏi hệ thống 38
Hình 3.2: Màn hình nhập dữ liệu 65
Hình 3.3: Màn hình chọn cơ sở dữ liệu 65
Hình 3.4: Màn hình hiển thị dữ liệu của cơ sở dữ liệu 66
Hình 3.5: Màn hình bổ sung/loại bỏ đối tượng 66
Hình 3.6: Màn hình hiển thị kết quả 67
Trang 10MỞ ĐẦU
Trong những năm gần đây, công nghệ thông tin phát triển mạnh mẽ và đi sâu vào nhiều lĩnh vực trong cuộc sống Công nghệ thông tin phát triển đi kèm với sự gia tăng không ngừng của cơ sở dữ liệu và nhu cầu sử dụng dữ liệu hiệu quả cũng trở nên ngày càng thiết yếu Do đó, khai phá dữ liệu đã trở thành lĩnh vực phát triển mạnh với nhiều phương pháp tiếp cận khác nhau Thời gian đầu, phương pháp tiếp cận quy nạp các luật dựa trên trên tập thô được sử dụng phổ biến với nhiều ứng dụng toàn diện để khai phá dữ liệu như dự báo tài chính, chuẩn đoán y tế Các ứng dụng này đã chứng tỏ rằng rằng hướng tiếp cận này là rất hữu ích cho việc khai phá kiến thức bằng các luật quyết định từ cơ sở dữ liệu ban đầu Tuy nhiên, hướng nghiên cứu và các ứng dụng của khai phá tri thức chủ yếu tập trung trong các hệ thống thông tin tĩnh Nghĩa là các đối tượng
và các thuộc tính trong một hệ thống thông tin nhất định không đổi Trong thực tế, các nguồn dữ liệu thực có đặc điểm động, phát triển lớn mạnh lên về cả thuộc tính và số lượng đối tượng với tốc độ nhanh chóng Để duy trì hiệu quả kiến thức từ dữ liệu động, các nhà nghiên cứu đã đi theo hướng nghiên cứu tiếp cận gia tăng cho việc cập nhật tri thức Hiện nay, phương pháp cận gia tăng dựa trên tập thô đã và đang được nhận rất nhiều quan tâm Theo [6], dữ liệu động chủ yếu tập trung vào hai trường hợp: (1) Tập các đối tượng trong hệ thống thông tin thay đổi theo thời gian trong khi các tập thuộc tính vẫn không đổi (2) Tập các thuộc tính trong hệ thống thông tin thay đổi theo thời gian trong khi tập đối tượng vẫn không đổi Do dữ liệu luôn thay đổi, các phân lớp
dữ liệu cũng thay đổi theo Vì vậy, luận văn tập trung tìm hiểu và trình bày “ một số thuật toán khai phá luật quyết định trên sơ sở dữ liệu động” theo hướng tiếp cận gia tăng với kỹ thuật phân lớp dựa trên tập thô Các luật quyết định có độ chính xác và độ phủ cao là những luật có thể cung cấp các tri thức quan trọng Để khai phá các luật quyết định có ý nghĩa, ta cần đặt ra ngưỡng của độ chính xác và độ phủ để khai phá được các tri thức quan tâm
Nội dung của luận văn tập trung vào hướng đã nêu trong trường hợp (1) và (2) Trong đó, luận văn gồm 3 chương Chương 1: Trình các kiến thức cơ bản về khai phá
dữ liệu và các khái niệm cơ bản trong tập thô như khái niệm tập hợp, tập thô, tập mờ,
hệ thống thông tin, các mỗi quan hệ, bảng quyết định và luật quyết định Chương 2: Trình bày về thuật toán khai phá luật quyết định trên bảng dữ liệu khi có giá trị thuộc tính thay đổi (làm thô, làm mịn) theo hướng tiếp cận gia tăng ma trận độ hỗ trợ Trong chương này, luận văn tập trung trình bày các mối quan hệ của các lớp khi thuộc tính của dữ liệu khi được làm thô, làm mịn, thuật toán và đánh giá độ phức tap tính toán theo thời gian của thuật toán Chương 3: Trình bày hai thuật toán khai phá luật quyết định trên bảng dữ liệu động khi có tập đối thượng thay đổi Hai thuật toán này đều được xây dựng trên cùng một mô hình chỉ khác nhau về hướng tiếp cận Thuật toán
Trang 11một là thuật toán khai phá luật quyết định theo hướng tiếp cận gia tăng ma trận độ chính xác và ma trận độ phủ Thuật toán hai là thuật toán khai phá luật quyết định theo hướng tiếp cận gia tăng ma trận độ hỗ trợ Kết thúc là phần kết luận và đề xuất những vấn đề cần tiếp tục nghiên cứu
Trang 12CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN
1.1 Khai phá dữ liệu là gì
Khai phá dữ liệu đã thu hút rất nhiều sự chú ý trong ngành công nghệ thông tin
và trong xã hội nói chung trong những năm gần đây Do sự sẵn và rộng của lượng lớn
dữ liệu và sự cần thiết để chuyển đổi dữ liệu đó thành thông tin hữu ích Nên khai thác
dữ liệu ra đời và được xem như là một kết quả của sự tiến hóa tự nhiên của công nghệ thông tin
Hình 1.1: Quá trình khái phá tri thức trong cơ sở dữ liệu
[3] Khai phá dữ liệu được liên tưởng tới quá trình chiết lọc hoặc khai phá tri thức
từ số lượng lớn dữ liệu Khai phá dữ liệu là một bước quan trọng của khám phá tri thức Khám phá tri thức là một quá trình bao gồm một chuỗi lặp đi lặp lại các bước sau:
1 Lọc dữ liệu (loại bỏ tiếng ồn và dữ liệu không phù hợp)
2 Tích hợp dữ liệu (nơi nhiều nguồn dữ liệu có thể kết hợp được với nhau)
3 Lựa chọn dữ liệu (dữ liệu liên quan tới nhiệm vụ phân tích được lấy từ cơ sở
7 Trình bày tri thức (nơi trực quan và kỹ thuật biểu diễn tri thức được sử dụng
để trình bày các kiến thức khai thác cho người sử dụng)
Chuyển đổi dữ liệu
Dữ liệu đã chuyển đổi
Khai phá
dữ liệu
Các mẫu
Trình bày tri thức
Tri thức
Trang 13Một cách khái quát thì khai phá dữ liệu gồm 3 giai đoạn chính [9]:
Giai đoạn tiền xử lý: Giai đoạn tiền xử lý được hiểu là các chức năng liên quan đến
việc tiếp nhận, tổ chức và biến đổi dữ liệu Giai đoạn này có mục tiêu là chuẩn bị dữ liệu cho giai đoạn sau của việc khai thác dữ liệu Giai đoạn này gồm các bước từ 1 đến
4
Giai đoạn khai thác dữ liệu: Giai đoạn này được định nghĩa bởi việc sử dụng các
thuật toán để trích rút các mẫu dữ liệu Một số các kỹ thuật được sử dụng trong giai đoạn này như mạng neural, tập thô, thuật toán di truyền, mô hình thống kê và xác suất
Giai đoạn hậu xử lý: Giai đoạn này chế biến dữ liệu thu được từ quá trình khai thác
dữ liệu Nó có khả năng xác nhận tính hữu ích của mẫu dữ liệu được khai phá
[4]Khai phá dữ liệu như là một thuật ngữ được sử cho các thiết lập cụ thể của sáu nhiệm vụ sau: Phân lớp dữ liệu, ước lượng, dự báo, khai phá luật kết hợp, phân cụm,
mô tả và trực quan Trong đó ba nhiệm vụ đầu tiên – phân lớp dữ liệu, ước lượng, dự báo là tất cả các ví dụ về hướng khai thác dữ liệu hoặc học có giám sát Trong hướng khai thác dữ liệu này, mục tiêu là sử dụng dữ liệu có sẵn để xây dựng một mô hình mô
tả một hoặc nhiều thuộc tính cụ thể quan tâm (thuộc tính mục tiêu hoặc các thuộc tính lớp) trong giới hạn của phần còn lại của các thuộc tính có sẵn Ba nhiệm vụ tiếp theo - luật kết hợp, phân nhóm và mô tả là các ví dụ về khai thác dữ liệu vô hướng tức (không có thuộc tính) Nó được chỉ ra như là mục tiêu Mục tiêu là để thiết lập một số mối quan hệ giữa tất cả các thuộc tính
Các nhiệm vụ trong khai phá dữ liệu được giới thiệu cụ thể dưới đây:
Ước lượng
Dự đoán giao dịch với dữ liệu vào có thuộc tính là các giá trị liên tục Đưa ra một
số dữ liệu đầu vào, chúng ta dùng dự đoán để đưa ra giá trị của một số biến tiếp theo (của các giá trị đầu vào) mà chúng ta chưa biết như thu nhập, chiều cao hoặc số dư của thẻ tín dụng
Dự báo:
Trang 14Quá trình xây dựng mô hình dự đoán tương tự như cho các mô hình phân lớp nhưng điểm khác biệt của nó là sử dụng dữ liệu quá khứ để xây dựng mô hình được sử dụng để đưa ra dự đoán về tương lai
Khai phá luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B trong cùng bản ghi đó: A→B
Phân cụm
Phân cụm là một quá trình phân vùng hoặc phân nhóm một tập các đối tượng thành các nhóm Trong đó, các đối tượng trong cùng một nhóm tương tự như nhau và các đối tượng trong các nhóm khác nhau là không giống nhau Phân cụm thường được coi là phân lớp không giám sát Nó thường được dùng để phân nhóm các khách hàng
Mô tả và trực quan
Dữ liệu trực quan là một thế mạnh của khai thác dữ liệu mô tả Nó thường không
dễ dàng cho các hình dung có ý nghĩa Những hình ảnh đúng thực sự có thể đáng giá hàng nghìn luật kết hợp khi con người thực hiện các công việc trích xuất ý nghĩa từ những hình ảnh thực tế
1.2 Các khái niệm cơ bản của tập thô [9]
Lý thuyết tập thô được đề xuất vào năm 1982 bởi Zdzislaw Pawlak Phương pháp luận của nó là liên quan tới việc phân loại và phân tích chính xác các thông tin và tri thức không chắc chắn hoặc không đầy đủ Nó được coi là một trong những phương pháp tiếp cận đầu tiên không dựa trên thống kê trong phân tích dữ liệu 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 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
Trang 15được gọi là của một mối quan hệ vừa vă ̣n Số các yếu tố trong một tập hợp là cách đo
số phần tử trong một tập hợp Ví dụ về các tập cụ thể được môt tả dưới đây
Tập mờ:
Đề xuất bởi nhà toán học Loft Zadeh trong nửa sau của những năm sáu mươi, mục tiêu của nó giải quyết các khái niệm toán học của không chắc chắn và gần đúng, tiếp theo cho lập trình và lưu trữ trên máy tính Để biểu diễn được dạng toán học cho tập mờ, Zadeh sử dụng lý thuyết tập hợp cổ điển, nơi mà bất kỳ thiết lập nào đều có thể được đặc trưng bởi một hàm
Cho Ω là không gian nền, một tập mờ A trên Ω tương ứng với một ánh xạ từ Ω đến đoạn [0,1] A : Ω → [0,1] được gọi là hàm thành viên (membership function)
Kí hiệu A = {(a, µA(a)) / a ∈ Ω} Trong đó, µA(a) ∈ [0,1] chỉ mức độ phụ thuộc (membership degree) của phần tử a vào tập mờ A Khoảng xác định của hàm µA(a) là đoạn [0, 1], trong đó giá trị 0 chỉ mức độ không thuộc về, còn giá trị 1 chỉ mức độ thuộc về hoàn toàn
Tập thô:
Một cách tiếp cận đầu tiên chuyển tiếp bởi nhà toán học Zdzislaw Pawlak vào đầu của thập niên tám mươi Nó được sử dụng như một công cụ toán học để giải quyết các vấn đề không chắc chắn và không chính xác Lý thuyết tập thô tương tự như lý thuyết tập mờ, tuy nhiên không chắc chắn và không chính xác trong phương pháp này được thể hiện bởi một vùng ranh giới của một tập và không phải bởi một thành viên như trong lý thuyết tập mờ
1.2.2 Hệ thống thông tin [10]
Hệ thống thông tin hoặc bảng thông tin có thể được xem như một bảng Bảng này bao gồm các đối tượng (hàng) và các thuộc tính (cột) Nó được sử dụng trong các đại diện của dữ liệu sẽ được sử dụng bởi tập thô Trong đó, mỗi đối tượng có một số lượng nhất định các thuộc tính Các đối tượng được mô tả phù hợp với các định dạng của bảng dữ liệu Hàng được coi là đối tượng để phân tích và cột như các thuộc tính Ví dụ
về một bản thông tin trong bảng 1.1 dưới đây:
Đối tượng
Trang 16x9 2 1 3
Bảng 1.1: Ví dụ về một bảng thông tin Định nghĩa 1.1: Hệ thống thông tin là một cặp IS =(U, A) trong đó: U là tập vũ trụ các
đối tƣợng khác rỗng, A là tập các thuộc tính khác rỗng, với mỗi a ∈ A đƣợc định nghĩa thông qua hàm thông tin fa: U → Va Với Va là tập các giá trị của thuộc tính a, còn đƣợc gọi là miền giá trị của thuộc tính a
Chúng ta thấy rằng, có một số các đối tƣợng giống hệt nhau trong bảng 1.1 Ví dụ nhƣ đối tƣợng 1, 3 và 9 là không thể phân biệt đƣợc dựa trên các thuộc tính có sẵn Chúng
ta nhóm tất cả các đối tƣợng có bộ giá trị thuộc tính giống nhau Ta đƣợc kết quả nhƣ bảng 1.2
Trang 17Bảng 1.2: Nhóm các đối tượng có bộ giá trị giống nhau
Mỗi một dòng trên bảng 1.2 thể hiện một tập cơ bản, trong khi đó tổng thể bảng 1.2 diễn tả hệ thống thông tin IS Ký hiệu U/A có nghĩa là chúng ta đang xem xét các tập
cơ bản của không gian vũ trụ U trong không gian thuộc tính A
1.2.4 Tập xấp xỉ trên và xấp xỉ dưới
Cách tiếp cận bộ thô để phân tích dữ liệu bản lề trên hai khái niệm cơ bản tập xấp
xỉ dưới và tập xấp xỉ trên Nó đề cập đến các phần tử chắc chắn thuộc và các phần tử
Một đối tượng x bất kỳ thuộc vào tập xấp xỉ dưới của X, nó chắc chắn sẽ thuộc về tập
X Còn với một đối tượng bất kỳ nằm trong tập xấp xỉ trên, chúng ta chỉ có thể nói rằng nó có thể nằm trong X
Tập biên
Tập biên của tập X trong U được định nghĩa là sự sai khác giữa tập xấp xỉ trên
và tập xấp xỉ dưới, nó chứa các phần tử có ở tập xấp xỉ trên nhưng không có ở tập xấp
xỉ dưới
𝐵𝑁𝑋 = 𝐵𝑋 − 𝐵𝑋
BNX được gọi là lớp biên của X trong U
Các tính chất của tập xấp xỉ :
Trang 18cơ bản của tập thô trong tập vũ trụ U
1) Nếu 𝐵𝑋 ≠ ∅ và 𝐵𝑋 ≠ 𝑈, X được gọi là định nghĩa thô trong U
2) Nếu 𝐵𝑋 ≠ ∅ và 𝐵𝑋 = 𝑈, X được gọi là không thể định nghĩa một cách ngoại vi
trong U
3) Nếu 𝐵𝑋 = ∅ và 𝐵𝑋 ≠ 𝑈, X được gọi là không thể định nghĩa một cách nội vi
trong U
4) Nếu 𝐵𝑋 = ∅ và 𝐵𝑋 = 𝑈, X được gọi là không định nghĩa hoàn toàn trong U
Ở đấy ∅ là ký hiệu cho tập rỗng
Hình 1.2: Mô hình thể hiện tập xấp xỉ trên và xấp xỉ dưới của X
Ví dụ: Giả sử chúng ta quan tâm tới một tập con X gồm 5 đối tượng {x1, x3, x4,
x5, x9} Dựa vào bảng 1.2, chúng ta sẽ tính toán tập xấp xỉ trên và xấp xỉ dưới của tập
X Ta thấy các tập cơ bảng trong bảng 1.2 cũng như có mặt trong tập X là {x1, x3, x9}, {x4} Từ đó ta có tập xấp xỉ dưới bao gồm các đối tượng: 𝐵𝑋 = {x1, 𝑥3, x4, x9} Bây
Tập xấp xỉ trên
Tập xấp xỉ dưới
Trang 19giờ, nhiệm vụ của ta là xây dựng tập xấp xỉ trên của tập con X Để tinh toán được tập xấp xỉ trên của X, chúng ta phải tìm kiếm trong bảng 1.2 tất cả các tập cơ bản mà nó có
ít nhất một đối tượng chung với tập X Đó là các tập:
{x1, x3, x9}, {x4}, {x5, x8}
Vậy ta có tập xấp xỉ trên của tập X: 𝐵𝑋 = {𝑥1, 𝑥3, 𝑥4, 𝑥5, 𝑥8, 𝑥9} và 𝐵𝑁𝑋 ={𝑥1, 𝑥3, 𝑥4, 𝑥5, 𝑥8, 𝑥9} − x1, 𝑥3, x4, x9 = {𝑥5, 𝑥8}
1.2.5 Bảng quyết định [7]
Định nghĩa 1.2: Một hệ thống thông tin mà trong hệ thống này chúng ta phân
biệt được hai loại thuộc tính của nó, thuộc tính điều kiện và thuộc tính quyết định thì được gọi là bảng quyết định Tập thuộc tính điều kiện và tập thuộc tính quyết định giúp ta xác định được các phân lớp trên bảng quyết định Các phân lớp được xác định thông qua thuộc tính điều kiện Sau khi có các phân lớp, chúng ta sẽ xác định được các phân lớp tương đương bằng các thuộc tính quyết định
Một bảng quyết định cùng một tập thuộc tính điều kiện C và một tập thuộc tính quyết định D được ký hiệu 𝑆 = (𝑈, 𝐶, 𝐷) với 𝐶, 𝐷 ≠ ∅, 𝐶 ∩ 𝐷 = ∅, 𝐶 ∪ 𝐷 = 𝐴
Lớp có = {p1, p2, p3,p6}
Lớp không = {p4, p5}
Mỗi một dòng trên bảng quyết định xác định một luật quyết định Trong mỗi luật quyết đinh, quyết định được thực hiện khi mà các điều kiện chỉ ra các thuộc tính điều kiện được thỏa mãn Ví dụ như trong bảng 1.3 với điều kiện (nhức đầu, không có), (đau cơ, có), (nhiệt độ, cao) xác định duy nhất quyết định (bệnh cúm, có)
Luật quyết định ở dòng 2 và dòng 5 trong bảng 1.3 có cùng điều kiện nhưng quyết định đưa ra lại khác nhau Quyết định này được gọi là không nhất quán (không chính
Trang 20xác, mâu thuẫn) Ngược lại với các luật này thì ta có các luật quyết định nhất quán (nhất định, xác định và không mâu thuẫn) Đôi khi, các luật quyết định nhất quán được gọi là các luật chắc chắn và các luật không nhất quán được gọi là các luật có thể xảy
ra Bảng quyết định chứa các luật không nhất quán gọi là bảng quyết không nhất quán còn ngược lại là bảng quyết định nhất quán Số lượng các luật nhất quán với tất cả các luật trong bảng quyết định được coi là hệ số nhất quán của bảng quyết định Nó được
ký hiệu là 𝛾(𝐶, 𝐷) trong đó C, D là các thuộc tính điều kiện và thuộc tính quyết định của bảng quyết định 𝛾 𝐶, 𝐷 = 1 thì bảng quyết định là nhất quán còn 𝛾 𝐶, 𝐷 ≠ 1 thì bảng quyết định là không nhất quán Ở bảng 3 ta có 𝛾 𝐶, 𝐷 = 4/6 vì vậy bảng 1.3
là bảng quyết định không nhất quán
1.2.6 Luật quyết định
Luật quyết định là gì? [8] Luật quyết định thường được ở dạng: Nếu (điều kiện
thuộc tinh thỏa mãn) thì (đưa ra quyết định phù hợp) Thí dụ luật 1 trong bảng 1.3: Nếu (đau đầu, không) và (đau cơ, có) và (nhiệt độ, cao) thì (bệnh cúm, có) Một tập các luật quyết định được gọi là một thuật toán quyết định Do đó với mỗi một bảng quyết định, chúng ta có thể kết hợp một thuật toán quyết định bao gồm tất cả các luật quyết định xảy ra trong bảng quyết định Hay nói cách khác một trình tự sẽ được gọi là
một luật quyết định được tạo ra bởi đối tượng x (nằm trong bảng quyết đinh S) và
được ký hiệu như sau: 𝑐1 𝑥 , … , 𝑐𝑛 𝑥 → 𝑑1 𝑥 , … , 𝑑𝑚(𝑥) hoặc viết gọn lại 𝐶 →𝑥𝐷 Trong đó, chúng ta quan tâm tới các độ đo quan trọng và cần thiết của luật quyết định
Các độ đo này được trình bày ở định nghĩa 1.3
Định nghĩa 1.3 [5]: Cho một hệ thống thông tin hoàn chỉnh 𝑆 = (𝑈, 𝐶, 𝐷), chúng ta ký
hiệu U/C = {𝐶1, 𝐶2, … , 𝐶𝑚} là các phân lớp điều kiện và U/D = {𝐷1, 𝐷2, … , 𝐷𝑛} là các phân lớp quyết định ∀ 𝐶𝑖 ⊆ 𝑈 𝐶 , ∀ 𝐷𝑗 ⊆ 𝑈 𝐷 ta tính được độ hỗ trợ, độ chắc chắn và
trong đó |𝑈| là tượng trưng cho lực lượng (số phần tử) trong U
Độ chính xác của luật quyết định 𝐶𝑖 → 𝐷𝑗 được ký hiệu là 𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗):
𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑖) = 𝐶𝑖 ∩ 𝐷𝑗
|𝐶𝑖|Nếu 𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗) = 1 thì luật quyết định 𝐶𝑖 → 𝐷𝑗 là luật quyết định chắc chắn Còn nếu 0 < 𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗) < 1 thì luật quyết định này sẽ thuộc luật quết định không chắc chắn
Độ phủ của luật quyết định:
Trang 21𝐶𝑜𝑣 𝐶𝑖, 𝐷𝑗 = 𝐶𝑖 ∩ 𝐷𝑗
|𝐷𝑗|
Nếu 𝐶𝑖 → 𝐷𝑗 là một luật quyết định thì 𝐷𝑗 → 𝐶𝑖 sẽ đƣợc một luật quyết định ngƣợc của
nó Các luật quyết định ngƣợc đƣợc dùng để giải thích (các lý do) của một luật quyết định
…
⋯
𝑆𝑢𝑝𝑝(𝐶1, 𝐷𝑛)𝑆𝑢𝑝𝑝(𝐶2, 𝐷𝑛)
⋮ ⋮ ⋮ ⋮𝑆𝑢𝑝𝑝 𝐶𝑚, 𝐷1 𝑆𝑢𝑝𝑝(𝐶𝑚, 𝐷2) ⋯ 𝑆𝑢𝑝𝑝(𝐶𝑚, 𝐷𝑛)
Ma trận độ chính xác:
Trang 22𝐴𝑐𝑐 (𝐶, 𝐷) =
𝐴𝑐𝑐 𝐶1, 𝐷1 𝐴𝑐𝑐(𝐶1, 𝐷2)𝐴𝑐𝑐 𝐶2, 𝐷1 𝐴𝑐𝑐(𝐶2, 𝐷2)
…
⋯
𝐴𝑐𝑐(𝐶1, 𝐷𝑛)𝐴𝑐𝑐(𝐶2, 𝐷𝑛)
⋮ ⋮ ⋮ ⋮𝐴𝑐𝑐 𝐶𝑚, 𝐷1 𝐴𝑐𝑐(𝐶𝑚, 𝐷2) ⋯ 𝐴𝑐𝑐(𝐶𝑚, 𝐷𝑛)
Ma trận độ phủ:
𝐶𝑜𝑣 (𝐶, 𝐷) =
𝐶𝑜𝑣 𝐶1, 𝐷1 𝐶𝑜𝑣(𝐶1, 𝐷2)𝐶𝑜𝑣 𝐶2, 𝐷1 𝐶𝑜𝑣(𝐶2, 𝐷2)
…
⋯
𝐶𝑜𝑣(𝐶1, 𝐷𝑛)𝐶𝑜𝑣(𝐶2, 𝐷𝑛)
⋮ ⋮ ⋮ ⋮𝐶𝑜𝑣 𝐶𝑚, 𝐷1 𝐶𝑜𝑣(𝐶𝑚, 𝐷2) ⋯ 𝐶𝑜𝑣(𝐶𝑚, 𝐷𝑛)
Ma trận chính xác và ma trận phủ giúp ta trích rút được các thông tin hữu ích từ dữ liệu ban đầu Các luật quyết định có độ chính xác và độ phủ cao là những luật có thể đưa ra những tri thức quan trọng Do dữ liệu luôn thay đổi, các phân lớp dữ liệu cũng thay đổi Để khai phá các luật quyết định có ý nghĩa, ta cần đặt ra ngưỡng của độ chính xác và độ phủ để khai phá được các tri thức quan tâm
Định nghĩa 1.4:
Nếu 𝐴𝑐𝑐 𝐶𝑖, 𝐷𝑗 ≥ 𝛼 𝑣à 𝐶𝑜𝑣 𝐶𝑖, 𝐷𝑗 ≥ 𝛾 thì ∀ 𝐶𝑖 ⊆ 𝑈 𝐶 𝑖 = 1 … 𝑚 ,
∀ 𝐷𝑗 ⊆ 𝑈 𝐷 𝑗 = 1 … 𝑛 Ta gọi luật 𝐶𝑖 → 𝐷𝑗 là một tri thức quan tâm
1.3 Khai phá luật quyết định dựa trên tập thô
Tập thô được khai thác và sử dụng nhiều trong các nghiên cứu với nhiều lĩnh vực khác nhau Trong đó, khai phá dữ liệu cũng là một lĩnh vực khai thác triệt để vai trò của tập thô Trong lý thuyết tập thô cho phép mô tả đặc tính của một tập các đối tượng trong nhóm các giá trị thuộc tính; tìm ra toàn bộ hoặc một phần phụ thuộc giữa các thuộc tính; giảm thuộc tính thừa; tìm ra các thuộc tính có ý nghĩa và sinh các luật quyết định Tập thô thường được rời rạc hóa, rút gọn và đưa ra các luật dựa trên tập dữ liệu huấn luyện hay các phân lớp trên tập dữ liệu mẫu ban đầu trong khai phá dữ liệu
Nó giúp biễu diễn và đưa ra kết luận cho các tri thức không chắc chắn Khai phá luật quyết định dựa trên tập thô là một hướng nghiên cứu rất phố biến hiện nay Phương pháp này thường áp dụng kỹ thuật phân lớp của khai phá dữ liệu
1.4 Kết luận chương 1
Chương 1 trình bày tổng quan về khai phá dữ liệu, các khai niệm cơ bản về tập thô Đây là chương đưa ra các khái niệm cơ bản để tạo tiền đề tiếp cận và tìm hiểu cho chương sau
Trang 23CHƯƠNG 2 THUẬT TOÁN TIẾP CẬN GIA TĂNG ĐỂ KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN CƠ SỞ DỮ LIỆU CÓ GIÁ TRỊ THUỘC TÍNH THAY ĐỔI
Trong lý thuyết tập thô, tập xấp xỉ trên và xấp xỉ dưới là những khái niệm có tính thay đổi động như một hệ thống thông tin thay đổi theo thời gian Khi tập xấp xỉ thay đổi, các luật quyết định trước đó sẽ bị thay đổi và đôi khi không còn có giá trị Vậy, chúng ta phải làm thế nào để cập nhật tập xấp xỉ dựa trên bản gốc thông tin và thu được các luật quyết định có ý nghĩa tại thời điểm này? Đây là một nhiệm vụ quan trọng có thể giúp ta nâng cao hiệu quả của việc khai phá tri thức
Trong các ứng dụng thực tế, miền giá trị của các thuộc tính thay đổi theo thời gian và nó thay đổi thường theo hai xu hướng: giá trị mới có thể được thêm vào hoặc
bị xóa bớt ở trong miền giá trị của thuộc tính, đó là phương thức làm thô và làm mịn các giá trị thuộc tính Trong trường hợp này, miền giá trị có thể tăng lên hoặc giảm đi Khi giá trị thuộc tính thay đổi thì tri thức thu được có bị thay đổi không ? Điều này đã được làm sáng tỏ trong [2] Chen và cộng sự đã trình bày một phương pháp tiếp cận gia tăng để cập nhật động các xấp xỉ khi làm thô và làm mịn các giá trị thuộc tính Kết quả nghiên cứu cho thấy, ta làm thô các giá trị thuộc tính thì tập xấp xỉ dưới sẽ bị thu hẹp lại và tập xấp xỉ trên mở rộng ra Còn khi ta làm mịn các giá trị thuộc tính, ta sẽ có kết quả ngược lại Qua nghiên cứu của Chen, ta thấy rằng khi cơ sở dữ liệu có tập đối tượng không đổi nhưng tập thuộc tính thay đổi thì tri thức thu được sẽ có thể thay đổi
Do đó, ta cần có các thuật toán giúp cập nhật lại tri thức khi cơ sở dữ liệu có thuộc tính được làm thô và làm mịn
Hiện nay có rất nhiều thuật toán theo hướng tiếp cận gia tăng để khai phá trí thức
có nghĩa khi tập giá trị thuộc tính thay đổi theo thời gian mà tập đối tượng không đổi Chẳng hạn như thuật toán của Liu [5] với hướng tính toán gia tăng ma trận độ chính xác và ma trận độ phủ Tiếp theo là thuật toán được đề xuất trong [1], thuật toán này được đề xuất theo hướng tiếp cận gia tăng ma trận độ hỗ trợ để cập nhật các luật quyết định khi cơ sở dữ liệu có giá trị thuộc tính được làm thô, làm mịn
Chương này của luận văn tìm hiểu và bày trình bày về thuật toán trích rút các luật quyết định có ý nghĩa khi làm thô, làm mịn các giá trị thuộc tính điều kiện và thuộc tính quyết định theo hướng tiếp cận gia tăng ma trận độ hỗ trợ Bố cục của chương gồm các phần sau: Mục 2.1 - Trình bày các định nghĩa về thay đổi giá trị thuộc tính Mục 2.2 - Trình bày mô hình tiếp cận gia tăng và thuật toán Mục 2.3 – Kết luận chương
2.1 Định nghĩa về việc thay đổi giá trị thuộc tính [2]
Định nghĩa 2.1: Đối với các thuộc tính trong bộ thuộc tính, kiên thức thu được sẽ trở
thành thô (mịn) khi phân vùng làm thô (mịn) Do thay đổi và phát triển của môi trường bên ngoài, tại thời điểm t+1, một số giá trị thuộc tính sẽ được kết hợp lại Chúng ta gọi
Trang 24hiện tượng này là quá trình làm thô Và một vài giá trị thuộc tính sẽ tách ra, ta gọi hiện tượng này là quá trình làm mịn
Định nghĩa 2.2: Cho hệ thống thông tin 𝐼𝑆 = 𝑈, 𝐴 , 𝐵 ⊆ 𝐴, 𝑎𝑙 ∈ 𝐵, 𝑓 𝑥𝑖, 𝑎𝑙 là giá trị của đối tượng 𝑥𝑖 trên thuộc tính 𝑎𝑙, 𝑓 𝑥𝑘, 𝑎𝑙 là giá trị của đối tượng 𝑥𝑘 (k≠ 𝑖) trên thuộc tính 𝑎𝑙, 𝑓 𝑥𝑖, 𝑎𝑙 ≠ 𝑓 𝑥𝑘, 𝑎𝑙 Đến một thời điểm nào đó, ta có
2.2 Mô hình tiếp cận gia tăng và thuật toán
Tiếp cận gia tăng là một phương pháp phổ biến và được sử dụng nhiều trong khai phá dữ liệu Đây là một cách lưu trữ tất cả dữ liệu và nó cũng cho phép tập huấn lại dữ liệu Trong khai phá dữ liệu học gia tăng thường được áp dụng cho môi trường dữ liệu luôn thay đổi Trong đó, phương pháp tiếp cận gia tăng dựa trên kỹ thuật phân lớp là một phương pháp hay dùng Nơi mà dữ liệu thay đổi nhưng không cùng một lúc Một phân lớp được gọi là gia tăng khi nó đủ bốn tiêu chí sau: Có thể học thêm thông tin từ
dữ liệu mới, không yêu cầu truy cập dữ liệu gốc để tạo ra các dữ liệu hiện có, bảo vệ kiến thức thu được trước đó, nó có thể chứa các lớp mới mà các lớp này có thể được đưa ra từ dữ liệu mới Phần 2.2.1 tiếp theo đây sẽ trình bày về thuật toán tiếp cận gia tăng dựa trên kỹ thuật phân lớp với tập thô
2.2.1 Mô hình bài toán và kiến thức cơ sở tiếp cận thuật toán khi giá trị thuộc tính thay đổi
2.2.1.1 Mô hình bài toán tiếp cận:
Chúng ta giả thiết tồn tại 2 thời điểm t và t+1 trong mô hình có hệ thống thông tin IS = U, A Với A = C ∪ D; C là tập các thuộc tính điều kiện và U/C =
𝐶1, 𝐶2, … , 𝐶𝑚 là các phân lớp điều kiện; D là tập các thuộc tính quyết định và U/D = {𝐷1, 𝐷2, … , 𝐷𝑛} là các phân lớp quyết định (0<m, n<|U|) Với mỗi 𝑎 ∈ 𝐴 được định nghĩa thông qua hàm thông tin 𝑓𝑎: 𝑈 → 𝑉𝑎 Với Va là tập các giá trị của thuộc tính a, được gọi là miền của thuộc tính a Ta ký hiệu 𝑓(𝑥, 𝑎) là giá trị của đối tượng 𝑥 trên thuộc tính a; 𝑓(𝐶𝑖, 𝑎) là giá trị của lớp điều kiện 𝐶𝑖 trên thuộc tính a; 𝑓(𝑥, 𝑑) giá trị của đối tượng 𝑥 trên thuộc tính quyết định d với 𝑑 ⊆ 𝐷 và 𝑓(𝐷𝑖, 𝑑) giá trị của lớp tương đương quyết định 𝐷𝑗 trên thuộc tính d Với mô hình bài toán này, ta chỉ xét tại một thời điểm chỉ có một trường hợp giá trị thuộc tính thay đổi
Trang 25Yêu cầu: Khai phá các luật quyết định có ý nghĩa khi giá trị thuộc tính thay đổi (được làm thô, làm mịn) và các luật quyết định phải thỏa mãn hai ngưỡng tối thiểu của
độ chính xác (α) và độ phủ (γ) cho trước
2.2.1.2 Kiến thức cơ sở tiếp cận thuât toán khi có giá trị thuộc tính thay đổi
Theo [5], giá trị thuộc tính điều kiện thay đổi trong hai trường hợp: Làm thô các giá trị thuộc tính điều kiện và làm mịn các giá trị thuộc tính điều kiện Phân vùng sẽ trở nên thô, tập xấp xỉ dưới sẽ thu hẹp lại và tập xấp xỉ trên sẽ mở rộng ra khi giá trị của thuộc tính điều kiện được làm thô Ngược lại, phân vùng sẽ trở nên mịn, tập xấp xỉ dưới sẽ mở rộng ra và tập xấp xỉ trên sẽ thu hẹp lại khi giá trị của thuộc tính điều kiện được làm mịn Do vậy quá trình làm thô và làm mịn sẽ làm ảnh hưởng tới hệ thống ban đầu qua hai khía cạnh Khía cạnh thứ nhất, các lớp tương đương và các phần tử trong các lớp sẽ có sự thay đổi Khía cạnh thứ hai, sự thống nhất của hệ thống cũng bị thay đổi
Theo [5], giá trị thuộc tính quyết định thay đổi trong hai trường hợp: Làm thô các giá trị thuộc tính quyết định và làm mịn các giá trị của thuộc tính quyết định Khi làm mịn giá trị của thuộc tính quyết định thì phân vùng sẽ trở nên mịn, tập xấp xỉ dưới được mở rộng ra và tập xấp xỉ trên bị thu hẹp lại Ngược lại, khi làm thô giá trị thuộc tính quyết định thì tập xấp xỉ dưới sẽ thu hẹp lại và tập xấp xỉ trên được mở rộng ra Tác động của nó đến hệ thống ban đầu cũng tương tự như quá trình làm thô và làm mịn các giá trị của thuộc tính điều kiện
Như vậy, khi giá trị thuộc tính thay đổi sẽ xét trong 4 trường hợp sau: (1) Làm thô các giá trị của thuộc tính điều kiện; (2) Làm mịn các giá trị thuộc tính điều kiện; (3) Làm thô các giá trị của thuộc tính quyết định; (4) Làm mịn các giá trị của thuộc tính quyết định Trong phạm vi luận văn này, chúng ta chỉ xét tại thởi điểm t+1 chỉ có một trường hợp thay đổi giá trị thuộc tính
Sự thay đổi giá trị thuộc tính điều kiện (quyết định) đều ảnh hưởng tới việc phân lớp và các phần tử trong lớp tương ứng bị tác động Để thu được các phân lớp tương đương bị thay đổi và thu nạp các phần tử tương ứng với lớp này, ta cần đi sâu nghiên cứu các tính chất cơ bản của quá trình làm thô và làm mịn các thuộc tính điều kiện (quyết định) Theo [1], ta có các kết quả và hệ quả sau đây tương ứng với 4 trường hợp thay đổi của thuộc tính
(1) Làm thô các giá trị thuộc tính điều kiện:
Tại thời điểm t, hai giá trị 𝑒 và của thuộc tính 𝑎𝑖 ∈ 𝐶 được làm thô tới giá trị mới 𝑤, 𝑤 ∉ 𝑉𝑎𝑖 Tại thời điểm t+1, tồn tại 2 lớp tương đương 𝐶𝑢, 𝐶𝑧 được làm thô thành lớp tương đương 𝐶𝑤, khi và chỉ khi ∀ 𝑎𝑖 ≠ 𝑎𝑗, 𝑓𝑡 𝐶𝑢, 𝑎𝑗 = 𝑓𝑡(𝐶𝑧, 𝑎𝑗)
Chứng minh:
Ta chứng minh chiều thuận: Hai lớp tương 𝐶𝑢, 𝐶𝑧 được làm thô thành lớp tương đương 𝐶𝑤 thì suy ra ∀ 𝑎𝑖 ≠ 𝑎𝑗, 𝑓𝑡 𝐶𝑢, 𝑎𝑗 = 𝑓𝑡(𝐶𝑧, 𝑎𝑗):
Trang 26Hai lớp tương 𝐶𝑢,𝐶𝑧 được làm thô thành lớp tương đương 𝐶𝑤 thì ∀ 𝑎𝑖 ≠ 𝑎𝑗 ta có:
Trường hợp 2: Nếu 𝑥 ∈ 𝐶𝑧 Tương tự như trường hợp 1 ta chứng minh được 𝑥 ∈ 𝐶𝑤
Ta chứng minh điều ngược lại: Nếu 𝑥 ∈ 𝐶𝑤 thì 𝑥 ∈ 𝐶𝑢 hoặc 𝑥 ∈ 𝐶𝑧:
Với 𝑥 ∈ 𝐶𝑤, ta có 𝑓𝑡+1 𝐶𝑤, 𝑎𝑖 = 𝑤 thì 𝑓𝑡+1 𝑥, 𝑎𝑖 = 𝑤 Lúc này, giá trị 𝑓𝑡 𝑥, 𝑎𝑖 sẽ có
2 giá trị:
𝑓𝑡 𝑥, 𝑎𝑖 = 𝑒 thì 𝑥 ∈ 𝐶𝑢 hoặc 𝑓𝑡 𝑥, 𝑎𝑖 = thì 𝑥 ∈ 𝐶𝑧
Do đó ta có 𝐶𝑤 ⊆ 𝐶𝑢 ∪ 𝐶𝑧 (2.8)
Từ (2.7) và (2.8), ta có 𝐶𝑢 ∪ 𝐶𝑧 = 𝐶𝑤
Trang 272) ∀ 𝐷𝑗 ∈ 𝑈 𝐷 , 𝑆𝑢𝑝𝑝 𝐶𝑢, 𝐷𝑗 + 𝑆𝑢𝑝𝑝 𝐶𝑧, 𝐷𝑗 = 𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 𝑣ớ𝑖 𝑗 = 1, … , 𝑛 Tính 𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 :
𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 = |𝐶𝑤 ∩ 𝐷𝑗|
=|(𝐶𝑢 ∪ 𝐶𝑧) ∩ 𝐷𝑗| =|((𝐶𝑢 ∩ 𝐷𝑗) ∪ 𝐶𝑧∩ 𝐷𝑗 |
𝑆𝑢𝑝𝑝(𝐶𝑤, 𝐷𝑗 ) = |𝐶𝑢 ∩ 𝐷𝑗 | + |𝐶𝑧 ∩ 𝐷𝑗| − |(𝐶𝑢 ∩ 𝐷𝑗) ∩ (𝐶𝑧∩ 𝐷𝑗)|
Ta có ở thởi điểm t: 𝑓𝑡(𝐶𝑢, 𝑎) ≠ 𝑓𝑡(𝐶𝑧, 𝑎) nên 𝐶𝑢 ∩ 𝐶𝑧 = ∅ nên suy ra: 𝐶𝑢 ∩ 𝐶𝑧 = 0 Nên ta có:
𝑆𝑢𝑝𝑝(𝐶𝑤, 𝐷𝑗 ) = |𝐶𝑢 ∩ 𝐷𝑗 | + |𝐶𝑧 ∩ 𝐷𝑗| 𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 = 𝑆𝑢𝑝𝑝 𝐶𝑢, 𝐷𝑗 + 𝑆𝑢𝑝𝑝(𝐶𝑧, 𝐷𝑗) ( điều phải chứng minh)
Từ hệ quả 2.1, ta nhận thấy khi làm thô hai lớp tương đương điều kiện 𝐶𝑢, 𝐶𝑧thành lớp lớp tương đương điều kiện 𝐶𝑤 được biểu hiện cụ thể bằng sự thay đổi trên
ma trận độ hỗ trợ thời điểm t và thời điểm t+1 Lúc này, ma trận độ hỗ trợ thời điểm t+1 được tính như sau: Hai dòng tính độ hỗ trợ tương ứng với lớp tương đương điều kiện 𝐶𝑢, 𝐶𝑧 trong ma trận tính độ hỗ trợ thời điểm t sẽ hợp thành một dòng mới tính độ
hỗ trợ tương ứng với lớp tương đương điều kiện 𝐶𝑤 trên ma trận thời điểm t+1 Và giá trị của dòng tính độ hỗ trợ tương ứng với lớp tương đương điều kiện 𝐶𝑤 bằng tổng giá trị các phần tử của hai dòng tính độ hỗ trợ tương ứng với lớp tương đương điều kiện
𝐶𝑢, 𝐶𝑧 Còn các phần tử trên ma trận tương ứng với với các lớp tương đương điều kiện khác không đổi so với thời điểm t
(2) Làm mịn các giá trị thuộc tính điều kiện
Giả sử sau thời điểm t, thuộc tính 𝑎 ∈ 𝐶 có giá trị w được làm mịn thành 2 giá trị mới là 𝑒 và (𝑒, ∉ 𝑉𝑎) Tồn tại một lớp tương đương điều kiện 𝐶𝑤 nào đó được làm mịn thành hai lớp tương đương điều kiện 𝐶𝑧, 𝐶𝑢 tại thời điểm t+1 khi và chỉ khi:
Giả thiết 𝐶𝑤 ∩ 𝐸 = ∅ Ở thời điểm t, ta có 𝑓𝑡 𝑥, 𝑎 = 𝑓𝑡 𝐶𝑤, 𝑎 = 𝑤 Do giả thiết
𝐶𝑤 ∩ 𝐸 = ∅ và ở thời điểm t+1thì 𝑤 được làm mịn thành 2 giá trị mới là 𝑒 và Và
𝑒 ∈ 𝐸, giả thiết 𝐶𝑤 ∩ 𝐸 = ∅ nên 𝑓𝑡+1 𝑥, 𝑎 = Bởi nếu 𝑓𝑡+1 𝑥, 𝑎 = 𝑒 thì 𝑥 ∈ 𝐸 Điều này trái với điều kiện ban đầu của tập 𝐸 = {𝑥 ∈ 𝐶𝑤: 𝑓𝑡+1 𝑥, 𝑎 = 𝑒} Do đó
𝐶𝑤 ∩ 𝐸 ≠ ∅
Trang 28Bên cạnh đó ta có: Ở thời điểm t thì 𝑓𝑡 𝑥, 𝑎 = 𝑓𝑡 𝐶𝑤, 𝑎 = 𝑤 nên ở thời điểm t+1:
𝑓𝑡+1 𝑥, 𝑎 = 𝑒 thì 𝑥 ∈ 𝐸 hoặc 𝑓𝑡+1 𝑥, 𝑎 = thì 𝑥 ∈ 𝐻 Vì vậy 𝑥 ∈ (𝐸 ∪ 𝐻) Điều này
có nghĩa là 𝐶𝑤 ⊆ (𝐸 ∪ 𝐻) (2.11)
Từ (2.10) và (2.11), ta có 𝐶𝑢 ∪ 𝐶𝑧 = 𝐶𝑤 (2.12)
(2.9) và (2.12) ta có điều phải chứng minh
Hệ quả 2.2: Nếu lớp tương đương 𝐶𝑤 sau thời điểm t được làm mịn thành 2 lớp tương đương 𝐶𝑧, 𝐶𝑢 thì tại thời điểm t+1 ta có:
1) 𝐶𝑤 = 𝐶𝑧 ∪ 𝐶𝑢
2) ∀ 𝐷𝑗 ∈ 𝑈 𝐷 , 𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 = 𝑆𝑢𝑝𝑝 𝐶𝑧, 𝐷𝑗 + 𝑆𝑢𝑝𝑝 𝐶𝑢, 𝐷𝑗 𝑣ớ𝑖 𝑗 = 1, … , 𝑛Chứng minh:
Ta chứng minh hệ quả 2.2 tương tự như hệ quả 2.1
Từ hệ quả 2.2, ta nhận thấy khi làm mịn lớp tương đương điều kiện 𝐶𝑤 thành hai lớp tương đương điều kiện 𝐶𝑧, 𝐶𝑢 thì ma trận độ hỗ trợ thời điểm t+1 được tính như sau: Các giá trị phần tử tương ứng với các phân lớp điều kiện khác 𝐶𝑤 không đổi Chỉ khác dòng tương ứng tính độ hỗ của lớp tương đương điều kiện 𝐶𝑤 bị tách thành hai dòng mới tương ứng tính độ hỗ trợ của lớp 𝐶𝑢, 𝐶𝑧 Điều này có nghĩa là dòng tương ứng với lớp 𝐶𝑤 ở ma trận hỗ trợ thời điểm t được thay bằng hai dòng tính độ hỗ trợ tương ứng với hai lớp 𝐶𝑢, 𝐶𝑧 Và tổng giá trị các phần tử tương ứng trên hai dòng tính
độ hỗ trợ của hai lớp tương đương 𝐶𝑢, 𝐶𝑧 bằng giá trị của phần tử độ hỗ trợ tương ứng với phân lớp điều kiện 𝐶𝑤 Như vậy, ta tính 𝑆𝑢𝑝𝑝(𝐶𝑢, 𝐷𝑗) và tiếp theo tính 𝑆𝑢𝑝𝑝 𝐶𝑧, 𝐷𝑗 như sau: 𝑆𝑢𝑝𝑝 𝐶𝑧, 𝐷𝑗 = 𝑆𝑢𝑝𝑝 𝐶𝑤, 𝐷𝑗 − 𝑆𝑢𝑝𝑝 𝐶𝑢, 𝐷𝑗
( với 𝑗 = 1, … , 𝑛)
(3) Làm thô các giá trị của thuộc tính quyết định
Giả sử hai thuộc tính quyết định e, h (𝑒, ∈ 𝑑, 𝑑 ⊆ 𝐷) được làm thô thành giá trị mới là w (𝑤 ∉ 𝑉𝑑) ngay sau thời điểm t Tại thời điểm t+1, tồn tại hai lớp tương đương quyết định 𝐷𝑢, 𝐷𝑧 được làm thô thành lớp tương đương quyết định 𝐶𝑤 nếu
𝐷𝑢 ∪ 𝐷𝑧 = 𝐷𝑤 Với 𝐷𝑢 = {𝑥 ∈ 𝑈: 𝑓𝑡 𝑥, 𝑑 = 𝑒} và 𝐷𝑧 = { 𝑥 ∈ 𝑈: 𝑓𝑡(𝑥, 𝑑) = }
Hệ quả 2.3: ∀ 𝐶𝑖 ∈ 𝑈 𝐶 , 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑢 + 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑧 = 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑤 𝑣ớ𝑖
𝑖 = 1, … , 𝑚
Trang 29Hệ quả 2.3 chứng minh tương tự hệ quả 2.1
Từ hệ quả 2.3, ta nhận thấy sau khi làm thô hai lớp tương đương quyết định
𝐷𝑢, 𝐷𝑧 thành lớp lớp tương đương quyết định 𝐷𝑤 thì ma trận độ hỗ trợ thời điểm t+1 được tính như sau: Hai cột tính độ hỗ trợ tương ứng với lớp tương đương quyết định
𝐷𝑢, 𝐷𝑧 trong ma trận tính độ hỗ trợ thời điểm t sẽ hợp thành một cột tính độ hỗ trợ tương ứng với lớp tương đương quyết định 𝐷𝑤 trên ma trận thời điểm t+1 Và giá trị của cột tính độ hỗ trợ tương ứng với lớp tương đương quyết định 𝐷𝑤 bằng tổng giá trị các phần tử tương ứng với hai cột tính độ hỗ trợ tương ứng với hai lớp tương đương quyết định 𝐷𝑢, 𝐷𝑧 Còn các phần tử trên ma trận tương ứng với với các lớp tương
đương quyết đinh khác không đổi so với thời điểm t
(4) Làm mịn các giá trị của thuộc tính quyết định
Giả sử sau thời điểm t, thuộc tính 𝑑 ∈ 𝐷 có giá trị w được làm mịn thành 2 giá trị mới là e và h (𝑒, ∉ 𝑉𝑑) Tồn tại một lớp tương đương quyết định 𝐷𝑤 nào đó được làm mịn thành hai lớp tương đương quyết định 𝐷𝑧, 𝐷𝑢 tại thời điểm t+1
Ta có hệ quả sau:
Hệ quả 2.4:
∀ 𝐶𝑖 ∈ 𝑈 𝐶 , 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑤 = 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑢 + 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑧 𝑣ớ𝑖 𝑖 = 1, … , 𝑚
Hệ quả 2.4 chứng minh tương tự 2.1
Từ hệ quả 2.4, ta nhận thấy khi làm mịn lớp tương đương điều kiện 𝐷𝑤 thành hai lớp tương đương điều kiện 𝐷𝑧, 𝐷𝑢 thì ma trận độ hỗ trợ thời điểm t+1 được tính như sau: Các giá trị phần tử tương ứng với các phân lớp quyết định khác 𝐷𝑤 không đổi Chỉ khác, cột tương ứng tính độ hỗ của lớp quyết định 𝐷𝑤 bị tách thành hai cột mới tương ứng tính độ hỗ trợ của lớp 𝐷𝑧, 𝐷𝑢 Điều này có nghĩa là cột tương ứng với lớp
𝐷𝑤 ở ma trận hỗ trợ thời điểm t được thay bằng hai cột tính độ hỗ trợ tương ứng với hai lớp 𝐷𝑧, 𝐷𝑢 Và tổng giá trị các phần tử tương ứng trên hai cột tính độ hỗ trợ của hai lớp tương đương 𝐷𝑧, 𝐷𝑢 bằng giá trị của phần tử độ hỗ trợ tương ứng với phân lớp quyết định 𝐷𝑤 Như vậy, ta tính 𝑆𝑢𝑝𝑝(𝐶𝑖, 𝐷𝑢) và tiếp theo tính 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑧 như sau: 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑧 = 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑤 − 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑢 ( với 𝑖 = 1, … , 𝑚)
2.2.2 Thuật toán tiếp cận gia tăng khi làm thô, làm mịn các giá trị thuộc tính
Luận văn tiếp cận và tìm hiểu thuật toán theo hướng tiếp cận gia tăng để khai phá các luật quyết định khi làm thô làm mịn các thuộc tính điều kiện (quyết định) Thuật toán này được đề xuất bởi tiến sĩ Nguyễn Quang Khanh Đặc điểm nổi bật của thuật toán là kết quả đầu ra là các luật quyết định có ý nghĩa và phạm vi đề cập của thuật toán có xem xét cả bốn trường hợp khi làm thô và làm mịn các giá trị của thuộc tính điều kiện (quyết định) Bên cạnh đó, thuật toán không đòi hỏi việc phải thực hiện lại phân lớp khi các giá trị thuộc tính thay đổi mà chỉ cần tìm các lớp tương đương bị thay đổi để làm cơ sở cho việc cập nhật lại ma trận độ hỗ trợ Dựa trên ma trận độ hỗ trợ tại thời điểm thay đổi, ta tính ma trận độ phủ và ma trận độ chính xác Với hai ngưỡng là
Trang 30độ chính xác và độ phủ cho trước, thuật toán sẽ trích rút ra các luật quyết định có ý nghĩa thỏa mãn bộ hai ngưỡng này
Dựa vào các kiến thức cơ bản theo hướng tiếp cận gia tăng đã trình bày ở mục 2.2.1, luận văn trình bày thuật toán tính toán gia tăng ma trận độ hỗ trợ để đưa ra cách tính chính xác khi hệ thống có sự thay đổi do các phần tử hoặc các lớp có sự thay đổi giá trị của các thuộc tính điều kiện (quyết định) Đồng thời, thuật toán cũng đưa ra cách tính ma trận độ chính xác và ma trận độ phủ ở thởi điểm t+1
2.2.2.1 Các bước thực hiện của thuật toán
Bước 1: Tính ma trận độ hỗ trợ thời điểm t
Từ hệ thống thông tin ban đầu tìm các phân lớp điều kiện và phân lớp quyết đinh Sau đó, ta tính ma trận độ hỗ trợ ở thởi điểm t theo công thức ở định nghĩa 1.3: 𝑆𝑢𝑝𝑝 𝐶𝑖, 𝐷𝑗 = |𝐶𝑖 ∩ 𝐷𝑗| cho các luật 𝐶𝑖 → 𝐷𝑗
Bước 2: Tính ma trận độ hỗ trợ ở thời điểm t+1
Tìm các lớp điều kiện và lớp quyết định thay đổi do làm thô (mịn) các giá trị thuộc tính và cập nhật lại số phần tử và số thứ tự các lớp điều kiện và quyết định có thay đổi Tiếp theo, ta tính độ hỗ trợ của các luật thay đổi: 𝐶𝑖𝑡𝑎𝑦 đổ𝑖 → 𝐷𝑗𝑡𝑎𝑦 đổ𝑖 Sau
đó, ta xây dựng ma trân độ hỗ trợ thời điểm t+1
ra các luật quyết định có ý nghĩa (định nghĩa 1.4)
2.2.2.2 Thuật toán mô phỏng bằng mã chương trình
Thuật toán 2.1: Thuật toán trích rút luật quyết định khi làm thô, làm mịn thuộc tính theo hướng tiếp cận gia tăng ma trận độ hỗ trợ
Dữ liệu đầu vào:
1) Các lớp tương đương điều kiện 𝐶𝑖
2) Các lớp tương đương quyết định 𝐷𝑖
3) Ngưỡng độ chính xác α, độ phủ γ
Kết quả đầu ra: Ma trận độ hỗ trợ, ma trận độ chính xác, ma trận độ phủ và các luật
quan tâm thời điểm t+1
Mã giả mô phỏng phương pháp tính toán:
//Tính ma trận độ phủ tại thời điểm t
Trang 31//Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm thô các giá trị thuộc tính điều kiện
//Thuộc tính điều kiện được làm thô a
//Các giá trị e, h của a được làm thô thành giá trị w
List <int> 𝐶𝑤 =Ø //Tập chứa các lớp tương đương được hợp thành một lớp mới int kiemtra;
for (int u=1; u<=m: u++)
for (int z=u+1; z<=m; z++)
if ((𝑎𝑘 ! = 𝑎)&&(𝑓𝑡 𝐶𝑢, 𝑎𝑘 ! = 𝑓𝑡(𝐶𝑧, 𝑎𝑘 ))) { kiemtra=0;
break;
} }
if (kiemtra ==1) { 𝐶𝑤= add.(𝐶𝑢) ;
𝐶𝑤= add.(𝐶𝑧) }
}
// tính ma trận supp thời điểm t+1
foreach ( int item in 𝐶𝑤)
{
for (int j=1;j<=n;j++)
Supp(𝐶𝑤, 𝐷𝑗) = Supp(𝐶𝑢, 𝐷𝑗) + Supp(𝐶𝑧, 𝐷𝑗);
//Xóa hai dòng tương ứng với hai lớp điều kiện 𝐶𝑢, 𝐶𝑧 trên ma trận độ hỗ trợ
𝑆𝑢𝑝𝑝(𝐶, 𝐷).DeleteRow 𝐶𝑢 ; 𝑆𝑢𝑝𝑝(𝐶, 𝐷).DeleteRow 𝐶𝑧 ;
Trang 32//Thêm dòng tương ứng 𝐶𝑤 trên ma trận độ hỗ trợ
𝑆𝑢𝑝𝑝(𝐶, 𝐷) 𝐴𝑑𝑑𝑅𝑜𝑤(𝐶𝑤);
}
//Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm mịn các giá trị thuộc tính điều kiện
//Thuộc tính điều kiện được làm mịn a
//Tập E các đối tượng mà giá trị có giá trị w trên thuộc tính a được làm mịn thành e //Tập H các đối tượng mà giá trị có giá trị w trên thuộc tính a được làm mịn thành h // Tìm lớp điều kiện 𝐶𝑤 được tách thành 2 lớp mới 𝐶𝑢, 𝐶𝑧
for (int i=1; i<=m; i++)
{
List <int> 𝐶𝑢 = ∅;
List<int> 𝐶𝑧 = ∅;
if ( 𝑓𝑡 (𝐶𝑤, 𝑎)=w && (𝐶𝑤 ∩ 𝐸! = ∅)&&(𝐶𝑤 ∩ 𝐻! = ∅) { for (int x=0;x<=𝐶𝑤 𝑐𝑜𝑢𝑛𝑡;x++)
//Xóa dòng tương ứng với lớp điều kiện 𝐶𝑤 trên ma trận độ hỗ trợ
//Thuộc tính quyết định được làm thô d
//Các giá trị e, h của a được làm thô thành giá trị w
//Tìm 2 lớp 𝐷𝑢, 𝐷𝑍 được làm thô thành lớp mới 𝐷𝑤
int u=-1, z=-1;
for (int j=1; j<=n; j++)
Trang 33{
if (𝑓 𝐷𝑗, 𝑑 == 𝑒) u=j;
if (𝑓 𝐷𝑗, 𝑑 == ) z=j;
}
//Tính ma trận supp thời điểm t+1
for (int i=1; i<=m: i++)
//Thuộc tính điều kiện đƣợc làm mịn a
//Giá trị w trên thuộc tính quyết định d đƣợc làm mịn thành e
//Giá trị w trên thuộc tính quyết định d đƣợc làm mịn thành h
// Tìm lớp điều kiện 𝐶𝑤 đƣợc tách thành 2 lớp mới 𝐶𝑢, 𝐶𝑧 mới
Trang 34Supp(𝐶𝑖, 𝐷𝑧)=Supp(𝐶𝑖, 𝐷𝑤) - Supp(𝐶𝑖, 𝐷𝑢) ; }
//Xóa cột tương ứng với lớp quyết định 𝐷𝑤 trên ma trận độ hỗ trợ
𝐶𝑜𝑣(𝐶𝑖, 𝐷𝑗) = 𝑆𝑢𝑝𝑝(𝐶𝑖, 𝐷𝑗)
|𝐷𝑗|// |𝐷𝑗| là số phần tử có trong phân lớp quyết định 𝐷𝑗
}
// Thuật toán khai phá luật quyết định có ý nghĩa ở thời điểm t+1
for (int i=1; i<=m; i++)
for (int j=1; j<=n;j++)
{
If (Acc(𝐶𝑖, 𝐷𝑗) ≥ 𝛼 && Cov(𝐶𝑖, 𝐷𝑗) ≥ 𝛾) 𝐶𝑖 → 𝐷𝑗
}
2.2.3 Đánh giá độ phức tạp theo thời gian của thuật toán
Độ phức tạp tính toán ma trận độ hỗ trợ thời điểm t: Số phần tử trung bình
của m phân lớp điều kiện |𝑈|
𝑚 Số phần tử trung bình của n phân lớp tương đương quyết định |𝑈|
𝑛 Độ hỗ trợ của một luật tương ứng từ một phần tử trong lớp điều kiện với một phần tử trong lớp quyết định: |𝑈|
𝑚 ∗|𝑈|
𝑛 và số lần thực hiện phép tính này là m*n lần Vậy ta có độ phức tạp tính toán của ma trận hỗ thời điểm t: |𝑈|
𝑚 ∗|𝑈|
𝑛 ∗ 𝑚 ∗ 𝑛 = 𝑈 2 Vậy độ phức tạp tính toán 𝑂( 𝑈 2)
Độ phức tạp tính toán ma trận hỗ trợ thời điểm t+1:
(1) Khi làm thô các thuộc tính điều kiện: Ta mất 𝑚 ∗ (𝑚 − 1) để kiểm tra hai lớp
𝐶𝑢, 𝐶𝑧 có hợp thành lớp 𝐶𝑤 không Ngoài ra, ta cũng mất n phép tính để tính độ hỗ trợ
Trang 35của lớp mới (được tạo tính cộng độ hỗ trợ của tương ứng của lớp 𝐶𝑢, 𝐶𝑧) Độ phức tạp tính toán khi chỉ có một cặp lớp điều kiện hợp thành một lớp điều kiện mới:
𝑚 ∗ 𝑚 − 1 + 𝑛 Độ phức tạp tính toán khi chỉ có |𝐶𝑤 | cặp lớp điều kiện hợp thành một lớp điều kiện mới: 𝑚 ∗ 𝑚 − 1 + 𝑛 ∗ |𝐶𝑤| ≤ 𝑈 2 (do m, n và |Cw| chỉ tối đa lớn nhất bằng số lượng phần tử của hệ thống |𝑈|) Vậy độ phức tạp tính toán 𝑂( 𝑈 2) (2) Khi làm mịn các thuộc tính điều kiện: Do có m lớp tương đương điều kiện nên
ta cần m phép tính để kiểm tra các lớp tương đương điều kiện Cw thành hai lớp tương đương điều kiện Cu, Cz Trong đó, mỗi lớp Cw thỏa mãm cần n phép tính để tìm các phần tử trong lớp đó thuộc Cu hay Cz Ta cũng cần phải tính n lần độ hỗ trợ U
m ∗ U
n tương ứng với lớp Cu và thực hiện n phép trừ để tính độ hỗ trợ của lớp Cz
Ta có độ phức tạp tính toán thời gian của ma trận độ hỗ trợ thời gian t+1 khi làm mịn các giá trị thuộc tính trong trường hợp chỉ có một lớp 𝐶𝑤 tách thành 2 lớp Cu, Cz:
Độ phức tạp tính toán: 2 ∗ 𝑛 + 𝑚 ≈ |𝑈| (m, n chỉ tối đa bằng số lượng các phần tử có trong hệ thống) Vậy độ phức tạp tính toán 𝑂(|𝑈|)
(4) Khi làm mịn các thuộc tính quyết định: Ta cần n phép tính để kiểm tra một lớp
𝐷𝑤 có tách thành 2 lớp mới 𝐷𝑢, 𝐷𝑧 không và m phép tính độ hộ trợ của lớp 𝐷𝑢
( 𝑈
𝑚 ∗ 𝑈
𝑛 ) và m phép tính trừ để tính độ hỗ trợ của lớp 𝐷𝑧 Vậy ta có độ phức tạp tính toán sẽ là: 𝑛 + 𝑚 ∗ 𝑈
𝑚 ∗ 𝑈
𝑛 + 𝑚 = 𝑛 + 𝑚 + 𝑈 2
𝑛 ≤ 𝑈 2 (do m, n nhỏ hơn rấ nhiều so với |U|) Độ phức tạp tính toán 𝑂( 𝑈 2)
Độ phức tạp tính toán ma trận độ chính xác và độ phủ thời điểm t+1: Để tính
ma trân độ chính xác ta cần m phép tính để đếm các phần tử trong mỗi lớp, |𝑈 2 phép tính độ hỗ trợ và m*n phép tính chia Vì vậy ta có độ phức tạp tính toán là
𝑚 + 𝑈 2 + 𝑚 ∗ 𝑛 ≤ 𝑈 2 ( do m, n chỉ tối đa bằng |U|) Tương tự ta có độ tính toán
ma trận độ phủ: 𝑛 + 𝑈 2 + 𝑚 ∗ 𝑛 ≤ 𝑈 2 Vậy độ phức tạp tính toán của ma trận độ chính xác và ma trận độ phủ 𝑂( 𝑈 2)
Độ phức tạp tính toán khi trích rút các luật có ý nghĩa tại thởi điểm t+1: Với
mỗi phần tự 𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗) và 𝐶𝑜𝑣(𝐶𝑖, 𝐷𝑗) ta cần so sánh với một bộ 2 ngưỡng α và γ cho trước vì vậy ta cần 2* m*n phép so sánh Do m, n chỉ tối đa lớn nhất là bằng |U| nên độ phức tạp tính toán là 𝑂( 𝑈 2)