You are on page 1of 26

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

---------------------------------------

Trần Thị Thúy

XÂY DỰNG LUẬT KẾT HỢP TRÊN


BẢNG QUYẾT ĐỊNH CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI

Chuyên ngành: Khoa học máy tính


Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2014
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: GS.TS Vũ Đức Thi


(Ghi rõ học hàm, học vị)

Phản biện 1: TS. Nguyễn Đức Dũng

Phản biện 2: PGS.TS Đoàn Văn Ban

Luận văn được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc: 14 giờ 00 ngày 15 tháng 02 năm 2014

Có thể tìm hiểu luận văn tại:


- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
1

MỞ ĐẦU
Trong những năm gần đây, công nghệ thông tin phát triển vô cùng nhanh chóng và
được ứng dụng rộng rãi trong nhiều lĩnh vực kinh tế - xã hội. Sự việc này dẫn đến bùng nổ
thông tin, đòi hỏ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 những tri thức hữu ích, tiềm ẩn trong các cơ sở dữ liệu lớn. Ngày nay khai phá dữ liệu,
khám phá tri thức đã trở thành một lĩnh vực khoa học thu hút sự quan tâm của nhiều nhà
nghiên cứu trong nước và trên thế giới.
Lý thuyết tập thô được đề nghị bởi Pawlak Z. từ những năm đầu của thập niên 80 của
thế kỷ trước. Đó là cách tiếp cận mới để xử lý dữ liệu mơ hồ, 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 lĩnh vực học
máy, hỗ trợ quyết định... 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 kết
hợp từ cơ sở dữ liệu, chúng ta 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. Đồng thời, theo thời gian số các đối tượng, số các thuộc tính hoặc các giá trị
thuộc tính có thể thay đổi. Khi đó để thu được các luật kết hợp 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, công việc này 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 ra, 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 công 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.
Học gia tăng là cách được con người dùng trong tiếp thu tri thức. Đây cũng là
phương pháp học máy trong các ứng dụng thực và được đánh giá là phương pháp hiệu quả
trong việc phát hiện tri thức từ dữ liệu động. Luận văn này trình bày phương pháp học gia
tăng để “Xây dựng luật kết hợp trên bảng quyết định có các giá trị thuộc tính thay đổi” trên
cơ sở sử dụng độ chính xác và độ phủ của luật làm hai nhân tố đánh giá chất lượng mô tả
của các tri thức (luật) quan tâm được trích rút.
Mục đích nghiên cứu
Nghiên cứu tổng quan về khám phá tri thức và khai phá dữ liệu, xây dựng thuật toán
khai phá luật kết hợp từ bảng dữ liệu khi làm thô, làm mịn các giá trị thuộc tính.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Đối tượng nghiên cứu chính của luận văn là bảng dữ liệu có
các tập giá trị thuộc tính thay đổi.
Phạm vi nghiên cứu: Ứng dụng thuật toán trích rút luật kết hợp thử nghiệm khai phá
dữ liệu với CSDL là bảng cập nhật thông tin của các nhân viên trong một công ty.
Phương pháp nghiên cứu
Học gia tăng theo tiếp cận tập thô để giải quyết bài toán xây dựng luật kết hợp trên
bảng quyết định thay đổi.
2

Chương 1- TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI


PHÁ DỮ LIỆU
1.1 Phát hiện tri thức và khai phá dữ liệu
Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các
mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được. Còn
khai phá dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai
phá dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm
ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri
thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các
cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu.
Nhiều người coi khai phá dữ liệu và khám phá tri thức trong cơ sở dữ liệu là như nhau.
Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện
tri thức trong cơ sở dữ liệu.
1.2 Quá trình phát hiện tri thức và khai phá dữ liệu[1]
Quá trình phát hiện tri thức gồm 5 giai đoạn được trình bày trong hình 1.1. Mặc dù có 5
giai đoạn xong quá trình khám phá tri thức từ cơ sở dữ liệu là một quá trình tương tác và
lặp di lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn
lần lặp trước. Ngoài ra, giai đoạn sau lại dựa trên kết quả thu được của giai đoạn trước theo
kiểu thác nước. Đây là một quá trình biện chứng mang tính chất khoa học của lĩnh vực phát
hiện tri thức và là phương pháp luận trong việc xây dựng các hệ thống phát hiện tri thức.

Hình 1.1: Quá trình phát hiện tri thức từ cơ sở dữ liệu


1.2.1 Xác định vấn đề
1.2.2 Thu thập và tiền xử lý dữ liệu
1.2.2.1 Chọn lọc dữ liệu
1.2.2.2 Làm sạch dữ liệu
3

1.2.2.3 Làm giàu dữ liệu


1.2.2.4 Mã hóa
1.2.3 Khai thác dữ liệu
1.2.4 Minh họa và đánh giá
1.2.5 Đưa kết quả vào trong thực tế
1.3 Khai phá dữ liệu[1]
1.3.1 Các khái niệm về khai phá dữ liệu
Sau đây là một số quan niệm về khai phá dữ liệu:
Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin có ích từ
kho dữ liệu khổng lồ.
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong dữ liệu.
Quá trình này có thể là tự động hay bán tự động, song phần nhiều là bán tự động. Các mẫu
được phát hiện thường hữu ích theo nghĩa: các mẫu mang lại cho người sử dụng một lợi thế
nào đó, thường là lợi thế về kinh tế.
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu. Dữ liệu như là một
tập hợp của các vật hay sự kiện, còn đầu ra của quá trình khai phá dữ liệu như là những dự
báo của các vật hay sự kiện mới. Khai phá dữ liệu được áp dụng trong các cơ sở dữ liệu
quan hệ, giao dịch, cơ sở dữ liệu không gian, cũng như các kho dữ liệu phi cấu trúc, mà điển
hình là World Wide Web.
Khám phá tri thức là quá trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với
các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được. Khai phá dữ liệu là một bước
trong quá trình khám phá tri thức bao gồm các thuật toán khai phá dữ liệu chuyên dùng dưới
một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu và các mô hình
trong dữ liệu.
Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu là tìm ra các mẫu hoặc
mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị khuất bởi số lượng dữ liệu
khổng lồ.
1.3.2 Nhiệm vụ của khai phá dữ liệu
Những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
Phân cụm, phân loại, phân nhóm, phân lớp: Nhiệm vụ là trả lời câu hỏi: Một dữ liệu
mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện một cách tự động.
Khai phá luật kết hợp: Nhiệm vụ là phát hiện ra những mối quan hệ giống nhau của
các bản ghi giao dịch. Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao dịch đã sở
hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ở một mức độ nào đó.
Khai phá luật kết hợp được hiểu theo nghĩa: Biết trước các tính chất X, vậy các tính chất Y
là những tính chất nào?
Lập mô hình dự báo bao gồm hai nhiệm vụ: Hoặc là phân nhóm dữ liệu vào một hay
nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho trong một cơ sở
dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp khác.
Phân tích đối tượng ngoài cuộc .
Phân tích sự tiến hóa.
4

1.3.3 Triển khai việc khai phá dữ liệu


Nhóm các tác giả Cabena et al. đề nghị triển khai quá trình khai phá dữ liệu theo 5
bước:
Bước 1: Xác định rõ mục tiêu thương mại cần khai phá.
Bước 2: Chuẩn bị dữ liệu (Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ liệu nếu thấy
cần thiết).
Bước 3: Khai phá dữ liệu (Chọn thuật toán thích hợp).
Bước 4: Phân tích kết quả thu được (Xem có gì thú vị không?)
Bước 5: Tiêu hóa các tri thức thu lượm được (Nhằm đề ra kế hoạch khai thác các thông
tin mới).
1.3.4 Một số ứng dụng khai phá dữ liệu
Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất
nhiều lĩnh vực kinh doanh và đời sống khác nhau như:
Thương mại: Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư, quyết định cho
vay, phát hiện gian lận, …
Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử
nghiệm, …
Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, … khoa học địa
lý: dự báo động đất, …
Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…
Và những gì thu được thật đáng giá. Điều đó được chứng minh bằng thực tế: Chẩn đoán
bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều
trường hợp xét nghiệm không hợp lý, tiết kiệm được nhiều kinh phí mỗi năm; trong dịch vụ
viễn thông đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và
thu lợi hàng triệu USD; IBM Suft-Aid đã áp dụng khai phá dữ liệu vào phân tích các lần
đăng nhập Web vào các trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ
đó đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động của các Website;
trang Web mua bán qua mạng Amazon cũng tăng doanh thu nhờ áp dụng khai phá dữ liệu
trong việc phân tích sở thích mua bán của khách hàng.
1.3.5 Các kỹ thuật khai phá dữ liệu
Thường được chia thành hai nhóm chính:
Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính
chung của dữ liệu trong cơ sở dữ liệu hiện có. Các kỹ thuật này gồm có: Phân cụm
(clustering), tóm tắt (summerization), trực quan hóa (visualiztation), phân tích sự phát triển
và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules) …
Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy
diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy
(regession)…
Một số phương pháp thông dụng là: Phân cụm dữ liệu, phân lớp dữ liệu, phương pháp
hồi quy và khai phá luật kết hợp.
1.3.5.1 Phân cụm dữ liệu[1]
5

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương
tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là
tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân
cụm dữ liệu là một ví dụ của phương pháp học không có thầy. Phân cụm dữ liệu được
sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng,
nhận dạng mẫu, phân loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể được
sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.
1.3.5.2 Phân lớp dữ liệu [7]
Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.
Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử dụng mô hình để
phân lớp dữ liệu.
Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn
có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính
lớp. Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set). Các nhãn
lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình.
Bước 2: Sử dụng mô hình để phân lớp dữ liệu. Trước hết, chúng ta phải tính độ chính
xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán
nhãn lớp cho các mẫu dữ liệu khác trong tương lai.
1.3.5.3 Phương pháp hồi quy
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự đoán về
các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc.
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực.
Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh
giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn đoán, dự đoán nhu cầu tiêu
thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo.
1.3.5.4 Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị
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à luật kết hợp tìm
được. Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua
tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu.
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn
độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ
đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường …
1.3.6 Kiến trúc của hệ thống khai phá dữ liệu
Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri
thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ
khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức, những
mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới trong cơ sở
tri thức.
6

Hình 1.2 Kiến trúc hệ thống khai phá dữ liệu


Kiến trúc của hệ thống khai phá dữ liệu (Hình 1.2) có các thành phần như sau:
- Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu …
Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu
- Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu có liên quan trên cơ sở
khai phá dữ liệu của người dùng.
- Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc đánh
giá các mẫu kết quả thu được.
- Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để thực hiện các nhiệm vụ
mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu…
- Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với modul khai phá dữ
liệu để tập trung vào tìm các mẫu quan tâm.
- Giao diện người dùng: Đây là modul giữa người dùng và hệ thống khai phá dữ liệu.
Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ, cung cấp
thông tin cho việc tìm kiếm.
1.3.7 Quá trình khai phá dữ liệu
Các thuật toán khai phá dữ liệu thường được mô tả như những chương trình hoạt
động trực tiếp trên tệp dữ liệu. Với phương pháp máy học và thống kê trước đây, thường thì
bước đầu tiên các thuật toán nạp toàn bộ tệp dữ liệu vào bộ nhớ. Khi chuyển sang các ứng
dung công nghiệp liên quan đến việc khai thác các kho dữ liệu lớn, mô hình này không thể
đáp ứng bởi vì không thể nạp hết dữ liệu vào bộ nhớ mà còn khó có thể chiết xuất ra những
tệp đơn giản để phân tích.
Quá trình khai phá dữ liệu (hình 1.3) bắt đầu bằng cách xác định chính xác vấn đề
cần giải quyết. Tiếp đến là xác định dữ liệu liên quan dùng để xây dựng giải pháp. Bước tiếp
theo là thu thập các dữ liệu liên quan và xử lý chúng thành dạng sao cho thuật toán khai phá
có thể hiểu được.
7

Hình 1.3 Quá trình khai phá dữ liệu


Sau đó chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu
để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (luật kết hợp, cây quyết
định …).
Kết quả thu được mẫu phải có đặc điểm mới. Độ mới có thể được đối sánh tương ứng
với độ thay đổi trong dữ liệu hoặc bảng tri thức. Thường thì độ đo mới của mẫu được đánh
giá bằng một hàm logic hoặc hàm độ đo mới. Ngoài ra mẫu còn có khả năng sử dụng tiềm
ẩn.
Với thuật toán và nhiệm vụ khai phá dữ liệu khác nhau thì dạng mẫu chiết xuất được
cũng rất đa dạng.
1.3.8 Những khó khăn trong khai phá dữ liệu
Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn, nhưng không
phải là không giải quyết được mà chúng cần được tìm hiểu để có thể phát triển tốt hơn. Một
số những khó khăn trong khai phá dữ liệu:
- Dữ liệu lớn.
- Kích thước lớn.
- Dữ liệu động.
- Các trường dữ liệu không phù hợp.
- Các giá trị bị thiếu.
- Các trường dữ liệu bị thiếu.
- Quá phù hợp.
- Khả năng biểu đạt mẫu.
- Sự tương tác với người sử dụng các tri thức sẵn có.
1.4 Kết luận chương 1
Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó đề cập đến khái
niệm khám phá tri thức, khai phá dữ liệu, quá trình khai phá dữ liệu, nhiệm vụ và các kỹ
thuật khai phá dữ liệu. Đồng thời trình bày một số ứng dụng của khai phá dữ liệu.
8

Chương 2- KHAI PHÁ LUẬT KẾT HỢP VÀ LÝ THUYẾT TẬP THÔ


2.1 Khai phá luật kết hợp
Khai phá luật kết hợp là quá trình xác định những luật kết hợp trên bảng quyết định
cho trước, phục vụ cho việc phân lớp các đối tượng mới. Khai phá luật kết hợp đã được
nhiều chuyên gia trong và ngoài nước quan tâm trên cả 2 phương diện lý thuyết và ứng
dụng, các nghiên cứu này chủ yếu 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 các bảng dữ liệu động, tập trung
chủ yếu vào 3 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
đối tượng và các thuộc tính không đổi ; (2) Tập các đối tượng thay đổi trong khi tập các
thuộc tính và tập các giá trị 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 thay đổi.
Trong luận văn này, em xin trình bày thuật toán khai phá luật kết hợp trên bảng dữ
liệu động theo hướng học gia tăng đối với 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. Để đánh giá kết quả trích rút các luật kết hợp, luận
văn sử dụng độ chính xác và độ phủ của luật.
2.2 Lý thuyết tập thô[2]
2.2.1 Hệ thông tin
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,

là tập các giá trị thuộc tính trong đó là tập giá trị của thuộc tính a, là hàm
thông tin sao cho , ta có .
Ta gọi là giá trị của đối tượng x trên thuộc tính a, tập gọi là một khái
niệm trong IS. Nếu V chứa giá trị thiếu ở ít nhất một thuộc tính thì 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 hệ thông tin.
Ví dụ 2.1. Cho hệ thông tin được biểu diễn trong bảng 2.1, khi đó ta có:
Tập các đối tượng { } . Tập các thuộc tính { }.
Tập các giá trị thuộc tính ta có { }.
; = 2… tương ứng là các giá trị của các đối tượng trên
các thuộc tính …
Bảng 2.1: Ví dụ về hệ thông tin.
U U
1 1 1 2 2 2
1 2 1 2 3 3
1 2 1 2 3 3
1 2 1 2 3 3
1 2 2 3 3 3
2 2 1 3 3 3
9

2.2.2 Quan hệ bất khả phân biệt


Giả sử là một hệ thông tin. Với mỗi tập thuộc tính , một quan
hệ tương đương, ký hiệu , gọi là quan hệ bất khả phân biệt, được định nghĩa như sau:
{ }.
Thuật toán 2.1 Xác định các lớp tương đương.
Vào:
- Hệ thông tin .
- Tập thuộc tính .
Ra: Tập các lớp tương đương { } của quan hệ IND(P).
Phương pháp:
Bước1 :Sắp xếp tập đối tượng trong U theo thứ tự từ điển .

Trong đó | | | |, | |
Bước 2: Đặt { } ở đó . Khi đó, các tập là các lớp
tương đương của quan hệ .
Kết thúc:
Vì thuật toán sắp xếp các đối tượng trên một thuộc tính có độ phức tạp | | | | ,
khi đó với | | | | thì thuật toán 2.1 có độ phúc tạp là | | | | , trong đó | |
biểu thị lực lượng của tập hợp .
Ví dụ 2.2
Xét hệ thông tin cho ở bảng 2.1
Giả sử, chọn { }, ta dễ dàng thu được một phân hoạch của U được sinh bởi
P là: {{ } { }{ }{ }{ }}.
Định nghĩa 2.2
Cho hệ thông tin , là tập các thuộc tính, { },
{ } là các phân hoạch được sinh bởi P, Q, ta nói Q thô hơn (coarser) P hoặc
P mịn hơn (refiner ) Q khi và chỉ khi , sao
cho .
2.2.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 bao
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 2.3
Cho hệ thông tin là tập các thuộc tính , là tập các đối
tượng, khi đó các tập { [ ] } và { [ ] } tương ứng gọi
là P- xấp xỉ dưới và P – xấp xỉ dưới trên của X trong IS (hình 2.1).
10

Hình 2.1: Mô hình một tập thô


Tập được gọi là P- vùng biên của X.
Nếu (tức ) 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:
X được gọi là P – định nghĩa được một cách thô (roughly P - definable) nếu và
chỉ nếu và .
(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 và .
(3) X được gọi là P – không định nghĩa được một cách ngoại vi (externally P-
underfinable) nếu và chỉ nếu và .
(4) X là không xác định hoàn toàn (totally P-underfinable) nếu và chỉ nếu
và .
Đối với hệ thông tin bất kỳ và . Giả sử P- quan hệ bất khả phân
biệt chia U thành các lớp tương đương rời nhau . Khi đó, với tập
bất kỳ , ta có:
{ [ ] } ⋃

{ [ ] } ⋃

Trên cơ sở đó, chúng ta có thể tính P – xấp xỉ dưới và P – xấp xỉ trên của X bởi thuật
toán sau đây:
Thuật toán 2.2: Xác định xấp xỉ dưới, xấp xỉ trên.
Vào:
Hệ thông tin .
Tập thuộc tính .
Tập đối tượng .
Ra: P – xấp xỉ dưới và P – xấp xỉ trên của X.
11

Phương pháp:
Bước 1:Xác định các lớp tương đương của quan hệ IND(P).
Bước 2: Đặt và .
Bước 3:
For j = 1 to m do
begin
if then ;
if then ;
end;
Kết thúc.
Dễ thấy, thuật toán 2.2 có độ phức tạp O(k| | | |, trong đó | | | | .
Ví dụ 2.3
Xét hệ thông tin trong bảng 2.1
Giả sử, chọn { }, { }.
Ta có: { } với { }, { }, { }, { }.
Suy ra: { } { }; { } { }.
Vì nên ta có X là tập thô.
Một số tính chất của xấp xỉ
1.
2.
3.
4.
5. Nếu thì ,
6.
7.
8.
9.
10. ( ) ( )
11. ( ) ( )
2.2.4 Bảng quyết định
Một trường hợp đặc biệt của hệ thông tin gọi là một bảng quyết định nếu tập thuộc tính A
được phân thành hai tập 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 quyết định sao cho , .
Bảng quyết định được ký hiệu là : hoặc .
Giả sử { } và { } 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,
; thì , 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 .
12

Một lớp tương đương điều kiện gọi là nhất quán nếu , thì
; một lớp tương đương quyết định gọi là nhất quán nếu ,
thì .
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.
2.2.5 Luật kết hợp
Độ hỗ trợ và độ tin cậy (độ chính xác) là hai độ đo mức độ quan tâm của luật kết hợp và
tương ứng chúng phản ánh tính hữu ích và tính chắc chắn của các luật đã được khám phá.
Các luật kết hợp được xem là luật có ý nghĩa nếu chúng thỏa mãn đồng thời cả ngưỡng độ
hỗ trợ tối thiểu và ngưỡng độ 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, độ 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 xuất đơn giản nhất là mô hình có
độ chính xác và độ phủ cao . Vì vậ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 2.4
Cho bảng quyết định , { }, { }
tương ứng là các phân hoạch được sinh bởi C,D. Một luật kết hợp được biểu diễn dưới dạng
ở đây , .
Định nghĩa 2.5
Cho bảng quyết định . Giả sử ,
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
được sinh bởi C, D. Độ hỗ trợ, độ chính xác và độ phủ của luật kết hợp tương ứng
được định nghĩa như sau:
Độ hỗ trợ : ( ) | |

Độ chính xác:
| |
( )
| |

Độ phủ:
| |
( )
| |

Hiển nhiên ,ta có:

( ) ∑ ( )

( ) ∑ ( )
13

Khi xem xét các độ đo của tất cả các luật kết hợp, để đơn giản ta có thể biểu diễn các độ đo
này dưới dạng các ma trận độ đo như sau:
Ma trận độ hỗ trợ:

=( )

Ma trận độ chính xác:

=( )

Ma trận độ phủ:

( )

Chú ý:
(i)Nếu là một luật kết hợp thì được gọi là luật kết hợp ngược
(inverse) của nó. Các luật kết hợp ngược có thể được sử dụng để giải thích (các lý do) đối
với một kết hợp .
Dễ thấy, độ chính xác của luật kết hợp ngược chính là độ phủ của các luật kết hợp
bạn đầu.
(ii)Nếu ( ) thì nếu ( ) thì . Điều này có
nghĩa là độ đo chính xác và độ đo độ phủ của luật còn có thể được sử dụng để đo mức độ
của xấp xỉ dưới và xấp xỉ trên của một khái niệm.
Định nghĩa 2.6
Cho bảng quyết định 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 là một
luật kết hợp trong .
Nếu ( ) thì được gọi là luật kết hợp chắc chắn;
Nếu ( ) thì được gọi là luật kết hợp không chắc chắn;
Mệnh đề 2.1 [4]
Ta có,

( )
( )
14

( )
( ) (2.4)

Định nghĩa 2.7


Giả sử, (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, nếu ( ) và thì ta
gọi luật là luật kết hợp có ý nghĩa, trong đó là hai ngưỡng cho trước, với
.
Nói chung, ta thường chọn các luật kết hợp có độ chính xác và độ phủ cao. 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 kết hợp có ý
nghĩa nhận được sẽ khác nhau. Số lượng các luật kết hợp có ý nghĩa sẽ ít đi khi tăng giá trị
của của và ngược lại.
2.3 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ô
Kỹ thuật phân lớp dựa trên luật kết hợp )với kỹ thuật phân lớp dựa trên tập thô
( ) 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 xấp xỉ
với , cá biệt đối với một vài tập dữ liệu thì độ chính xác phân lớp của cao hơn . Về
số lượng các luật được sinh ra, trong hầu hết các trường hợp sinh nhiều luật hơn .
Xem xét vấn đề sinh luật , sự khác nhau đáng kể giữa và là do cách xử lý dữ
liệu, xem tần suất của các thuộc tính quan tâm là vấn đề quan trọng, trong khi đó 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.
2.4 Kết luận chương 2
Chương 2 trình bày tổng quan về khai phá luật kết hợp, đồng thời trình bày một số vấn đề
cơ bản của lý thuyết tập thô, luật kết hợp và công thức biểu diễn mối quan hệ giữa các độ đo
của luật kết hợp. Đây là nhưng vấn đề cơ bản để nắm bắt và trình bày các kết quả trong
chương sau của luận văn.
15

Chương 3- XÂY DỰNG LUẬT KẾT HỢP TRÊN BẢNG DỮ LIỆU


CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI
3.1 Giới thiệu
Trong các ứng dụng thực tế, theo thời gian các giá trị của các thuộc tính có thể thay
đổi. Sự thay đổi này nói chung được chia thành hai loại: hoặc là một vài giá trị thuộc tính
được kết hợp với nhau thành một giá trị mới (ta gọi là hiện tượng làm thô các giá trị thuộc
tính) ; hoặc là một vài giá trị thuộc tính được tách thành hai giá trị mới (ta gọi đó là hiện
tượng làm mịn các giá trị thuộc tính). Khi làm thô các giá trị thuộc tính sẽ làm cho xấp xỉ
dưới của một khái niệm bị thu hẹp lại và xấp xỉ trên của nó được mở rộng ra. Kết quả sẽ
ngược lại nếu ta làm mịn các giá trị thuộc tính. Như vậy, khi làm thô, làm mịn các giá trị
thuộc tính thì các phân hoạch được sinh bởi các thuộc tính cũng trở nên thô hay mịn hơn.
Điều này có nghĩa là các lớp đương đương và do đó các luật kết hợp đã thu được trước đó
có thể bị thay đổi và không còn giá trị tại thời điểm mới nào đó.
Khi đó, để thu được các luật kết hợp có ý nghĩa tại thời điểm mới, trong chương này
của luận văn tập trung giải quyết vấn đề trích rút các luật kết hợp có ý nghĩa khi làm thô,
làm mịn các giá trị thuộc tính điều kiện và khi làm thô, làm mịn các giá trị thuộc tính quyết
định.
3.2 Khái niệm làm thô, làm mịn các giá trị thuộc tính
Định nghĩa 3.1
Cho hệ thông tin IS = (U, A, V, f), , là tập giá trị của thuộc tính a. Giả
sử ( ) , ( ) tương ứng là giá trị của đối tượng trên thuộc tính a
(p ). Nếu tại thời điểm nào đó ta có ( ) ( ) (z ) 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.
Định nghĩa 3.2
Cho hệ thông tin IS = (U, A, V, f), . Giả sử { } là
tập các đối tượng có giá trị z trên thuộc tính a. Nếu tại thời điểm nào đó, Z được phân hoạch
thành hai tập hợp con W, Y sao cho trong đó {
( ) } và { ( ) } thì ta gọi giá trị z của thuộc
tính a là được làm mịn thành hai giá trị mới w và y.
3.3 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
3.3.1 Yêu cầu và giả thiết bài toán
Cho bảng quyết định là tập các giá trị của thuộc tính điều
kiện a và thuộc tính quyết định d.
Yêu cầu đặt ra: Tiến hành trích rút các luật kết hợp mới khi làm thô, làm mịn các giá
trị thuộc tính điều kiện và khi làm thô, làm mịn các giá trị thuộc tính quyết định. Các luật
kết hợp được trích rút thỏa mãn đồng thời cả ngưỡng độ chính xác và ngưỡng độ phủ cho
trước.
Giả sử tập thuộc tính quyết định D chỉ gồm một thuộc tính d, tiến trình học các luật
kết hợp khi các giá trị thuộc tính thay đổi diễn ra từ thời điểm t đến thời điểm t+1;
16

{ } và { } tương ứng là các phân hoạch được sinh bởi C, D


| | .
Tại thời điểm t, ký hiệu , và , tương ứng là giá trị của
x, giá trị của lớp tương đương điều kiện trên thuộc tính a và là giá trị của x, giá trị của lớp
đương đương quyết định trên thuộc tính d.
Tươ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à
, và , .
3.3.2 Cơ sở toán học
3.3.2.1 Làm thô các giá trị thuộc tính điều kiện
Định lý 3.1: Giả sử sau thời điểm t, hai giá trị w,y của thuộc tính được làm thô thành
giá trị mới z, . Tại thời điểm t+1, tồn tại hai lớp tương đương điều kiện nào đó
được làm thô thành lớp tương đương điều kiện mới , khi và chỉ khi ( )
.
Hệ quả 3.1[5]
Nếu sau thời điểm t, hai lớp đương tương điều kiện nào đó được làm thô thành
lớp điều kiện mới thì tại thời điểm t+1, ta có:
(i)
(ii) ( ) ( ) ở đây j=1,…,n.
3.3.2.2 Làm mịn các giá trị thuộc tính điều kiện
Định lý 3.2:
Giả sử sau thời điểm t, giá trị z của thuộc tính được làm mịn thành hai giá trị
mới w và y . Tại thời điểm t+1, 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 mới khi và chỉ khi:
(i) ;
(ii) với { };
(iii) với { }
Hệ quả 3.2 [ ]
Nếu sau thời đ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 mới . Tại thời điểm t+1, ta có:
(i) ;
(ii) ( ) ( ) ( ) ở đây j=1,…,n.
3.3.2.3 Làm thô các giá trị thuộc tính quyết định
Giả sử sau 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 ). Tại thời điểm t+1, tồn tại hai lớp tương đương quyết định nào
đó được làm thô thành một lớp tương đương quyết định mới , có nghĩa là
với { } { };
Từ kết quả này, ta có hệ quả sau:
Hệ quả 3.3 [ ]
Ta có ( ) ở đây i=1,…,m.
17

3.3.2.4 Làm mịn các giá trị thuộc tính quyết định
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 ( ). Tại thời điểm t+1 , 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 mới và ;
Khi đó, ta cũng rút ra được hệ quả sau:
Hệ quả 3.4 [5]
Ta có ở đây i=1,…,m.
3.3.3 Thuật toán
Trên cơ sở các định lý và các hệ quả được trình bày ở trên, trong luận văn này em xin trình
bày thuật toán để trích rút các luật kết hợp 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 học gia tăng, không đòi hỏi phải thực hiện lại việc 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 3.1

Hình 3.1: Các bước cơ bản của thuật toán trích rút luật kết hợp khi làm thô/mịn các
giá trị thuộc tính.

Thuật toán 3.1 Tính ma trận độ hỗ trợ tại thời điểm t nào đó.
Vào: Các lớp tương đương điều kiện
Các lớp tương đương điều kiện .
Ra: Ma trận độ hỗ trợ (Sup) tại thời điểm t.
Phương pháp:
// Áp dụng đĩnh nghĩa 2.5.
for i = 1 to m do
18

for j = 1 to n do
begin
| | ;
end ;
Kết thúc.
Thuật toán 3.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 được làm thô.
-Các giá trị w, y củ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 được làm thô thuộc tính .
Phương pháp:
// Tìm tất cả các cặp tương đương điều kiện được hợp thành lớp tương đương điều
kiện mới.
;// tập chứa các cặp lớp tương đương được hợp lại thành 1 lớp mới .
for p = 1 to m do
for q = p + 1 to m do
begin
if ( ( ) ( ) )
or ( ( ) ( ) ) then
begin
kiemtra = 1;
for k = 1 to | | do // | | là số các thuốc tính điều kiện .
begin
if ( ) then
begin
kiemtra = 0; break;
end;
end;
if kiemtra = 1 then
begin
lưu ( ) vào CC;

end;
end;
end;
// Tính ma trận Sup tại thời điểm t+1.
for ( ) in CC
begin
for = 1 to n do
begin
( ) ( ) ( );
end;
Xóa 2 dòng tương ứng với ;
Bổ sung dòng tương ứng với ;
19

end;
Kết thúc.
Thuật toán 3.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 được làm mịn.
- Tập W các đối tượng mà có giá trị z trên thuộc tính đượ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 đượ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 .
Phương pháp:
//Tìm lớp điều kiện được tách thành 2 lớp và .
for s = 1 to m do
begin
if and and then
begin
; ;
for each x in do
begin
if ( ) then Bổ sung x vào
else if ( ) then Bổ sung x vào ;
end;
end;
end;
// Tính Sup tại thời điểm t+1.
for j = 1 to n do
begin
Tính Sup( );
( ) ( ) ( );
end;
Xóa dòng tương ứng với ;
Bổ sung 2 dòng tương ứng với ;
Kết thúc.
Thuật toán 3.4 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
quyết định.
Vào: - Ma trận Sup tại thời điểm t.
-Giá trị w, y của thuộc tính quyết định d được làm thô thành z.
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm thô .
Phương pháp:
// Tìm 2 lớp , được kết hợp thành lớp mới .
; ;
for j = 1 to n do
begin
if ( ) ;
20

if ( ) ;
end;
// Tính ma trận Sup tại thời điểm t+1.
for i = 1 to m do
begin
;
end;
Xóa 2 cột tương ứng với , ;
Bổ sung cột tương ứng với ;
Kết thúc.
Thuật toán 3.5: 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
quyết định.
Vào: - Ma trận Sup tại thời điểm t.
-Tập là tập các đối tượng có giá trị trên thuộc tính d là z được làm mịn thành giá
trị w.
-Tập là tập các đối tượng có giá trị trên thuộc tính d là z được làm mịn thành
thành giá trị y.
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm mịn d.
Phương pháp:
// Tìm lớp được tách thành 2 lớp mới .

for j = 1 to n do
begin
if ( )
end;
// Tính ma trận Sup tại thời điểm t+1.
for i = 1 to m do
begin
Tính Sup( );
( )
end;
Xóa cột ;
Bổ sung 2 cột
Kết thúc.
Chú ý: Trong thuật toán 3.5 này, vì tập thuộc tính quyết định D chỉ có một thuộc tính
d, nên khi làm mịn giá trị z của d thành hai giá trị mới w và y, ta có ngay hai lớp tương
đương quyết định mới tương ứng là ;
Diễn giải làm việc của các thuật toán từ 3.2 đến 3.5
Tất cả các thuật toán 3.2 đến 3.5 được xây dựng trên cơ sở các kết quả của định lý
3.1, định lý 3.2, các hệ quả từ 3.1 đến 3.4.
Các thuật toán này đều làm việc theo cơ chế: Đầu tiên nó thực hiện việc tìm các cặp
lớp tương đương mà sẽ được kết hợp với nhau thành một lớp tương đương mới (khi làm
thô) hoặc tìm một lớp tương đương bị tách thành hai lớp tương đương mới (làm mịn), sau
21

đó cập nhật lại các dòng (cột) tương ứng trong ma trận độ hỗ trợ tại thời điểm trước đó. Sau
bước cập nhật này, ta sẽ thu được ma trận độ hỗ trợ tại thời điểm t+1.
Thuật toán 3.6 : Tính ma trận độ chính xác và ma trận độ phủ tại thời điểm t+1.
Vào: Ma trận độ hỗ trợ tại thời điểm t+1.
Ra: Ma trận độ chính xác và ma trận độ phủ tại thời điểm t+1.
Phương pháp:
// Áp dụng mệnh đề 2.1 .
SupN = 0; // Vecto tổng dòng gồm n giá trị để tính Acc.
SupM = 0; // Vecto tổng cột gồm m giá trị để tính Cov.
// Tính tổng.
for i = 1 to m do
for j = 1 to n do
begin
SupN(j) = SupN(j) + Sup( );
SupM(i) = SupM(i) + Sup( );
end
// Tính Acc, Cov.
for i = 1 to m do
for j = 1 to n do
begin
( ) ;
( )
end
Kết thúc.
Thuật toán 3.7: Trích rút luật kết hợp có ý nghĩa.
Vào: -Ma trận độ chính xác tại thời điểm t+1.
-Ma trận độ phủ tại thời điểm t+1.
-Các ngưỡng .

Ra: - Các luật kết hợp có ý nghĩa.


Phương pháp:
// Áp dụng định nghĩa 2.7 .
for i = 1 to m do
for j = 1 to n do
begin
if ( ) then đưa ra
end
Kết thúc.
Nhận xét:
Theo thời gian, sự thay đổi của các giá trị thuộc tính có thể kéo dài trong nhiều thời
điểm khác nhau, khi đó toàn bộ tiến trình thay đổi có thể được chia thành một vài phần nhỏ,
có nghĩa là từ thời điểm t đến thời điểm t+1, từ thời điểm t+1 đến thời điểm t+2…
22

Vì ta luôn thực hiện việc lưu lại ma trận độ hỗ trợ, các lớp tương đương điều kiện và
các lớp tương đương quyết định , nên tại thời điểm mới (giả sử là t+2), ma trận độ hỗ trợ ,
các lớp tương đương đã thu được ở thời điểm trước (thời điểm t+1) sẽ được sử dụng lại như
là các giá trị tại thời điểm t.
3.3.4 Độ phức tạp thuật toán
Mệnh đề 3.8 : Độ phức tạp thuật toán trích rút các luật kết hợp có ý nghĩa khi làm thô, làm
mịn các giá trị thuộc tính là | | .
3.3.5 Ví dụ minh họa
3.4 Ứng dụng thuật toán
3.4.1 Cài đặt
3.4.1.1 Yêu cầu hệ thống
Chương trình “Thuật toán trích rút luật kết hợp khi làm thô, làm mịn các giá trị
thuộc tính” được viết bằng ngôn ngữ C# trên bộ Visual Studio 2010 sử dụng phiên bản .Net
Framewok 4.0. Yêu cầu tối thiểu của hệ thống khi sử dụng chương trình:
- Cài đặt .Net Framework phiên bản 4.0 trở lên.
- Hệ điều hành tối thiểu Windows XP SP2.
Mã nguồn đã được biên dịch thành tệp thực thi .exe trên môi trường Windows nên chỉ cần
cài đặt bộ thư viện yêu cầu ở trên là có thể chạy được chương trình.
3.4.1.2 Cấu trúc các lớp chương trình
Chương trình được tổ chức theo các lớp có chức năng rõ ràng, tối ưu cho việc đọc và
xử lý của các lớp khác. Việc tổ chức theo lớp giúp dễ dàng theo dõi mã nguồn và xử lý khi
xảy ra lỗi. Sau đây sẽ mô tả chi tiết về cấu trúc lớp chương trình và chức năng của chúng.
Mối liên hệ giữa các lớp trong chương trình:

Hình 3.2: Mối liên hệ giữa các lớp trong chương trình
3.4.2 Thử nghiệm chương trình
23

Dữ liệu đầu vào là bảng quyết định nhất quán được lưu trữ trong một bảng dữ liệu.
Mỗi bảng sẽ được lưu trữ các thông tin về bảng đó vào một bảng trung gian là
TableMetaData. Cấu trúc của bảng dữ liệu minh họa như sau:

Hình3.8: Cấu trúc bảng DS1

Hình 3.9: Cấu trúc bảng TableMetaData


Các cấu trúc sử dụng để lưu trữ ma trận độ hỗ trợ là List. Nó là một mảng vô hướng
trong C#, rất linh hoạt khi xử lý dữ liệu dạng mảng động. Để lưu trữ được các lớp tương
đương, chương trình dùng đối tượng Dictionary, mỗi phần tử của Dictionary là một list chứa
các chỉ số của đối tượng.
Một số giao diện chính của chương trình:

Hình 3.10: Giao diện chương trình nạp khi bảng quyết định.
24

Hình 3.14: Danh sách luật kết hợp được trích rút.
3.5 Kết luận chương 3
Trong chương này trình bày các khái niệm về làm thô, làm mịn các giá trị thuộc tính.
Đưa ra và chứng minh một số định lý, hệ quả làm cơ sở cho tính đúng đắn của thuật toán
được đề xuất theo tiếp cận gia tăng để phát hiện các luật kết hợp có ý nghĩa trên bảng dữ
liệu động khi làm thô, làm mịn các giá trị thuộc tính quyết định. Ưu điểm trong cách tiếp
cận này là chỉ cần tổ chức lưu trữ và cập nhật lại ma trận độ hỗ trợ, dựa trên đó tính ma trận
độ chính xác và ma trận độ phủ, sau đó sinh luật. Đồng thời cũng đưa ra các mệnh đề đánh
giá độ phức tạp của thuật toán .
KẾT LUẬN VÀ KIẾN NGHỊ
Những kết quả chính của luận văn:
1.Trình bày và chứng minh công thức biểu diễn mối quan hệ giữa độ đo hỗ trợ với độ đo
chính xác và độ phủ của các luật kết hợp.
2.Trình bày thuật toán theo hướng học gia tăng phát hiện các luật kết hợp mới khi các giá trị
thuộc tính trong bảng dữ liệu thay đổi. Ưu điểm của thuật toán là chỉ cần cập nhật lại ma
trận độ hỗ trợ, dựa trên đó tính ma trận độ chính xác và ma trận độ phủ rồi sinh luật.
3. Trình bày và chứng minh các định lý và hệ quả làm cơ sở cho tính đúng đắn của thuật
toán theo hướng học gia tăng phát hiện các luật kết hợp mới khi làm thô, làm mịn các giá trị
thuộc tính điều kiện và khi làm thô, làm mịn các giá trị thuộc tính quyết định. Trình bày các
mệnh đề đánh giá độ phức tạp của thuật toán.
Những vấn đề cần tiếp tục nghiên cứu:
Luận văn mới chỉ đề cập đến vấn đề xây dựng luật kết hợp trên bảng quyết định khi
các giá trị thuộc tính thay đổi. Do đó em sẽ cố gắng tiếp tục nghiên cứu về các vấn đề :
1. Xây dựng thuật toán phát hiện các luật kết hợp trên bảng quyết định khi tập các đối
tượng thay đổi.
2. Xây dựng thuật toán phát hiện các luật kết hợp trên bảng quyết định khi tập các thuộc
tính thay đổi.

You might also like