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

Khai phá luật dữ liệu trên bảng dữ liệu có 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 (775.18 KB, 61 trang )


Số hóa bởi trung tâm học liệu
i
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




LÊ THỊ UYÊN


KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ
LIỆU CÓ THUỘC TÍNH THAY ĐỔI

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH




Ngƣời hƣớng dẫn khoa học: GS.TS VŨ ĐỨC THI




THÁI NGUYÊN - 2013



Số hóa bởi trung tâm học liệu
i
LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ
trợ từ Giáo viên hướng dẫn là GS.TS Vũ Đức Thi. Các nội dung nghiên cứu
và kết quả trong đề tài này là trung thực và chưa từng được ai công bố trong
bất cứ công trình nghiên cứu nào trước đây. Những số liệu trong các bảng
biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu
thập từ các nguồn khác nhau có ghi trong phần tài liệu tham khảo. Ngoài ra,
đề tài còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả,
cơ quan tổ chức khác, và cũng được thể hiện trong phần tài liệu tham khảo.
Nếu sai tôi xin hoàn toàn chịu trách nhiệm.

Thái Nguyên, ngày 15 tháng 9 năm 2013
Tác giả luận văn



Lê Thị Uyên

Số hóa bởi trung tâm học liệu
ii
LỜI CẢM ƠN

Với lòng biết ơn sâu sắc nhất, em xin gửi đến các Thầy Cô ở Trường
Đại Học Công Nghệ Thông Tin và Truyền thông cùng các Thầy ở Viện Khoa
Học và Công Nghệ Việt Nam đã cùng với tri thức và tâm huyết của mình để
truyền đạt vốn kiến thức quý báu cho chúng em trong suốt khóa học vừa qua.
Luận văn được hoàn thành dưới sự hướng dẫn, chỉ bảo tận tình của

GS.TS Vũ Đức Thi. Xin bày tỏ lòng biết ơn chân thành và sâu sắc tới Thầy đã
quan tâm, nghiêm khắc và tạo mọi điều kiện để em có thể hoàn thành những
mục tiêu của đề tài.
Sau cùng, em xin kính chúc các Thầy Cô thật dồi dào sức khỏe, niềm
tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho
thế hệ mai sau.
Em xin chân thành cảm ơn!

Thái Nguyên, ngày 15 tháng 9 năm 2013
Tác giả luận văn



Lê Thị Uyên

Số hóa bởi trung tâm học liệu
iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT v
DANH MỤC HÌNH vi
CHƢƠNG 1: TỔNG QUAN 1
1.1. Khai phá dữ liệu 1
1.1.1. Kỹ thuật phân lớp dữ liệu 2
1.1.2. Một số kỹ thuật phân lớp phổ biến 2
1.1.3. Kỹ thuật phân nhóm dữ liệu 3
1.2. Khai phá luật quyết định 3
1.3. Lý thuyết tập thô 5

1.3.1. Hệ thông tin 5
1.3.2. Quan hệ bất khả phân biệt 6
1.3.3. Xấp xỉ tập hợp 8
1.3.4. Ứng dụng của tập thô (reduct) 9
1.3.5. Bảng quyết định 13
1.3.6. Các bước để xây dựng bảng quyết định 15
1.3.7. Luật quyết định 16
1.4. 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 luật tập thô 19
1.5. Kết luận chương 20
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 21
2.1. Giới thiệu 21
2.2. Khái niệm làm thô, làm mịn giá trị thuộc tính 22
2.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 22
2.3.1. Yêu cầu và giả thiết bài toán 22
2.3.2. Cơ sở toán học 23

Số hóa bởi trung tâm học liệu
iv
2.3.3. Thuật toán 26
2.3.4. Độ phức tạp thuật toán 34
2.3.5. Ví dụ minh họa 37
2.4. Kết luận chương 2 39
CHƢƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 40
3.1. Cài đặt 40
3.1.1. Yêu cầu hệ thống 40
3.1.2. Cấu trúc các lớp chương trình 40
3.2. Thử nghiệm chương trình 44
3.2.1. Hướng dẫn chạy chương trình 44
3.2.2. Mô tả 7 thuật toán 46

3.3. Đánh giá thuật toán 52
3.4. Kết luận chương 3 52
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54


Số hóa bởi trung tâm học liệu
v
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT

Ký hiệu
Ý nghĩa
BN
p
(X)
P – miền biên của X
P
X
P – Xấp xỉ trên của X
P
X
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 định C

i
D
j
Cov(C
i
, D
j
)
Độ phủ của luật quyết định C
i
D
j
Acc(C
i
, D
j
)
Độ chính xác của luật quyết định C
i
D
j
Acc
(t)
(C, D)
Ma trận Độ chính xác tại thời điểm t của tất 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ả 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ả luật quyết định
C
i
D
j


Số hóa bởi trung tâm học liệu
vi
DANH MỤC HÌNH

Hình 2.1: Các bước cơ bản của thuật toán trích rút luật quyết định khi làm
thô/mịn các giá trị thuộc tính 26
Hình 3.1: Mối liên hệ giữa các lớp trong chương trình 41
Hình 3.2: Mối quan hệ các lớp trong DecisionRules 41
Hình 3.3: Mối quan hệ các lớp trong DecisionTable 41
Hình 3.4: Mối quan hệ các lớp trong SupportMatrix 42
Hình 3.5: Mối quan hệ trong lớp SqlHelper 43
Hình 3.6: Trong lớp Ultilities 43

Hình 3.7: Trong lớp AlgoCharn 44
Hình 3.8: Cấu trúc bảng DS1 44
Hình 3.9: Cấu trúc bảng TableMetaData 44
Hình 3.10: Giao diện chương trình nạp bảng quyết định 45
Hình 3.11: Minh họa tính toán với dữ liệu 45
Hình 3.12: Minh họa tính toán với dữ liệu khi tính toán 46

Số hóa bởi trung tâm học liệu
1
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, 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 khai 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:
Bước một: Lọc dữ liệu (giai đoạn 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 sự 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. Dữ liệu 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 phải xem khách hàng thường cùng mua những mặt hàng nào,
dựa trên đó ta sẽ sắp xếp những món hàng để thuận tiện cho việc mua hàng
của khách hàng. 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ỏ các thuộc tính
này trước khi tiến hành công việc khai phá dữ liệu.
Bước hai: 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.

Số hóa bởi trung tâm học liệu
2
Bước ba (giai đoạn 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
đá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ó hai kỹ
thuật được các nhà nghiên cứu sử dụng nhiều nhất là: Kỹ thuật phân lớp dữ
liệu và kỹ thuật phân nhóm dữ liệu.
1.1.1. 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 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ột 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.
1.1.2. 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
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.

Số hóa bởi trung tâm học liệu
3
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ó 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.
1.1.3. 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 các đố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 cấu 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 định 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 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 ba trường hợp sau đây:
+ Tập các giá trị thuộc tính thay đổi trong khi tập các đối tượng và tập
các thuộc tính không đổi.
+ 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.

Số hóa bởi trung tâm học liệu
4
+ 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, 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, Năm 2009 một người tên Liu đã trình bày 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 việc 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. Tuy nhiên nghiên cứu
này đã làm tiêu tốn nhiều thời gian tính và không gian bộ nhớ do phải cập nhật
và lưu trữ đối với cả ma trận độ phủ và ma trận độ chính xác.
Trong trường hợp thứ ba, tập các thuộc tính thay đổi đề nghị 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, trình bày các giải pháp khác nhau nhằm giải quyết
có hiệu quả bài toán khai phá tri thức trên bảng dữ liệu động. Trong trường
hợp này, để sinh các luật kết hợp, 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 dọc sẽ 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.
Trong khuôn khổ của luận văn, xin trình bày 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
trường hợp thay đổi của bảng dữ liệu có các giá trị thuộc tính thay đổi. Trong
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.

Số hóa bởi trung tâm học liệu
5
1.3. Lý thuyết tập thô
1.3.1. Hệ thông tin
* Định nghĩa 1.1:
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 đố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 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 là tập các giá trị thuộc tính, f: U A V là hàm thông tin sao
cho x U, a A Ta có f(x,a) V
a
(là tập giá trị của thuộc tính 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 ở ít nhất một thuộc tính a A thì hệ thông tin
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 sau:
U
a

1
a
1
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
Khi đó ta có:
Tập các đối tượng U = {x
1
, , x
12
}
Tập các thuộc tính A = {a1, a2, a
3
}

Số hóa bởi trung tâm học liệu
6
Tập các giá trị 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
,
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:
IND(P) = {(x,y) U x U: a P, f(x, a) = f(y, a)}
Dễ thấy: IND(P) = ∩ IND({a}).

Quan hệ IND(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
các đối tương theo thứ tự từ điển (trên các vector 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
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 {X
1
p
,…, X
m
p
} của quan hệ IND(P)
a p

Số hóa bởi trung tâm học liệu
7
Phƣơng pháp:
Bước 1: Sắp xếp tập đối tượng trong U theo thứ tự từ điển <
p

X
1
1
=
p…
=
p
X
1
1
<
p
X
1
2
=
p….
=
p
X
i2
2
<
p…
<
p
X
1
m
=

p…
=
p
X
im
m

Trong đó 0 < m |U|, 0 < i
1
, … i
m
|U|, i
1
+ i
2
+ …+ i
m
= |U|
Bước 2: Đặt X
j
p
= {x
1
j
, x
2
j
, …, x
ij
j

} ở đó j = 1, 2, …, m. Khi đó, các tập
X
1
p
, …, X
m
p
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|), khi đó với |P| |A| = k thì thuật toán 1.1 có độ phức tạp là
O(k|U|log|U|).
Ví dụ 1.2: Xét hệ thông tin cho ở bảng sau:
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

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
nói Q thô hơn P hoặc mịn hơn 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

Số hóa bởi trung tâm học liệu
8
Ví dụ về Quan hệ bất khả phân biệt:

Tuổi
Số buổi
Thi đậu
x
1
16 – 30

50
Yes
x
2
16 – 30
0
No
x
3
31 – 45
1 – 25
No
x
4
31 – 45
1 – 25
yes
x
5
45 – 60
26 – 49
No
x
6
16 – 30
26 – 49
Yes
x
7
46 – 60

26 – 49
No

- Quan hệ bất khả phân biệt theo tuổi là:
IND({Tuổi})= {{x
1
, x
2
, x
6
},{x
3
, x
4
},{x
5
, x
7
};
- Quan hệ bất khả phân biệt theo số buổi là:
IND({số buổi})={{x
1
},{x
2
},{x
3
, x
4
},{x
5

, x
6
, x
7
}}
- Quan hệ bất khả phân biệt theo tuổi và số buổi là:
IND({Tuổi, số buổi})={{x
1
},{x
2
},{x
3
, x
4
},{x
5
, x
7
},{x
6
}};
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 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.
* Mục đích:
- Chỉ ra được khách hàng nào có thuộc tính quyết định có giá trị dương.
- Chỉ ra được khách hàng nào có thuộc tính quyết định không có giá

trị dương.

Số hóa bởi trung tâm học liệu
9
- Những khách hàng nào thuộc vào vùng biên giữa các trường hợp
chắc chắn.
1.3.4. Ứng dụng của tập thô (reduct)
+ Dùng để khắc phục hiện tượng dữ liệu dùng để KPDL bị nhiễu
+ Rút gọn dữ liệu (khử dữ liệu thừa)
+ Tạo luật quyết định
+ Nhận diện phụ thuộc riêng phần và toàn phần của các thuộc tính
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 U là tập các đối tượng, khi đó các tập
P
X = {x U:
x
p

X} tương ứng được gọi là P – xấp xỉ dưới của X trong IS; và
P
X = {x U:
x
p
X } tương ứng được gọi là P – xấp xỉ trên của X trong IS.
Tập BN
p
(X) =
P
X -

P
X được gọi là vùng P – biên của X, chứa các
đối tượng không thể phân lớp chắc chắn vào X theo P.
Tập U -
P
X được gọi là vùng P – ngoài của X, chứa các đối tượng
chắn chắn được phân lớp không thuộc về X.
Một tập được gọi là thô (rough) nếu vùng biên của nó khác rỗng, ngược
lại tập là rõ (crisp). Nghĩa là nếu BN
p
(X) = (tức
P
X -
P
X) thì X được gọi
là tập rõ, ngược lại nếu BN
p
(X) X được gọi là tập thô.
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ồ như sau:
(1) X được gọi là P – định nghĩa được một cách thô nếu và chỉ nếu
P
X và
P
X U.
(2) X được gọi là P – không định nghĩa được một cách nội vi nếu và chỉ
nếu
P
X = và
P

X U.

Số hóa bởi trung tâm học liệu
10
(3) X được gọi là P – không định nghĩa được một cách ngoại vi nếu và
chỉ nếu
P
X và
P
X = U.
(4) X là không xác định hoàn toàn nếu và chỉ nếu
P
X = và
P
X = U.
Đố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 =
X
1
p


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


XX
p
j
P
J
X

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

XX
p
j
P
J
X

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 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 X
P
1
, , X
P
m
của quan hệ
IND(P);
Bước 2: Đặt
P
X = ;
Bước 3: For j = 1 to m do
Begin
If X
P
J
X then
P
X =
P
X X
P
J
;
If X
P
J
X then
P
(X) =

P
(X) X
P
J
;
End;

Số hóa bởi trung tâm học liệu
11
Kết thúc
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 sau:
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

Giả sử, chọn P = {a
1
, a
2
, a
3
}, X = {x
3
, x
4
, x
5
}
Ta có: U/P = {X
P
1
, X
P
4
} với X
P
1
= {x
1
}, X
P

2
= {x
2
, x
3
, x
4
}, X
P
3
= {x
5
},
X
P
4
= {x
6
}. Suy ra:
P
X = X
P
3
= {x
5
};
P
(X) = {X
P
2

, X
P
3
} = {x
2
, x
3
, x
4
, x
5
}.

P
(X)
P
X, nên ta có X là tập thô.
Ví dụ 1.4 Xét hệ thông tin trong bảng sau:

Tuổi
Số buổi
Thi đậu
x
1
16 – 30
50
Yes
x
2
16 – 30

0
No
x
3
31 - 45
1 – 25
No
x
4
31 – 45
1 – 25
yes
x
5
45 – 60
26 – 49
No
x
6
16 – 30
26 – 49
Yes
x
7
46 – 60
26 – 49
No

Số hóa bởi trung tâm học liệu
12

Gọi tập các đối tượng X = {x|thi đậu(x) = Yes}  X = {x
1
, x
4
, x
6
} và P
= {Độ tuổi, số buổi}
Quan hệ bất khả phân biệt theo Độ tuổi và số buổi là:
IND({Độ_tuổi, số_buổi}) = {{x
1
}; {x
2
}; {x
3
,x
4
}; {x
5
; x
7
}; {x
6
}}
Suy ra:
P
X = {x
1
, x
6

};
P
(X) = {x
1
, x
3
, x
4
, x
6
}; PN
A
(X) = {x
3
, x
4
}, Ta
có: U/
P
(X) = {x
2
, x
5
, x
7
}
Như vậy lớp quyết định Thi_đậu là thô vì vùng biên khác rỗng.


Một số tính chất của xấp xỉ tập hợp:

1.
P
X X
P
X
2.
P
=
P
= ;
P
U =
P
U = U
3.
P
(X Y) =
P
X
P
Y
4.
P
(X Y) =
P
X
P
Y
5. Nếu X Y thì
P

X
P
Y,
P
X
P
Y
6.
P
(X Y)
P
X
P
Y
7.
P
(X Y)
P
X
P
Y
8.
P
(U-X) = U -
P
X
yes
yes/no
no
{{x

1
},{x
6
}}
{{x
3
,x
4
}}
{{x
2
}, {x
5
,x
7
}}
P
X
P
(X)

Số hóa bởi trung tâm học liệu
13
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)
* Độ chính xác của tập thô:

Với
+ Nếu X là rõ so với P.
+ Nếu X là thô so với P.
1.3.5. Bảng quyết định
Bảng quyết định (Decision Table) là công cụ hỗ trợ ra quyết định khi
có nhiều lựa chọn được đưa ra và có nhiều điều kiện tác động lên lựa chọn.
Bảng quyết định được sử dụng phổ biến trong rất nhiều lĩnh vực như phân
tích kinh doanh, quản lý, chăm sóc khách hàng… bởi tính đơn giản và hiệu

quả. Một bảng quyết định gồm 4 phần như sau:
Condition statements
Condition entries
Action statements
Action entries

Trong đó
Condition statements: Các điều kiện (nguyên nhân - Cause)
Condition entries: Các kết hợp (combination) giữa các Condition
statements còn gọi là các luật (rules)
Action statements: Các hành động (kết quả mong muốn- Effect)
Action entries: Mối liên hệ giữa Condition statements và Action
statements, cho biết hành động nào sẽ được thực hiện khi các điều kiện tương
ứng thỏa mãn.
Bảng quyết định là 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à
|)(|
|)(|
)(
XP
XP
X
P
.10
P
,1)(X
P
,1)(X
P


Số hóa bởi trung tâm học liệu
14
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.
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/j gọi 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.5: Cho bảng quyết định sau:
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
x
5
1
2
2
1
x
11
3
3
3
3
x
6
2
2

1
1
x
12
3
3
3
3

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 các 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
},

Số hóa bởi trung tâm học liệu

15
D
3
= {x
7
, x
8
, x
9
, x
10
}, D
4
= {x
11
, x
12
}. Khi đó, ta dễ dàng thấy rằng bảng
quyết định (hay viết tắt DS) là bảng quyết định nhất quán.
1.3.6. Các bước để xây dựng bảng quyết định
- Xác định tất cả các điều kiện
- Xác định tất cả các hành động
- Tính số kết hợp giữa các điều kiện
- Điền các kết hợp (rule) vào bảng
- Loại bỏ các kết hợp không cần thiết (hợp xung đột hoặc dư thừa)
- Điền các hành động (action) vào bảng tương ứng với các kết hợp
Bảng quyết định có nhiều loại, trong đó phổ biến và đơn giản nhất là
bảng quyết định giới hạn (Limited Entry Table). Với bảng quyết định loại
này, điều kiện (condition) được thỏa mãn một cách đầy đủ và hành động
(action) được thực hiện một cách trọn vẹn. Các ký hiệu sau đây dùng để mô tả

trong bảng quyết định này:
Y : Điều kiện thỏa mãn
N :Điều kiện không thỏa mãn
- : Điều kiện hoặc hành động không áp dụng
X : Hành động được thực hiện
Ví dụ 1.6: Một ngân hàng sử dụng các nguyên tắc sau đây để phân loại
tài khoản ngân hàng mới mở:
a) Nếu người gửi tiền có tuổi >=21 và số tiền gửi >=100 thì đó là
TK loại A
b) Nếu người gửi tiền có tuổi <21 số tiền gửi >=100 thì đó là TK loại B
c) Nếu người gửi tiền có tuổi >=21 và số tiền gửi <100 thì đó là
TK loại C
d) Nếu người gửi tiền có tuổi <21 số tiền gửi <100 thì không mở
tài khoản

Số hóa bởi trung tâm học liệu
16
Để giải quyết bài toán này, nhân viên ngân hàng xây dựng bảng quyết
định như sau:
- Xác định các điều kiện: Có 2 điều kiện
C1: Age>=21
C2: Deposit>=100
- Xác định hành động:
+ Phân loại các tài khoản mới mở là A,B,C hoặc không mở TK
+ Xác định các kết hợp (Rules): Có 2 điều kiện và mỗi điều kiện có 2
giá trị (Y/N) nên có tất cả là 4 kết hợp.
- Ta có bảng quyết định như sau:
CONDITIONS
Rule 1
Rule 2

Rule 3
Rule 4
C
1:
Age>=21

Y
N
Y
N
C
2:
Deposit>=100

Y
Y
N
N

ACTIONS
Rule 1
Rule 2
Rule 3
Rule 4
A
1
:

Classify as A
X

-
-
-
A
2
:

Classify as B
-
X
-
-
A
3
: Classify as C
-
-
X
-
A
4
: Do not open
Account

-
-
-
X

1.3.7. 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 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. Độ hỗ trợ và độ tin cậy
là hai độ đo mức độ quan tâm của luật 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

Số hóa bởi trung tâm học liệu
17
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.
Định nghĩa 1.4: Cho bảng quyết định DS = (U, C D), giả sử U/C =
{X
1
, X
2
,…, X
m
} và U/D = {Y
1
, Y
2
, …, Y
n
} tương ứng là các phân hoạch được
sinh bởi C, D. Nếu X
i
Y

j
, ký hiệu là des(X
i
), des(Y
j
) lần lượt là các mô
tả của các lớp tương đương ứng với X
i
, Y
j
. Một luật quyết định được xác định
bởi X
i
, Y
j
có dạng: Z
ij
: des(X
i
) des(Y
j
), ở đây X
i
U/C, Y
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ử X
i


U/C, Y
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 được sinh bởi C, D. Độ hỗ trợ,
độ chính xác và độ phủ của luật quyết định des(X
i
) des(Y
j
) tương ứng
được định nghĩa như sau:
Độ hỗ trợ (support): sup(X
i
, Y
j
) = |X
i
Y
j
|
Độ chính xác (Accuracy): acc(X
i
, Y
j
) =
Xi
YjXi

Độ phủ (Coverage): Cov(X
i
, Y

j
) =
Yj
YjXi

Ở đây |.| là bản số hay lực lượng của một tập hợp. Hiển nhiên, ta có:
0 acc(X
i
, Y
j
) 1 và
n
j
acc
1
(X
i
, Y
j
) = 1
0 cov(X
i
, Y
j
) 1 và
m
i 1
cov
(X
i

, Y
j
) = 1
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 ma trận.

Số hóa bởi trung tâm học liệu
18
Chú ý:
+ Nếu X
i
Y
j
là một luật quyết định thì Y
j
X
i
được gọi là luật quyết
định ngược 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. 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.
+ Nếu acc(X
i
, Y
j
) = 1 thì X
i

C
Y

j
và nếu Cov(X
i
, Y
j
) = 1 thì X
i

C
Y
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ể
đượ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 1.6: Cho bảng quyết định DS = (U, C D), X
i
U/C,
Y
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, X
i
Y
j
là một luật quyết định trong
DS(i=1,…,m; j=1,…,n).
Nếu Acc(X
i
, Y
j

) = 1 thì X
i
Y
j
được gọi là luật quyết định chắc
chắn; Nếu 0 < Acc(X
i
, Y
j
) < 1 thì X
i
Y
j
được gọi là luật quyết định
không chắc chắn.
Định nghĩa 1.7: Giả sử X
i
U/C; Y
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(X
i
, Y
j
) và Cov(X
i
, Y
j
) thì ta gọi luật X

i
Y
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 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 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 đi khi ta tăng giá trị của , và
ngược lại.

×