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 (788.37 KB, 61 trang )

Header Page 1 of 126.

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
Footer Page 1 of 126.

/>

Header Page 2 of 126.

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
Footer Page 2 of 126.

/>

Header Page 3 of 126.

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
Footer Page 3 of 126.

/>

Header Page 4 of 126.

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
Footer Page 4 of 126.

/>

Header Page 5 of 126.

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
Footer Page 5 of 126.

/>

Header Page 6 of 126.

v
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
Ký hiệu

Ý nghĩa

BNp(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(Ci, Dj)

Độ hỗ trợ của luật quyết định Ci

Cov(Ci, Dj)

Độ phủ của luật quyết định Ci

Acc(Ci, Dj)

Độ chính xác của luật quyết định Ci

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 Ci

Sup(t)(C, D)

Dj


Dj

Dj

Ma trận Độ phủ tại thời điểm t của tất cả luật quyết định
Ci

Dj

Số hóa bởi trung tâm học liệu
Footer Page 6 of 126.

Dj

Ma trận Độ hỗ trợ tại thời điểm t của tất cả luật quyết
định Ci

Cov(t)(C, D)

Dj

/>

Header Page 7 of 126.

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
Footer Page 7 of 126.

/>

Header Page 8 of 126.

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
Footer Page 8 of 126.

/>

Header Page 9 of 126.

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
Footer Page 9 of 126.

/>

Header Page 10 of 126.


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
Footer Page 10 of 126.


/>

Header Page 11 of 126.

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
Footer Page 11 of 126.

/>

Header Page 12 of 126.

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
cho

x

U,

a


A

V là hàm thông tin sao

Va (là tập giá trị của thuộc tính a).

A Ta có f(x,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

a1

a1

a3

U


a1

A2

a3

x1

1

1

1

x7

2

2

2

x2

1

2

1


x8

2

3

3

x3

1

2

1

x9

2

3

3

x4

1

2


1

x10

2

3

3

x5

1

2

2

x11

3

3

3

x6

2


2

1

x12

3

3

3

Khi đó ta có:
Tập các đối tượng U = {x1, ...., x12}
Tập các thuộc tính A = {a1, a2, a3}

Số hóa bởi trung tâm học liệu
Footer Page 12 of 126.

/>

Header Page 13 of 126.

6
Tập các giá trị thuộc tính

a

A ta có Va = {1, 2, 3}


f(x1, a1) = 1; f(x2, a2) = 2.. tương ứng là các giá trị của các đối tượng x1,
x2 trên các thuộc tính a1, a2,...
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}).
a p

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à
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 {X1p,…, Xmp} của quan hệ IND(P)
Số hóa bởi trung tâm học liệu
Footer Page 13 of 126.

/>

Header Page 14 of 126.

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 X11 = p…..= p X11 < pX12 = p…. = pXi22 < p…< pX1m = p…= pXimm
Trong đó 0 < m

|U|, 0 < i1, … im

|U|, i1 + i2 + …+ im = |U|

Bước 2: Đặt Xjp = {x1j, x2j, …, xijj} ở đó j = 1, 2, …, m. Khi đó, các tập

X1p, …, Xmp 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

a1

A2

A3

U

a1

A2

a3

x1

1

1


1

X7

2

2

2

x2

1

2

1

X8

2

3

3

x3

1


2

1

X9

2

3

3

x4

1

2

1

X10

2

3

3

x5


1

2

2

X11

3

3

3

x6

2

2

1

X12

3

3

3


Giả sử, chọn P = {a1, a2}, ta dễ dàng thu được một phân hoạch của U
được sinh bởi P là:
U/P = {{x1}, {x2, x3, x4, x5}, {x6, x7}, {x8, x9, x10}, {x11, x12}}
Định nghĩa 1.2

Cho hệ thông tin IS = (U, A, V, f), P, Q

A là tập các thuộc tính, U/P

= {P1, …, Pm}, U/Q = {Q1, …, Qn} là các phân hoạch được sinh bởi P, Q, ta
nói Q thô hơn P hoặc mịn hơn Q khi và chỉ khi
..., m; j = 1, …, n) sao cho Pi

Số hóa bởi trung tâm học liệu
Footer Page 14 of 126.

Pi

U/P,

Qj

U/Q (i= 1,

Qj

/>

Header Page 15 of 126.


8
Ví dụ về Quan hệ bất khả phân biệt:
Tuổi

Số buổi

Thi đậu

x1

16 – 30

50

Yes

x2

16 – 30

0

No

x3

31 – 45

1 – 25


No

x4

31 – 45

1 – 25

yes

x5

45 – 60

26 – 49

No

x6

16 – 30

26 – 49

Yes

x7

46 – 60


26 – 49

No

- Quan hệ bất khả phân biệt theo tuổi là:
IND({Tuổi})= {{x1, x2, x6},{x3, x4},{x5, x7};
- Quan hệ bất khả phân biệt theo số buổi là:
IND({số buổi})={{x1},{x2},{x3, x4},{x5, x6, x7}}
- Quan hệ bất khả phân biệt theo tuổi và số buổi là:
IND({Tuổi, số buổi})={{x1},{x2},{x3, x4},{x5, x7},{x6}};
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
Footer Page 15 of 126.

/>

Header Page 16 of 126.

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
thuộc tính, X

A là tập các

U là tập các đối tượng, khi đó các tập P X = {x

U: x

X} tương ứng được gọi là P – xấp xỉ dưới của X trong IS; và P X = {x
x

p

X

p

U:

} tương ứng được gọi là P – xấp xỉ trên của X trong IS.


Tập BNp(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 BNp(X) =
là tập rõ, ngược lại nếu BNp(X)

(tức P X - P X) thì X được gọi

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
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 nếu và chỉ
nếu P X =

và P X

U.

Số hóa bởi trung tâm học liệu
Footer Page 16 of 126.


/>

Header Page 17 of 126.

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 =
Đối với hệ thông tin bất kỳ IS = (U, A, V, f) và P

và P X = U.

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 =
X1p



Xmp. Khi đó, với tập bất kỳ X

P X = {x

U: [x]p

X} =


X

X JP

P X = {x

U: [x]p

X

U, ta có:

p
j

X

}=

X

X JP

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

X then P X = P X

If X PJ

X

X PJ ;


then P (X) = P (X)

X PJ ;

End;
Số hóa bởi trung tâm học liệu
Footer Page 17 of 126.

/>

Header Page 18 of 126.

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

a1

A2

a3

U


a1

a2

a3

x1

1

1

1

x7

2

2

2

x2

1

2

1


x8

2

3

3

x3

1

2

1

x9

2

3

3

x4

1

2


1

x10

2

3

3

x5

1

2

2

x11

3

3

3

x6

2


2

1

x12

3

3

3

Giả sử, chọn P = {a1, a2, a3}, X = {x3, x4, x5}
Ta có: U/P = {X 1P , .... X 4P } với X 1P = {x1}, X 2P = {x2, x3, x4}, X 3P = {x5},
X 4P = {x6}. Suy ra: P X = X 3P = {x5}; P (X) = {X 2P , X 3P } = {x2, x3, x4, x5}.
Vì 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

x1

16 – 30


50

Yes

x2

16 – 30

0

No

x3

31 - 45

1 – 25

No

x4

31 – 45

1 – 25

yes

x5


45 – 60

26 – 49

No

x6

16 – 30

26 – 49

Yes

x7

46 – 60

26 – 49

No

Số hóa bởi trung tâm học liệu
Footer Page 18 of 126.

/>

Header Page 19 of 126.

12

Gọi tập các đối tượng X = {x|thi đậu(x) = Yes}  X = {x1, x4, x6} 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}) = {{x1}; {x2}; {x3,x4}; {x5; x7}; {x6}}
Suy ra: P X = {x1, x6}; P (X) = {x1, x3, x4, x6}; PNA(X) = {x3, x4}, Ta
có: U/ P (X) = {x2, x5, x7}
Như vậy lớp quyết định Thi_đậu là thô vì vùng biên khác rỗng.

{{x2}, {x5,x7}}
P (X)

{{x3,x4}}
yes

PX

{{x1},{x6}}

yes/no

no
Một số tính chất của xấp xỉ tập hợp:
1. P X X
PX
2. P

= P

= ; PU = PU = U


3. P (X

Y) = P X

PY

4. P (X

Y) = P X

PY

5. Nếu X

Y thì P X

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

Y)

PX

PX

P Y, P X

PY

PY


PY

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

Số hóa bởi trung tâm học liệu
Footer Page 19 of 126.

/>

Header Page 20 of 126.

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ô:
P

(X )

| P( X ) |
| P( X ) |

Với

0

+ Nếu


P

(X ) 1,

+ Nếu

P

(X ) 1, X là thô so với P.

P

1.

X là rõ 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à

Số hóa bởi trung tâm học liệu
Footer Page 20 of 126.

/>

Header Page 21 of 126.

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 = {C1, C2, ...., Cm} và U/j gọi D = {D1, D2, ..., Dn} tương
ứng là các phân hoạch được sinh bởi tập các thuộc tính điều kiện C và tập các
thuộc tính quyết định D,

i = 1, ..., m;


j = 1, ..., n thì Ci, Dj tương ứng được

gọi là các lớp tương đương điều kiện và các lớp tương đương quyết định.
Một lớp tương đương điều kiện Ci

U/C gọi là nhất quán nếu

x,

d D thì f(x, d) = f(y,d); một lớp tương đương quyết định gọi là nhất

y Ci,

quán nếu

x,y Dj,

a C thì f(x, a) = f(y, a).

Một bảng quyết định gọi là nhất quán nếu mỗi lớp tương đương điều
kiện là nhất quán. Ngược lại gọi là bảng quyết định không nhất quán.
Ví dụ 1.5: Cho bảng quyết định sau:
U

a1

A2

A3


d

U

a1

a2

a3

d

x1

1

1

1

0

x7

2

2

2


2

x2

1

2

1

0

x8

2

3

3

2

x3

1

2

1


0

x9

2

3

3

2

x4

1

2

1

0

x10

2

3

3


2

x5

1

2

2

1

x11

3

3

3

3

x6

2

2

1


1

x12

3

3

3

3

Trong đó C = {a1, a2, a3}, 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 = {C1, C2, ..., C7} với C1 = {x1}, C2 = {x2, x3, x4}, C3 =
{x5}, C4 = {x6}, C5 = {x7}, C6 = {x8, x9, x10}, C7 = {x11, x12};
U/D = {D1, D2, D3, D4} với D1 = {x1, x2, x3, x4}, D2 = {x5, x6},

Số hóa bởi trung tâm học liệu
Footer Page 21 of 126.

/>

Header Page 22 of 126.

15
D3 = {x7, x8, x9, x10}, D4 = {x11, x12}. 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
Footer Page 22 of 126.

/>

Header Page 23 of 126.


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

C1: Age>=21

Y

N

Y

N


C2: Deposit>=100

Y

Y

N

N

ACTIONS

Rule 1

Rule 2

Rule 3

Rule 4

A1: Classify as A

X

-

-

-


A2: Classify as B

-

X

-

-

A3: Classify as C

-

-

X

-

-

-

-

X

A4: Do not open

Account
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
Footer Page 23 of 126.

/>

Header Page 24 of 126.

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 =
{X1, X2,…, Xm} và U/D = {Y1, Y2, …, Yn} tương ứng là các phân hoạch được
sinh bởi C, D. Nếu Xi

, ký hiệu là des(Xi), des(Yj) lần lượt là các mô

Yj


tả của các lớp tương đương ứng với Xi, Yj. Một luật quyết định được xác định
bởi Xi , Yj có dạng: Zij: des(Xi)

des(Yj), ở đây Xi

U/C, Yj

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ử Xi
U/C, Yj

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(Xi)

des(Yj) tương ứng

được định nghĩa như sau:
Độ hỗ trợ (support): sup(Xi, Yj) = |Xi

Yj|
Xi

Độ chính xác (Accuracy): acc(Xi, Yj) =
Độ phủ (Coverage): Cov(Xi, Yj) =

Yj

Xi

Xi

Yj
Yj

Ở đây |.| là bản số hay lực lượng của một tập hợp. Hiển nhiên, ta có:
n

0

acc(Xi, Yj) 1 và

acc (Xi, Yj) = 1
j 1

m

0

cov(Xi, Yj) 1 và

cov (Xi, Yj) = 1
i 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
Footer Page 24 of 126.


/>

Header Page 25 of 126.

18

Chú ý:
+ Nếu Xi

Yj là một luật quyết định thì Yj

Xi đượ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(Xi, Yj) = 1 thì Xi

C Yj và nếu Cov(Xi, Yj) = 1 thì Xi C Yj.

Đ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), Xi U/C,
Yj 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, Xi

Yj là một luật quyết định trong

DS(i=1,…,m; j=1,…,n).

Yj được gọi là luật quyết định chắc

Nếu Acc(Xi, Yj) = 1 thì X i

Yj được gọi là luật quyết định

chắn; Nếu 0 < Acc(Xi, Yj) < 1 thì X i
không chắc chắn.
Định nghĩa 1.7: Giả sử Xi

U/C; Yj 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(Xi, Yj)

và Cov(Xi, Yj)

quyết định có ý nghĩa, trong đó

,

thì ta gọi luật Xi

Yj là luật

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

,

ngược lại.
Số hóa bởi trung tâm học liệu
Footer Page 25 of 126.

/>



×