Nhiệm vụ nghiên cứu Xây dựng thuật toán khai phá các luật từ bảng dữ liệu khi làm thô, mịn các giá trị của thuộc tính; cải tiến thuật toán khai phá luật quyết định khi bổ sung, loại bỏ
Trang 1dẫn, chỉ bảo rất tận tình của GS TS Vũ Đức Thi, Viện Công nghệ Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam là cán bộ trực tiếp hướng dẫn khoa học cho em Em xin chân thành cảm ơn các Thầy, Cô giáo trong khoa Công nghệ thông tin, các thầy cô thuộc Viện Công nghệ Thông tin và các cán
bộ, nhân viên phòng Đào tạo Sau đại học, trường Đại học sư phạm Hà Nội 2 cùng các anh chị đồng nghiệp trong cơ quan đã tạo những điều kiện thuận lợi cho em được học tập và nghiên cứu tại trường Đại học Sư Phạm Hà Nội 2
Qua đây em cũng xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K15KHMT- trường Đại học sư phạm Hà Nội 2 đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ những kinh nghiệm học tập, công tác trong suốt khoá học
Cuối cùng, tôi xin gửi tới gia đình, bạn bè và những người thân đã luôn bên cạnh tôi động viên tôi trong suốt quá trình thực hiện luận văn lời cám ơn
vô hạn nhất
Thời gian qua mặc dù đã có rất nhiều cố gắng song luận văn không thể tránh khỏi những thiếu sót, rất mong được sự chỉ bảo của các quý thầy cô và các bạn
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 5 tháng 12 năm 2013
Tác giả
Hoàng Thị Cúc
Trang 2LỜI CAM ĐOAN
thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc
Hà Nội, ngày 5 tháng 12 năm 2013
Tác giả
Hoàng Thị Cúc
Trang 3MỤ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, CÁC CHỮ VIẾT TẮT 4
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH 6
MỞ ĐẦU 7
Chương 1 TỔNG QUAN 9
1.1 Khai phá dữ liệu 9
1.2 Khai phá luật quyết định 12
1.3 Lý thuyết tập thô 15
1.3.1 Hệ thông tin 15
1.3.2 Quan hệ bất khả phân biệt 16
1.3.3 Xấp xỉ tập hợp 18
1.3.4 Bảng quyết định 20
1.3.5 Luật quyết định 18
1.4 Khái niệm làm thô, làm mịn giá trị thuộc tính 25
1.5 Tiến trình cập nhật tri thức khi làm thô, làm mịn các giá trị thuộc tính 26
1.6 So sánh kĩ thuật phân lớp dựa trên luật kết hợp và phân lớp dựa trên tập thô 27
Chương 2: KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ LIỆU CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI 29
2.1 Cơ sở toán học 29
2.1.1 Làm thô các giá trị thuộc tính điều kiện 29
2.1.2 Làm mịn các giá trị thuộc tính điều kiện 31
2.1.3 Làm thô các giá trị thuộc tính quyết định 33
2.1.4 Làm mịn các giá trị thuộc tính quyết định 33
2.2 Thuật toán 34
2.3 Độ phức tạp của thuật toán 42
CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 51
3.1 Mô tả dữ liệu 51
3.2 Cấu trúc chương trình 52
3.3 Kết quả thử nghiệm 56
3.4 Nhận xét 58
PHẦN KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 73
Trang 4DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Acc(Ci, Dj) Độ chính xác của luật quyết đinh Ci Dj
Acc (t) (C, D) Ma trận độ chính xác tại thời điểm t của tất cả các luật
Trang 5DANH MỤC CÁC BẢNG
Bảng 1.1: Ví dụ về hệ thông tin 16
Bảng 1.2: Ví dụ về bảng quyết định 21
Bảng 2.1: Ví dụ về bảng quyết định đầy đủ và nhất quán 46
Bảng 2.2: Độ chính xác và độ phủ đối với mỗi luật tại thời điểm t+2 49
Trang 6DANH MỤC CÁC HÌNH
Hình 2.1: Các bước cơ bản của thuật toán rút trích luật quyết định khi làm
thô/mịn các giá trị thuộc tính 21
Hình 3.1: Cấu trúc bảng dữ liệu minh họa 35
Hình 3.2: Dữ liệu lưu trữ trong 1 bảng minh họa 51
Hình 3.3: Cấu trúc bảng TableMetaData 52
Hình 3.4: Dữ liệu trong bảng TableMetaData 52
Hình 3.5: Giao diện chương trình nạp bảng quyết định 69
Hình 3.6: Tính toán với dữ liệu minh họa khi tính toán 70
Hình 3.7: Lựa chọn cặp giá trị cần làm thô trên lớp điều kiện 70
Hình 3.8: Lựa chọn tập đối tượng cần làm mịn trên lớp quyết định 71
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay công nghệ thông tin được phát triển rộng rãi trong hầu hết các lĩnh vực của đời sống xã hội Điều này dẫn đến sự bùng nổ thông tin đòi hỏi phải phát triển các phương pháp khai phá dữ liệu hiệu quả để có thể phát hiện ra tri thức hữu ích, tiềm ẩn trong các cơ sở dữ liệu lớn nhằm mục đích hỗ trợ các nhà quản lý, kinh doanh trong lĩnh vực ra quyết định, các chuyên gia
và các nhà khoa học trong nghiên cứu Hội nghị quốc tế về khai phá dữ liệu
và khám phá tri thức được tổ chức hàng năm, luân phiên tại nhiều nước đã thu hút hàng trăm nhà khoa học hàng đầu tham gia
Lý thuyết tập thô được đề nghị bởi Pawlak Z [12], [13] từ những năm đầu của thập niên 80 của thế kỉ trước là một cách tiếp cận mới để xử lý dữ liệu mơ hồ và không chắc chắn Cách tiếp cận lý thuyết tập thô có vai trò quan trọng trong trí tuệ nhân tạo, đặc biệt trong các lĩnh vực học máy, hỗ trợ quyết định, khám phá tri thức từ cơ sở dữ liệu phục vụ các hệ thống hỗ trợ quyết định, lập luận quy nạp và nhận dạng mẫu Sử dụng lý thuyết tập thô có thể giải quyết hiệu quả các vấn đề quan trọng như: Rút gọn thuộc tính, xử lý giá trị thiếu, rời rạc hóa dữ liệu, phát hiện phụ thuộc dữ liệu, phát hiện các luật quyết định, luật kết hợp (tĩnh hoặc động), phân cụm dữ liệu
Khi áp dụng tập thô để giải quyết vấn đề khám phá tri thức và trích rút các luật quyết định từ cơ sở dữ liệu, chúng ta thường phải đối mặt với các tình huống cơ sở dữ liệu có hàng triệu đối tượng và theo thời gian số thuộc tính hoặc các thuộc tính có thể thay đổi Khi đó để thu được các luật quyết định mới có ý nghĩa từ tập dữ liệu đã bị thay đổi, nếu chúng ta xem xét lại cả cơ sở
dữ liệu ban đầu và cả dữ liệu bị thay đổi gần nhất thì công việc này cũng sẽ tiêu tốn một số lượng thời gian tính và không gian bộ nhớ Do đó hiệu quả của các thuật toán này rất thấp Trong thực tế vấn đề trên thường xuyên xảy
Trang 8ra, khi đó việc nghiên cứu tìm ra các thuật toán mới nhằm nâng cao hiệu quả trong việc cập nhật tri thức từ bảng dữ liệu động là công việc cần thiết đòi hỏi
sự quan tâm của các nhà nghiên cứu
Trên cơ sở đó tôi chọn đề tài: “Khai phá luật quyết định trên bảng dữ
liệu có các giá trị thuộc tính thay đổi” làm đề tài luận văn của mình
2 Mục đích nghiên cứu
Lựa chọn các phương pháp phù hợp với lớp bài toán cần giải quyết, sau
đó là so sánh, đánh giá các phương pháp theo các tiêu chuẩn khác nhau
3 Nhiệm vụ nghiên cứu
Xây dựng thuật toán khai phá các luật từ bảng dữ liệu khi làm thô, mịn các giá trị của thuộc tính; cải tiến thuật toán khai phá luật quyết định khi bổ sung, loại bỏ các đối tượng ra khỏi hệ thống nhằm giảm độ phức tạp tính toán
và không gian nhớ
4 Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn là bảng dữ liệu có các giá trị thuộc tính thay đổi
5 Phạm vi nghiên cứu
Tập trung vào việc nghiên cứu thuật toán theo tiếp cận gia tăng phát hiện các luật quyết định mới khi các giá trị thuộc tính thay đổi
6 Phương pháp nghiên cứu
Tiếp cận gia tăng theo tiếp cận thô để giải quyết các bài toán khai phá luật quyết định trên bảng dữ liệu có các giá trị thuộc tính thay đổi
Trang 9Chương 1 TỔNG QUAN 1.1 Khai phá dữ liệu
Khám phá tri thức là một quá trình tìm kiếm trong cơ sở dữ liệu các mẫu đúng đắn, mới, có ích tiềm tàng và có thể hiểu được đối với người sử dụng Quá trình khám phá tri thức gồm nhiều pha, mỗi pha có vai trò và tầm quan trọng riêng Khai phá dữ liệu (DM) là một pha quan trọng trong toàn bộ tiến trình khám phá tri thức, sử dụng các thuật toán đặc biệt để chiết xuất các mẫu từ dữ liệu Về bản chất đây là giai đoạn duy nhất để rút trích và tìm ra được các mẫu, các mô hình, các tri thức tiềm ẩn có trong cơ sở dữ liệu phục
vụ cho việc mô tả và dự đoán
Quá trình khai phá dữ liệu trải qua ba bước:[5]
Bước 1: Lọc dữ liệu (tiền xử lý) Khi dữ liệu được thu thập từ nhiều
nguồn khác nhau, nên sẽ có những sai sót, dư thừa và trùng lặp Lọc dữ liệu nhằm loại bỏ những dư thừa để có được dữ liệu định dạng thống nhất Sau khi lọc và chỉnh sửa sẽ gọn hơn, do vậy có thể xử lý nhanh chóng hơn
Ví dụ trong bài toán tìm quy luật mua hàng của khách hàng trong một siêu thị, ta cần xem khách hàng thường mua những mặt hàng nào, dựa trên đó
để sắp xếp những món hàng đó gần nhau Từ dữ liệu nguồn do siêu thị cung cấp, có thể có nhiều thuộc tính không cần thiết cho khai phá dữ liệu như: mã khách hàng, nhà cung cấp, đơn giá hàng, người bán hàng … Các dữ liệu này cần cho quản lý bán hàng nhưng không cần cho khai phá dữ liệu, vì vậy có thể loại bỏ thuộc tính này trước khi tiến hành công việc khai phá dữ liệu
Bước 2: Khai phá dữ liệu (là công việc chính) sử dụng các thuật toán
khác nhau để khai phá các tri thức tiềm ẩn trong dữ liệu
Bước 3: (Hậu xử lý) là quá trình đánh giá kết quả khai phá theo yêu cầu
của người dùng Các ký thuật khai phá dữ liệu khác nhau được dùng cho cùng một nguồn dữ liệu, có thể sẽ cho các kết quả khác nhau Các kết quả này được
Trang 10đánh giá theo các quy tắc, trong số các kết quả thỏa mãn yêu cầu đánh giá, giữ lại kết quả phù hợp nhất với yêu cầu của người sử dụng
Có nhiều kỹ thuật khai phá dữ liệu được nghiên cứu, trong đó có ba kỹ thuật được các nhà nghiên cứu sử dụng nhiều nhất là: Kỹ thuật phát hiện luật kết hợp, kỹ thuật phân lớp dữ liệu và kỹ thuật phân nhóm dữ liệu
Kỹ thuật luật kết hợp
Khái niệm luật kết hợp được Agrawal và nhóm nghiên cứu đưa ra năm
1993 Mục tiêu của kỹ thuật luật kết hợp là tìm ra những mối tương quan giữa những mục dữ liệu thường xuyên trong cơ sở dữ liệu
Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ Bài toán thứ nhất là tìm tất các các tập mục dữ liệu có độ hỗ trợ thỏa mãn ngưỡng tối thiểu cho trước, gọi là tập mục dữ liệu thường xuyên Bài toán thứ hai là tìm ra luật kết hợp từ những tập mục thường xuyên thỏa mãn độ tin cậy tối thiểu cho trước
Ví dụ về luật kết hợp: Cửa hàng bán văn phòng phẩm đăng thông tin quảng cáo tuần trên tờ báo địa phương Khi một mặt hàng nào đó, chẳng hạn như mực in, đã được chỉ định bán giảm giá, cửa hàng phải xác định được các mặt hàng khác thường được khách hàng mua cùng với mực in Dữ liệu bán hàng cho thấy rằng giấy A4 và mực in được khách hàng mua cùng lúc chiếm 30% và kẹp giấy được mua kèm với mực in là 40 % Dựa vào các mối quan
hệ này, cửa hàng nên bán giấy A4 và kẹp giấy gần với mặt hàng mực in khi bán giảm giá Đồng thời, để tăng doanh thu, họ cũng quyết định không đưa mặt hàng giấy A4 và kẹp giấy vào danh sách các mặt hàng giảm giá Các hành động này nhằm mục đích tăng thêm toàn bộ khối lượng hàng bán ra (do bán được cho khách hàng các mặt hàng mua mực in khi được quảng cáo) và tăng doanh thu cửa hàng
Trang 11Có hai luật kết hợp được đề cập ở ví dụ trên Luật thứ nhất là: “30% khách hàng mua mực in cùng giất A4” Luật thứ hai: “40% khách hàng mua mực in cùng với kẹp giấy” Các luật kết hợp này được các cửa hàng bán lẻ sử dụng để phân tích các giao dịch của của hàng và được người quản lý kinh doanh dùng trong chiến dịch quảng cáo, tiếp thị, quản lý hàng tồn kho và dự trữ hàng
Các luật kết hợp cũng được sử dụng cho các ứng dụng khác như dự đoán lỗi với các mạng điện thoại bằng việc xác định các sự kiện sẽ xuất hiện trước đó
Kỹ thuật phân lớp dữ liệu
Phân lớp dữ liệu là kỹ thuật nhằm xây dựng mô hình cho phép phân các đối tượng vào lớp được biết trước nào đó Kỹ thuật này cho phép dự đoán giá trị bị thiếu của thuộc tính trong dữ liệu hay dự đoán giá trị của dữ liệu sẽ xuất hiện trong tương lai Phân lớp dữ liệu là kỹ thuật được xem là một trong những kỹ thuật hay được dùng nhất trong học máy và khai phá dữ liệu
Quá trình phân lớp dữ liệu được thực hiện qua hai bước Thứ nhất dựa vào tập hợp dữ liệu huấn luyện (các đối tượng dữ liệu đã được gán nhãn lớp)
để xây dựng mô hình mô tả những đặc trưng của các lớp hoặc các khái niệm tương ứng với lớp Thứ hai dựa trên mô hình phân lớp dữ liệu hoặc mô hình diễn giải và phân biệt các khái niệm đã được xác định để gán nhãn lớp cho những đối tượng được quan tâm
Một số kỹ thuật phân lớp phổ biến:
Cây quyết định là một cấu trúc cây, trong đó mỗi nút trong của cây biểu
thị một phép phân nhánh tương ứng với một thuộc tính; mỗi nhánh biểu thị một điều kiện; các nút lá tương ứng với các lớp Để phân lớp một đối tượng chưa biết, các giá trị thuộc tính của đối tượng đó được kiểm tra bám theo cây quyết định Đường dẫn đi từ gốc đến một nút lá nào đó tương ứng với đối
Trang 12tượng cho phép xác định lớp tương ứng của nó Cây quyết định có thể dễ dàng chuyển thành một tập các luật phân lớp
Tập thô được sử dụng trong việc phân lớp nhằm mục đích khám phá
các quan hệ có cấu trúc đối với dữ liệu không chính xác hoặc dữ liệu có nhiễu (noise) Tuy nhiên, tập thô chỉ được áp dụng với các bảng dữ liệu có các giá trị thuộc tính đã được rời rạc hóa Do đó, đối với các thuộc tính có giá trị liên tục thì nó phải được rời rạc hóa trước khi sử dụng
Kỹ thuật phân nhóm dữ liệu
Phân nhóm dữ liệu là quá trình nhóm những đối tượng thành các lớp Các đối tượng trong một lớp tương đồng nhau, nhưng độ tương đồng của chúng phải lớn hơn độ tương đồng với những đối tượng trong các lớp khác Trong phân nhóm, không đòi hỏi biết được số lớp cần tạo ra Mặt khác, với kỹ thuật này, các đối tượng được nhóm lại trong cùng một lớp dựa vào sự giống nhau của chúng, được xác định bởi những đặc trưng giống nhau Thông thường, người ta sử dụng sự giống nhau định lượng dưới dạng khoảng cách
Độ đo giống nhau có thể xác định dựa trên ý kiến chuyên gia trong lĩnh vực
1.2 Khai phá luật quyết định
Khai phá các luật quyết là quá trình xác định những luật quyết định trên bảng quyết định cho trước, phục vụ cho việc phân lớp của các đối tượng mới Khai phá luật quyết định đã được nhiều chuyên gia trong và ngoài nước quan tâm trên cả hai phương diện lý thuyết và ứng dụng, các nghiên cứu này xem xét trên các bảng dữ liệu tĩnh
Trong thực tế, dữ liệu thường xuyên thay đổi theo thời gian Đã có một
số nghiên cứu về các khía cạnh khác nhau để cập nhật tri thức trên bảng dữ liệu động, tập trung chủ yếu vào ba trường hợp sau đây: (1) Tập các giá trị thuộc tính thay đổi trong khi tập các tập đối tượng và các tập thuộc tính không đổi; (2) Tập các đối tượng thay đổi trong khi các tập thuộc tính và tập các giá
Trang 13trị thuộc tính không đổi; (3) Tập các thuộc tính thay đổi trong khi tập các đối tượng và tập các giá trị thuộc tính không đổi
Trong trường hợp thứ nhất, Chen đã đề nghị một thuật toán để cập nhật các xấp xỉ của một khái niệm (một lớp tương đương quyết định) khi làm mịn các giá trị thuộc tính điều kiện Trong thuật toán này, chưa đề cập đến vấn đề cập nhật các xấp xỉ với nhiều lớp quyết định, đồng thời vấn đề làm thế nào để sinh các luật quyết định cũng chưa được xem xét
Trong trường hợp thứ hai, Shan và Ziarko đã đề nghị một phương pháp học gia tăng dựa trên ma trận phân biệt để tìm tất cả các luật quyết định chắc chắn Một trong những hạn chế chính trong thuật toán của Shan và Ziarko đó
là chưa xem xét đến việc trích rút các luật trong bảng quyết định không nhất quán Để giải quyết vấn đề này, Bian đã đề nghị thuật toán cải tiến trên cơ sở thuật toán của Shan và Ziarko, thuật toán sử dụng ma trận quyết định mở rộng
để giải quyết vấn đề dữ liệu không nhất quán Tuy nhiên, cũng có một vài hạn chế tồn tại trong cả hai thuật toán trên là các thuật toán không đưa ra được các luật quyết định không chắc chắn (đây cũng là các luật có ý nghĩa trong bảng quyết định) Hơn nữa, trong các tiếp cận của họ, các độ đo của luật như độ chính xác, độ phủ không có thể được cập nhật đồng thời Để khắc phục những hạn chế trên, Tong và An đã đề xuất thuật toán mới dựa trên - ma trận quyết định để học gia tăng các luật quyết định trên cơ sở đưa ra bảy trường hợp có thể xảy ra khi một đối tượng mới được bổ sung Tuy nhiên các tiếp cận của Tong và An chưa đề cập đến trường hợp loại bỏ đối tượng ra khỏi bảng dữ liệu Năm 2009, Liu đã đề xuất mô hình và thuật toán để phát hiện các luật quyết định khi bổ sung và loại bỏ đối tượng ra khỏi bảng dữ liệu dựa trên bảng tính toán gia tăng ma trận độ chính xác và ma trận độ phủ làm cơ sở
để sinh các luật quyết định Nghiên cứu của Liu tiêu tốn nhiều thời gian tính
Trang 14và không gian bộ nhớ do phải cập nhật và lưu trữ đối với cả ma trận độ chính xác và ma trận độ phủ
Đối với trường hợp tập các thuộc tính thay đổi, Chan đã sử dụng khái niệm phân cấp động được cung cấp bởi người sử dụng để cập nhật gia tăng các xấp xỉ của một khái niệm; Li đã trình bày một phương pháp để cập nhật các xấp xỉ của khái niệm trong hệ thông tin không đầy đủ dựa trên các quan
hệ đặc trưng khi tập các thuộc tính thay đổi theo thời gian
Ở trong nước, trong những năm gần đây đã có nhiều tác giả, nhóm tác giả quan tâm, nghiên cứu, đề xuất các giải pháp khác nhau nhằm giải quyết có hiệu quả bài tóan khai phá tri thức trên bảng dữ liệu động Trong [7], tác giả
đã đề xuất một thuật toán để khai phá các luật kết hợp khi bảng dữ liệu được gia tăng theo chiều rộng Trong trường hợp này, để sinh các luật kết hợp, thuật toán thực hiên việc phân hoạch dữ liệu thành nhiều phần nhỏ tương ứng với các mục dữ liệu và lưu chúng ở bộ nhớ ngoài, mỗi lần xử lý chỉ đưa một
số tập phân hoạch vào bộ nhớ trong Đồng thời, cũng xem xét đến trường hợp bảng dữ liệu gia tăng theo chiều ngang dựa trên việc xây dựng cây quyết định
để sinh luật Tuy nhiên, nghiên cứu trong [7] chưa đề cập đến vấn đề làm sao
để khai phái các luật kết hợp khi tập các giá trị thuộc tính thay đổi hoặc khi loại bỏ đối tượng ra khỏi bảng dữ liệu
Trong khuôn khổ của luận văn, đi sâu vào nghiên cứu thuật toán khai phá luật quyết định trên bảng dữ liệu động theo hướng tiếp cận gia tăng đối với hai trường hợp thay đổi của bảng dữ liệu đó là: Bảng dữ liệu có các giá trị thuộc tính thay đổi và bảng dữ liệu có tập các đối tượng thay đổi Trong cả hai trường hợp này, để đánh giá kết quả trích rút các luật quyết định, luận văn sử dụng độ chính xác và độ phủ của luật
Trang 15hệ thông tin Một cách hình thức, ta có thể định nghĩa hệ thông tin như sau:
Hệ thông tin là một bộ bốn IS = (U, A, V, f), trong đó U là tập hữu hạn, khác rỗng các đối tượng gọi là tập vũ trụ, A là tập hữu hạn khác rỗng các thuộc tính, V= ( a
a A
V là tập các giá trị thuộc tính, trong đó Va là tập giá trị của
thuộc tính a, f: U x A V là hàm thông tin sao cho x U, a A ta có f(x, a) Va
Ta gọi f(x, a) là giá trị của đối tượng x trên thuộc tính a, tập X ≠ , X
U gọi là một khái niệm trong IS
Nếu V chứa giá trị thiếu (missing) ở ít nhất một thuộc tính a A thì hệ thống IS được gọi là hệ thông tin không đầy đủ Trái lại, IS gọi là hệ thông tin đầy đủ hay đơn giản gọi là hệ thông tin
Ví dụ 1.1
Cho hệ thông tin được biểu diễn trong bảng 1.1 khi đó ta có:
Tập các đối tượng U = {x1,…,x12}
Tập các thuộc tính A = {a1, a2, a3}
Tập các giá trị của thuộc tính a A ta có Va= {1, 2, 3}
f(x1, a1) = 1; f(x2, a2) = 2 … tương ứng là các giá trị của các đối tượng
x1, x2 trên các thuộc tính a1, a2,.
Trang 161.3.2 Quan hệ bất khả phân biệt
Giả sử IS = (U, A, V, f) là một hệ thông tin Với mỗi tập thuộc tính P
A, một quan hệ tương đương, kí hiệu là IND (P), gọi là quan hệ bất khả phân biệt, được định nghĩa như sau: [5]
IND (P) = {(x,y) U x U: a P, f(x,a)=f(y,a)}
[x]P = {y U: (x,y) IND (P)}
Từ định nghĩa này, chúng ta thấy rằng, hai đối tượng thuộc cùng một lớp tương đương khi và chỉ khi chúng có giá trị giống nhau trên các thuộc tính trong P Do đó, để xác định các lớp tương đương, ta có thể sắp xếp các đối tượng trong U theo một thứ tự tùy ý Thông thường, chúng ta có thể sắp xếp
Trang 17các đối tượng theo thứ tự điền (trên các vec tơ giá trị thuộc tính), ký hiệu là
<p Trên cơ sở đó, ta có thể xác định các lớp tương đương bởi thuật toán sau:
Thuật toán 1.1 Xác định các lớp tương đương [5]
x , …,
j
j i
Ví dụ 1.2
Xét hệ thông tin cho ở bảng 1.1
Giả sử, chọn P = {a1, a2}, ta dễ dàng thu được một phân hoạch của U được sinh bởi P là:
U/P = {{x1}, {x2, x3, x4, x5}, {x6, x7}, {x8, x9, x10}, {x11, x12}}
Định nghĩa 1.2
Cho hệ thông tin IS = (U, A, V, f), P, Q A là tập các thuộc tính, U/P
= {P1, …, Pm}, U/Q = {Q1, …, Qn} là các phân hoạch được sinh bởi P, Q, ta
Trang 18nói Q thô hơn (coarser) P hoặc P mịn hơn (refiner) Q khi và chỉ khi Pi
U/P, Qj U/Q (i=1, …, m; j = 1,…, n) sao cho Pi Qj
1.3.3 Xấp xỉ tập hợp
Trong lý thuyết tập thô, bất cứ khái niệm không rõ ràng nào đều được thay bằng một cặp khái niệm không chính xác gọi là xấp xỉ dưới và xấp xỉ trên của khái niệm không rõ ràng Xấp xỉ dưới bao gồm tất cả các đối tượng chắc chắn thuộc về khái niệm, xấp xỉ trên gồm tất cả các đối tượng có thể thuộc về khái niệm Các khái niệm này được định nghĩa cụ thể như sau:
Định nghĩa 1.3
Cho hệ thông tin IS = (U, A, V, f), P A là tập các thuộc tính, X A
là tập các thuộc tính, X U là tập các đối tượng, khi đó các tập PX = {x U: [x]p X} và PX = {x U: [x]p X } tương ứng được gọi là P – xấp xỉ dưới và P – xấp xỉ trên của X trong IS
Tập BNp(X) = PX – PX được gọi là P – vùng biên của X
Nếu BNp(X) = (tức PX = PX) thì X được gọi là tập rõ (crisp), trái lại
X được gọi là tập thô (rough)
Dựa vào ý nghĩa các xấp xỉ dưới và xấp xỉ trên, ta định nghĩa bốn lớp
cơ bản của tập thô tương ứng với bốn mức độ mơ hồ (vagueness) như sau:
(1) X được gọi là P – định nghĩa được một cách thô (roughtly P – definable) nếu và chỉ nếu PX và PX U
(2) X được gọi là P – không định nghĩa được một cách nội vi (internally P – underfinable) nếu và chỉ nếu PX = và PX U
(3) X được gọi là P – không định nghĩa được một cách ngoại vi (externally P – underfiable) nếu và chỉ nếu PX và PX = U
(4) X là không xác định hoàn toàn (totally P - underfiable) nếu và chỉ nếu PX = và PX = U
Trang 19Đối với hệ thông tin bất kì IS = (U, A, V, f) và P A Giả sử P – quan
hệ bất khả phân biệt IND(P) chia U thành các lớp tương đương rời nhau U = P
p j
X X
X
PX= {x U: [x]p X } =
p j
p j
X X then P(X) = P(X) P
j
X ;
if P j
X X then P(X) = P(X) P
j
X ; end;
Kết thúc
Trang 20Dễ thấy, thuật toán 1.2 có độ phức tạp là O(k|U|log|U|), trong đó |P| <
Trang 21Bảng quyết định được ký hiệu là: DS = (U, C D, V, f) hoặc DS = (U,
C D)
Giả sử U/C = {C1, C2, …, Cm} và U/D = {D1, D2, …, Dn} tương ứng là các phân hoạch được sinh bởi tập các thuộc tính điều kiện C và tập các thuộc tính quyết định D, i = 1, …,m ; j = 1, …,n thì Ci, Dj tương ứng được gọi
là các lớp tương đương điều kiện và các lớp tương đương quyết định
Một lớp tương đương điều kiện Ci U/C gọi là nhất quán nếu x, y
Ci, d D thì f(x, d) = f(y, d); một lớp tương đương quyết định gọi là nhất quán nếu x, y Dj, a C thì f(x, a) = f(y, a)
Một bảng quyết định gọi là nhất quán nếu mỗi lớp tương đương điều kiện là nhất quán Ngược lại gọi là bảng quyết định không nhất quán
Trang 22độ tin cậy tối thiểu Các ngưỡng như vậy có thể được thiết lập bởi người sử dụng hoặc các “chuyên gia” Mặt khác, Tsumoto đã cho rằng “độ chính xác
và độ phủ được sử dụng để đánh giá mức độ đầy đủ và cần thiết của luật’,
“mô hình xác suất đơn giản nhất là mô hình có độ chính xác và độ phủ cao.” Theo quan điểm này, luận văn chọn cả độ chính xác và độ phủ để mô tả các tri thức quan tâm
Định nghĩa 1.4
Cho bảng quyết định DS = (U, C D), U/C = {C1, …, Cm}; U/D = {D1, D2, …, Dn} tương ứng là các phân hoạch được sinh ra bởi C, D Một luật quyết định được biểu diễn dưới dạng Ci Dj ở đây Ci U/C, Dj U/D (i =
1, …,m; j = 1, …, n)
Định nghĩa 1.5
Cho bảng quyết định DS = (U, C D) Giả sử Ci U/C; Dj U/C (i =
1, …,m; j = 1, …, n) tương ứng là các lớp tương đương điều kiện và các lớp tương đương quyết định sinh ra bởi C, D Độ hỗ trợ, độ chính xác và độ phủ của quyết định Ci Dj tương ứng được định nghĩa như sau:
Độ hỗ trợ: Sup(Ci, Dj) = |Ci Dj|
Trang 24Dễ thấy, độ chính xác của luật quyết định ngược chính là độ phủ của luật quyết định ban đầu
(ii) Nếu Acc(Ci, Dj) = 1 thì Ci CDj và nếu Cov(Ci, Dj) = 1 thì Ci C
Dj Điều này có nghĩa là, độ đo chính xác và độ đo phủ của luật còn có thể sử dụng để đo mức độ xấp xỉ dưới và xấp xỉ trên của một khái niệm
Định nghĩa 1.6
Cho bảng quyết định DS = (U, C D), Ci U/C, Dj U/D tương ứng
là các lớp tương đương điều kiện, các lớp tương đương quyết định được sinh bởi C, D, Ci Dj là một quyết định trong DS (i = 1, …,m; j = 1, …,n)
Nếu Acc(Ci, Dj) = 1 thì Ci Dj được gọi là luật quyết định chắc chắn; Nếu 0 < Acc(Ci, Dj) < 1 thì Ci Dj được gọi là luật quyết định không chắc chắn
Mệnh đề 1.1
Ta có, Ci U/C, Dj U/D (i = 1,…,m ; j = 1, …,n)
Acc(Ci, Dj) = n i j
i q q=1
Sup C , D Sup C , D
(1.3)
Cov(Ci, Dj) = m i j
p j p=1
Sup C , D Sup C , D
(1.4)
Chứng minh:
Luôn có,
m p p=1
n q q=1
D = U, trong đó hai lớp bất kì là rỗng
Mặt khác, Ci U/C ta có:
Ci = Ci U = Ci (
n q q=1
n
q=1(Ci Dq)
Trang 25Sup(C ,D ) Sup(C ,D )
Sup(C ,D ) Sup(C ,D )
Theo mệnh đề này, việc tính các ma trận độ chính xác và ma trận độ phủ của các luật quyết định có thể được thực hiện trực tiếp từ ma trận độ hỗ trợ
độ tin cậy trong khai phá các luật kết hợp
Hiển nhiên, với các ngưỡng độ chính xác và độ phủ khác nhau, số lượng các luật quyết định có ý nghĩa nhận được sẽ khác nhau Dễ thấy, số lượng các luật quyết định có ý nghĩa sẽ ít khi tăng giá trị của , và ngược lại
1.4 Khái niệm làm thô, làm mịn giá trị thuộc tính
Định nghĩa 1.8 [11]
Cho hệ thông tin IS = (U, A, V, f), a P A, Va là tập các giá trị của thuộc tính a Giả sử f(xp, a) = w, f(xq, a) = y tương ứng là các giá trị của đối
Trang 26tượng xp, xq trên thuộc tính a (p q) Nếu tại thời điểm nào đó ta có f(xp, a) = f(xq, a) = z (z Va) thì ta gọi hai giá trị w, y của thuộc tính a được làm thô thành giá trị mới z
Tại thời điểm t, ký hiệu ft(x, a), ft(Ci, a) và ft(x, d), ft(Dj, d) tương ứng
là các giá trị của x, giá trị của lớp tương đương điều kiện Ci trên thuộc tính a
và là giá trị của x, giá trị của lớp tương đương quyết định Dj trên thuộc tính d
Trang 27Tương tự, tại thời điểm t+1, ta cũng ký hiệu lần lượt các giá trị này là
Thứ nhất: Pha sinh tập mục thường xuyên, pha này thực hiện việc phát hiện tất cả các tập mục có chứa thuộc tính tương ứng với thuộc tính mục tiêu (để đơn giản, có thể coi thuộc tính cuối cùng như là thuộc tính mục tiêu) Giả
sử D là tập dữ liệu huấn luyện với thuộc tính mục tiêu Z Ac sẽ sinh một danh sách các ứng viên Ck (trong đó, thành phần cuối cùng của danh sách này là các giá trị của mục tiêu Z) và cũng giống như thuật toán Apriori, tất cả các ứng viên trong Ck phải thỏa mãn ngưỡng độ hỗ trợ tối thiểu cho trước
Thứ hai: Pha sinh luật, pha này thực hiện việc kiểm tra mục cuối cùng của tập mục thường xuyên có phải là thuộc tính mục tiêu hay không? Nếu không phải, sẽ bị loại khỏi hệ thống Nếu đúng, sẽ tiến hành sinh luật khi độ tin cậy của luật không nhỏ hơn ngưỡng
(2) Kỹ thuật phân lớp dựa trên tập thô (ký hiệu Rc) hướng tới xác định các luật quyết định từ một hệ thông tin tương ứng với tập dữ liệu huấn luyện với cú pháp và ngữ nghĩa đơn giản đối với người sử dụng Cách tiếp cận phân lớp dựa trên tập thô bao gồm các bước chính sau đây:
Bước đầu tiên, thực hiện việc ánh xạ thông tin từ cơ sở dữ liệu ban đầu sang dạng bảng quyết định theo định dạng thống nhất, tiền xử lý dữ liệu để loại nhiễu và rời rạc hóa dữ liệu (do mô hình phân lớp dựa trên tập thô chỉ được thực hiện với dữ liệu đã được rời rạc hóa)
Trang 28Bước tiếp theo, từ bảng quyết định thu được, tiến hành sinh các luật quyết định bằng cách liên kết các bộ giá trị thuộc tính trong từng lớp cụ thể Theo quan điểm đó, Moharmad khẳng định rằng có thể so sánh kỹ thuật phân lớp dựa trên luật kết hợp (Ac) với kỹ thuật phân lớp dựa trên tập thô (Rc) ở hai khía cạnh đó là: độ chính xác phân lớp và số lượng các luật được sinh ra Các kết quả thử nghiệm cho thấy, trong hầu hết các tập dữ liệu, độ chính xác phân lớp của Ac cao hơn Rc Về số lượng các luật được sinh ra, trong hầu hết các trường hợp Ac sinh nhiều luật hơn Rc
Xem xét vấn đề sinh luật, sự khác nhau đáng kể giữa Ac và Rc là do cách xử lý dữ liệu, Ac cần xem tần suất của các thuộc tính quan tâm là vấn đề quan trọng, trong khi đó Rc thì xem sự phân biệt giữa các giá trị của thuộc tính trên cơ sở khái niệm phân biệt là quan trọng
Trang 29Chương 2: KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ LIỆU
CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI 2.1 Cơ sở toán học
2.1.1 Làm thô các giá trị thuộc tính điều kiện
Định lý 2.1
Giả sử sau thời điểm t, hai giá trị w, y của thuộc tính a C được làm thô thành giá trị mới z, z Va Tại thời điểm t + 1, tồn tại hai lớp tương đương điều kiện Cp, Cq nào đó được làm thô thành lớp tương đương điều kiện mới Cs, khi và chỉ khi aj a, ft(Cp, aj) = ft(Cq, aj)
+ hoặc ft(xp, a) = w do đó ft(Cp, a) = w suy ra ft+1(Cp, a) = z
+ hoặc ft(xq, a) = y do đó ft(Cq, a) = y suy ra ft+1(Cq, a) = z
Như vậy, ft+1(Cp, a) = ft+1(Cq, a) (2.2)
Từ (2.1) và (2.2) ta có Cp = Cq, nghĩa là hai lớp tương đương điều kiện
Cp, Cq được làm thô thành lớp điều kiện mới Cs
Hệ quả 2.1 [4]
Nếu sau thời điểm t, hai lớp tương đương điều kiện Cp, Cq nào đó được làm thô thành lớp điều kiện mới Cs thì tại thời điểm t+1, ta có:
(i) Cp Cq = Cs
Trang 30(ii) Dj U/D, Sup(Cp, Dj) + Sup(Cq, Dj) = Sup(Cs, Dj), ở đây j = 1,
Mặt khác, vì ft(x,a) = ft(Cp, a) =w nên ft+1(x,a) = ft+1(Cs, a)
Hoặc ft(x,a) = ft(Cp,a) = y nên ft+1(x,a) = ft+1(Cs, a)
Trang 31= |Cp Dj| + |Cq Dj| = Sup(Cp, Dj) + Sup(Cq, Dj)
Từ hệ quả này ta có, sau thời điểm t, hai dòng tương ứng với hai lớp tương tương điều kiện Cp, Cq trong ma trận độ hỗ trợ được kết hợp thành một dòng mới tương ứng với lớp tương đương điều kiện Cs tại thời điểm t+1 với giá trị là tổng giá trị các phần tử của hai dòng này
2.1.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, giá trị z của thuộc tính a C được làm mịn thành hai giá trị mới w và y (w,y Va) Tại thời điểm t+1, tồn tại một lớp tương đương điều kiện Cs nào đó được làm mịn thành hai lớp tương đương điều kiện mới Cp, Cq khi và chỉ khi:
Suy ra ft+1(x, a) = y bởi vì nếu ft+1(x, a) = w thì x W Do vậy Cs W
Điều này trái giả thiết
(3) Chứng minh (iii)
Chứng minh tương tự đối với (ii)
( )
Trang 32(ii) Dj U/D, Sup(Cs, Dj) = Sup(Cp, Dj) + Sup(Cq, Dj) ở đây j = 1, …, n
Chứng minh:
Chứng minh tương tự như hệ quả 2.1
Từ hệ quả này ta có, sau thời điểm t dòng tương ứng với lớp tương đương điều kiện Cs nào đó trong ma trận độ hỗ trợ sẽ được tách thành hai dòng mới tương ứng với hai lớp tương đương điều kiện mới Cp, Cq tại thời điểm t+1
Trang 33Khi đó, để tính giá trị các phần tử của hai dòng mới này trong ma trận
độ hỗ trợ, trước tiên ta phải tính giá trị Sup(Cp, Dj) đối với mọi j, sau đó suy
ra giá trị của Sup(Cq, Dj) là hiệu giữa giá trị của Sup(Cs, Dj) và Sup(Cp, Dj)
2.1.3 Làm thô các giá trị thuộc tính quyết định
Tương tự như các kết quả đã thu được khi làm thô các giá trị thuộc tính điều kiện, khi làm thô các giá trị thuộc tính quyết định ta cũng thu được kết quả như sau:
Giả sử thời điểm t, hai giá trị w, y của thuộc tính quyết định d được làm thô thành giá trị mới z (z Vd) Tại thời điểm t+1, tồn tại hai lớp tương đương quyết định Dw, Dy nào đó được làm thô thành một lớp tương đương quyết định mới Dz, có nghĩa là Dw Dy = Dz với Dw = {x U: ft(x, d) = w, w
Chứng minh tương tự hệ quả 2.1
Từ hệ quả này, ta thấy: Sau thời điểm t, hai cột tương ứng với hai lớp tương đương quyết định Dw, Dy nào đó trong ma trận độ hỗ trợ sẽ được kết hợp lại thành một cột mới tương ứng với Dz tại thời điểm t+1 với giá trị là tổng giá trị của hai cột này
2.1.4 Làm mịn các giá trị thuộc tính quyết định
Tương tự như trường hợp làm mịn các giá trị thuộc tính điều kiện, khi làm mịn các giá trị thuộc tính quyết định, ta cũng thu được kết quả như sau:
Giả sử sau thời điểm t, giá trị z của thuộc tính quyết định d được làm mịn thành hai giá trị mới w và y (w, y Vd).Tại thời điểm t+1, tồn tại một
Trang 34lớp tương đương quyết định Dz nào đó được làm mịn thành hai lớp tương đương quyết định mới Dw và Dy Khi đó ta rút ra được hệ quả sau:
Hệ quả 2.4 [4]
Ta có, Ci U/C, Sup(Ci, Dz) = Sup(Ci, Dw) + Sup(Ci, Dy) ở đây i = 1,…, m
Chứng minh:
Chứng minh tương tự hệ quả 2.1
Từ hệ quả này, dễ thấy: Sau thời điểm t, cột tương ứng với hai lớp tương đương quyết định Dz nào đó trong ma trận độ hỗ trợ sẽ được tách thành hai cột mới tương ứng với hai lớp tương đương quyết định mới Dw, Dy tại thời điểm t+1
Khi đó, để tính các giá trị của các phần tử ở hai cột mới này trong ma trận độ hỗ trợ, trước tiên ta phải tính giá trị Sup(Ci, Dw) với mọi i = 1, …, m, sau đó suy ra giá trị của Sup(Ci, Dy) là hiệu giữa giá trị của Sup(Ci, Dz) và Sup(Ci, Dy)
2.2 Thuật toán
Trên cơ sở các định lý và các hệ quả được trình bày ở trên, luận văn đi tìm hiểu thuật toán để rút trích 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 hoặc khi làm thô, làm mịn các giá trị thuộc tính quyết định Thuật toán được xây dựng theo hướng tiếp cận gia tăng, không đòi hỏi phải thực hiện lại phân lớp khi các giá trị thuộc tính thay đổi, 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ợ tại thời điểm trước đó, dựa trên đó tính ma trận chính xác,
ma trận độ phủ rồi sinh luật Các bước cơ bản của thuật toán được trình bày trong hình sau:
Trang 35Hình 2.1: Các bước cơ bản của thuật toán rút trích luật quyết định khi
làm thô/mịn các giá trị thuộc tính
Thuật toán 2.1: Tính ma trận độ hỗ trợ tại một thời điểm t nào đó
Vào: - Các lớp tương đương điều kiện Ci
- Các lớp tương đương quyết định Dj
Ra: Ma trận độ hỗ trợ (Sup) tại thời điểm t
Trang 36end
Kết thúc
Thuật toán 2.2: 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
Vào: - Ma trận độ hỗ trợ Sup tại thời điểm t
- Thuộc tính điều kiện a* được làm thô
- Các giá trị w, y của a* được làm thô thành z
Ra: Ma trận độ hỗ trợ Sup tại thời điểm t+1 sau khi làm thô thuộc tính a* Phương pháp:
// Tìm tất cả các cặp lớp tương đương điều kiện Cp, Cq được hợp thành lớp tương đương điều kiện Cs mới
CC = ; // tập chứa các cặp lớp tương đương hợp lại thành một lớp mới
for p = 1 to m do
for q = p + 1 to m do
begin
if(ft(Cp, a*) = w and ft(Cq, a*) = y) or(ft(Cp, a*) = y and ft(Cq, a*) = w) then
begin kiemtra =1;
for k = 1 to |C| do //|C| là số các thuộc tính điều kiện
begin //Kiểm tra xem với các thuộc tính còn lại, 2 lớp có cùng giá trị không?
if(ak a* and ft(Cp, a*) ft(Cq, a*)) then
begin
kiemtra = 0; break;
end;
Trang 37Xóa 2 dòng tương ứng với Cp và Cq;
Bổ sung dòng tương ứng với Cs;
end;
Kết thúc
Thuật toán 2.3: 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
Vào: - Ma trận Sup tại thời điểm t
- Thuộc tính điều kiện a* được làm mịn
- Tập W các đối tượng mà có giá trị z trên thuộc tính a* được làm mịn thành w
- Tập Y các đối tượng có giá trị z trên thuộc tính a* được làm mịn thành
y
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm mịn thuộc tính a* ;