Tải bản đầy đủ (.pdf) (74 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (996.29 KB, 74 trang )

LỜI CẢM ƠN
Trong quá trình thực hiện luận văn này, em đã nhận đƣợc sự hƣớng
dẫ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

2
LỜ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


3
MỤ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


4
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Ký hiệu Ý nghĩa
BN
p
(X) P – miền biên của X
PX
P - Xấp xỉ trên của X
PX P- Xấp xỉ dƣới của X
IND(P) P – Quan hệ bất khả phân biệt
Sup(C
i
, D

j
) Độ hỗ trợ của luật quyết đinh C
i
D
j
Cov(C
i
, D
j
) Độ phủ của luật quyết đinh C
i
D
j
Acc(C
i
, D
j
) Độ chính xác của luật quyết đinh C
i
D
j
[x]
p
Lớp tƣơng đƣơng chứa x trong quan hệ IND(P)
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
quyết định C
i
D

j
Sup
(t)
(C, D) Ma trận độ hỗ trợ tại thời điểm t của tất cả các luật
quyết định C
i
D
j
Cov
(t)
(C, D) Ma trận độ phủ tại thời điểm t của tất cả các luật
quyết định C
i
D
j

5
DANH 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

6
DANH 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









7
MỞ ĐẦ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

8
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 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.

9
Chƣơ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

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.

11
Có 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

12
tƣợ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á

13
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 đổ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


14
và 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.

15
1.3. Lý thuyết tập thô
1.3.1. Hệ thông tin

Định nghĩa 1.1 [2]
Một tập dữ liệu đƣợc cho dƣới dạng bảng, trong đó các hàng biểu diễn
thông tin ứng với một đối tƣợng, các cột biểu diễn thuộc tính đo đƣợc của đối
tƣợng (do các chuyên gia hay ngƣời sử dụng cung cấp). Bảng này đƣợc gọi là
hệ 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
aA
V
là tập các giá trị thuộc tính, trong đó V
a
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) V
a
.
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 = {x
1
,…,x
12
}

Tập các thuộc tính A = {a
1
, a
2
, a
3
}
Tập các giá trị của thuộc tính a A ta có V
a
= {1, 2, 3}
f(x
1
, a
1
) = 1; f(x
2
, a
2
) = 2 … tƣơng ứng là các giá trị của các đối tƣợng
x
1
, x
2
trên các thuộc tính a
1
, a
2,.


16

Bảng 1.1: Ví dụ về hệ thông tin
U
a
1
a
2
a
3
U
a
1
a
2
a
3
x
1
1
1
1
x
7
2
2
2
x
2
1
2
1

x
8
2
3
3
x
3
1
2
1
x
9
2
3
3
x
4
1
2
1
x
10
2
3
3
x
5
1
2
2

x
11
3
3
3
x
6
2
2
1
x
12
3
3
3

1.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)}
Dễ thấy: IND(P) =
aP
IND a

Quan hệ IDN(P) chia U thành họ các lớp tƣơng đƣơng, tạo thành một
phân hoạch của U, kí hiệu U/IND (P) hay đơn giản là U/P.
Với mỗi đối tƣợng x U, lớp tƣơng đƣơng chứa x theo quan hệ
IND(P), đƣợc kí hiệu là [x]
P

([x]
P
cũng đƣợc gọi là tri thức cơ bản của P)
đƣợc định nghĩa nhƣ sau:
[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

17
cá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]
Vào:
- Hệ thông tin IS = (U, A, V, f)
- Tập thuộc tính P A.
Ra: Tập các lớp tƣơng đƣơng {
P
1
X
…,
P
m
X
} của quan hệ IND(P)

Phƣơng pháp:
Bước 1: Sắp xếp các đối tƣợng trong U theo thứ tự từ điển <
p

1
1
x
=
p
…=
p
1
1
i
x
<
p
2
1
x
=
p
=
p
2
2
i
x
<
p

… <
p
… <
p
m
1
x
=
p
… =
p

m
m
i
x

trong đó 0 < m |U|, 0 <i
1
, …, i
m
|U|, i
1
+ i
2
+…+i
m
= |U|.
Bước 2:
Đặt

P
j
X
= {
j
1
x
,
j
2
x
, …,
j
j
i
x
} ở đó j =1, 2, …, m. Khi đó các tập
P
1
X
, …,
P
j
X
là các lớp tƣơng đƣơng của quan hệ IND(P).
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
O(|U|log|U|), trong đó với |P| |A| = k thì thuật toán 1.1 có độ phức tạp là
O(k|U|log|U|), trong đó |.| biểu thị lực lƣợng của tập hợp.
Ví dụ 1.2

Xét hệ thông tin cho ở bảng 1.1.
Giả sử, chọn P = {a
1
, a
2
}, ta dễ dàng thu đƣợc một phân hoạch của U
đƣợc sinh bởi P là:
U/P = {{x
1
}, {x
2,
x
3
, x
4
, x
5
}, {x
6
, x
7
}, {x
8
, x
9
, x
10
}, {x
11
, x

12
}}
Đị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
= {P
1
, …, P
m
}, U/Q = {Q
1
, …, Q
n
} là các phân hoạch đƣợc sinh bởi P, Q, ta

18
nói Q thô hơn (coarser) P hoặc P mịn hơn (refiner) Q khi và chỉ khi P
i

U/P, Q
j
U/Q (i=1, …, m; j = 1,…, n) sao cho P
i
Q
j
.
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à
P
X = {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 BN
p
(X) =
P
X – PX đƣợc gọi là P – vùng biên của X.
Nếu BN
p
(X) = (tức
P
X = 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à
P

X 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à
P
X 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à
P
X = U.
(4) X là không xác định hoàn toàn (totally P - underfiable) nếu và chỉ
nếu PX = và
P
X = U.

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
1
X

P
m
X
. Khi đó, với tập bất kỳ X U, ta có:
PX = {x U: [x]
p
X} =
p
j

p
j
XX
X

P
X= {x U: [x]
p
X } =
p
j
p
j
XX
X

Trên cơ sở đó 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 1.2: Xác định xấp xỉ dưới, xấp xỉ trên
Vào:
Hệ thông tin IS = (U, A, V, f)
Tập thuộc tính P A
Tập đối tƣợng X U
Ra: P – xấp xỉ dƣới và P – xấp xỉ trên của X.
Phƣơng pháp:
Bước 1: Xác định các lớp tƣơng đƣơng
P
1
X
…,

P
m
X
của quan hệ IND(P);
Bước 2: Đặt P(X) = và
P
X = ;
Bước 3:
for j = 1 to m do
begin
if
P
j
XX
then P(X) =
P
(X)
P
j
X
;
if
P
j
XX
then
P
(X) =
P
(X)

P
j
X
;
end;
Kết thúc.

20
Dễ thấy, thuật toán 1.2 có độ phức tạp là O(k|U|log|U|), trong đó |P| <
|A| = k.
Ví dụ 1.3
Xét hệ thông tin trong bảng 1.1
Giả sử chọn P = {a
1
, a
2
, a
3
}, X ={x
3
, x
4
, x
5
}
Ta có: U/P = {
P
1
X
, …,

P
4
X
} với
P
1
X
= {x
1
},
P
2
X
= {x
2
, x
3
, x
4
},
P
3
X
= {x
5
}
P
4
X
= {x

6
}. Suy ra PX ={
P
3
X
} = {x
5
};
P
X = {
P
2
X
,
P
3
X
} = {x
2
, x
3
, x
4
, x
5
}.
Vì PX
P
X, nên ta có X là tập thô.
Một số tính chất của xấp xỉ

1.
PX X PX

2.
P P ;PU=PU=U

3.
P(X Y) = P(X) P(Y)

4.
P(X Y) = P(X) P(Y)

5. Nếu X Y thì
PX PY
,
PX PY

6.
P(X Y) P(X) P(Y)

7.
P(X Y) P(X) P(Y)

8. P(U – X) = U -
PX

9.
P
(U – X) = U – P(X)
10. P(P(X)) =

P
(P(X)) = P(X)
11.
P
(
P
(X)) = P(
P
(X)) =
P
(X)
1.3.4. Bảng quyết định
Một trƣờng hợp đặc biệt của hệ thông tin đƣợc 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 C
D = , C D = A.

21
Bả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 = {C
1
, C
2
, …, C
m
} và U/D = {D
1
, D
2

, …, D
n
} 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ì C
i
, D
j
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 C
i
U/C gọi là nhất quán nếu x, y
C
i
, 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 D
j
, 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.
Ví dụ 1.4
Cho bảng quyết định (bảng 1.2), trong đó C = {a
1
, a
2
, a
3
}, D = {d}
tƣơng ứng là tập các thuộc tính điều kiện và tập thuộc tính quyết định.

Ta có:
U/C = {C
1
, C
2
, …,C
7
} với
C
1
= {x
1
}, C
2
= {x
2
, x
3
, x
4
}, C
3
= {x
5
}, C
4
= {x
6
}, C
5

= {x
7
}, C
6
= {x
8
,
x
9
, x
10
}, C
7
= {x
11
, x
12
};
U/D = {D
1
, D
2
, D
3
, D
4
} với
D
1
= {x

1
, x
2
, x
3
, x
4
}, D
2
= {x
5
, x
6
}, D
3
= {x
7
, x
8
, x
9
, x
10
}, D
4
= {x
11
, x
12
}.

Bảng 1.2: Ví dụ về bảng quyết định
U
A
1
a
2
a
3
d
U
a
1
a
2
a
3
d
x
1

1
1
1
0
x
7

2
2
2

2
x
2

1
2
1
0
x
8

2
3
3
2
x
3

1
2
1
0
x
9

2
3
3
2
x

4

1
2
1
0
x
10

2
3
3
2

22
x
5

1
2
2
1
x
11

3
3
3
3
x

6

2
2
1
1
x
12

3
3
3
3

1.3.5. Luật quyết định
Trong các nghiên cứu trƣớc đây, các luật quyết định có ý nghĩa (các tri
thức quan tâm) thƣờng đƣợc đƣa ra bởi các mâu thuẫn chắc chắn, chúng
thƣờng đƣợc biểu diễn dƣới dạng các luật kết hợp. Han và Kamber đã phát
biểu “Độ hỗ trợ và độ tin cậy (độ chính xác) là hai độ đo mức độ quan tâm
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, 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 = {C
1

, …, C
m
}; U/D =
{D
1
, D
2
, …, D
n
} 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 C
i
D
j
ở đây C
i
U/C, D
j
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ử C
i
U/C; D
j
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 C
i

D
j
tƣơng ứng đƣợc định nghĩa nhƣ sau:
Độ hỗ trợ: Sup(C
i
, D
j
) = |C
i
D
j
|

23
Độ chính xác: Acc(C
i
, D
j
)=
|Ci Dj|
|Ci|

Độ phủ: Cov((C
i
, D
j
)=
|Ci Dj|
|Di|


Hiển nhiên ta có:
0 Acc(X
i
, Y
j
) 1 và
1
(,
n
ij
j
Acc C D
) = 1 (1.1)
0 Cov(X
i
, Y
j
) và
1
(,
n
ij
j
Cov C D
) = 1 (1.2)
Khi xem xét các độ đo của tất cả các luật quyết định, để đơ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ợ:
Sup(C, D) =(Sup(C
i

, D
j
))
m x n
=
1 1 1 n
m 1 m n
Sup(C ,D ) Sup(C ,D )
Sup(C ,D ) Sup(C ,D )

Ma trận chính xác:
Acc(C, D) = (Acc(C
i
, D
j)
)
m x n
=
1 1 1 n
m 1 m n
Acc(C ,D ) Acc(C ,D )
Acc(C ,D ) Acc(C ,D )

Ma trận độ phủ:
Cov(C, D) = (Cov(C
i
, D
j
))
m x n

=
1 1 1 n
m 1 m n
Cov(C ,D ) Cov(C ,D )
Cov(C ,D ) Cov(C ,D )


Chú ý:
(i) Nếu C
i
D
j
là một luật quyết định thì Dj C
i
đƣợc gọi là luật
quyết định ngƣợc (inverse) của nó. Các luật quyết định ngƣợc có thể đƣợc sử
dụng để giải thích (các lý do) đối với một quyết định.

24
Dễ 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(C
i
, D
j)
= 1 thì C
i
CD
j
và nếu Cov(C

i
, D
j)
= 1 thì C
i

C
D
j
. Đ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), C
i
U/C, D
j
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, C
i
D
j
là một quyết định trong DS (i = 1, …,m; j = 1, …,n).
Nếu Acc(C
i
, D
j)
= 1 thì C
i
D

j
đƣợc gọi là luật quyết định chắc chắn;
Nếu 0 < Acc(C
i
, D
j)
< 1 thì C
i
D
j
đƣợc gọi là luật quyết định không
chắc chắn.
Mệnh đề 1.1
Ta có, C
i
U/C, D
j
U/D (i = 1,…,m ; j = 1, …,n)
Acc(C
i
, D
j
) =
ij
n
iq
q=1
Sup C ,D
Sup C ,D
(1.3)

Cov(C
i
, D
j)
=
ij
m
pj
p=1
Sup C ,D
Sup C ,D
(1.4)
Chứng minh:
Luôn có,
m
p
p=1
C
=
n
q
q=1
D
= U, trong đó hai lớp bất kì là rỗng.
Mặt khác, C
i
U/C ta có:
C
i
= C

i
U = C
i
(
n
q
q=1
D
) =
n
q=1
(C
i
D
q
)
Suy ra, |C
i
| =
n
iq
q=1
|C D |
=
n
iq
q=1
Sup(C , D )



25
Do đó, Acc(C
i
, D
j
) =
ij
i
| C D |
|C |
=
ij
n
iq
q=1
Sup(C ,D )
Sup(C ,D )
.
Tƣơng tự ta cũng có:
|D
j
| =
m
pj
p=1
|C D |
=
m
pj
p=1

Sup(C , D )

Do đó, Cov(C
i
, D
j
) =
ij
j
| C D |
|D |
=
ij
m
pj
p=1
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ợ.
Định nghĩa 1.7
Giả sử, C
i
U/C; D
j
U/D (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 Acc(C
i

,
D
j
) và Cov(C
i,
D
j
) thì ta gọi luật C
i
D
j
là luật quyết định có ý nghĩa,
trong đó , là hai ngƣỡng cho trƣớc, với , (0,1).
Nói chung, ta thƣờng chọn các luật quyết định có độ chính xác và độ
phủ cao, điều này cũng giống nhƣ việc chọn các ngƣỡng độ hỗ trợ và ngƣỡng
độ 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, V
a
là tập các giá trị của
thuộc tính a. Giả sử f(x
p
, a) = w, f(x
q
, a) = y tƣơng ứng là các giá trị của đối

×