Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
I H C QU C GIA THÀNH PH H CHÍ MINHĐẠ Ọ Ố Ố Ồ
TR NG I H C CÔNG NGH THÔNG TINƯỜ ĐẠ Ọ Ệ
BÀI TI U LU N MÔN: PH NG PHÁP TOÁN TRONG TIN H CỂ Ậ ƯƠ Ọ
LÝ THUY T T P THÔ VÀ KHAI PHÁ LU T K TẾ Ậ Ậ Ế
H PỢ
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 1
1.1.1.1.1.1.1.1
MSSV: CH1201051
H tên: Di p Thanh Nguyênọ ệ
L p: Cao h c khóa 7ớ ọ
GVHD: PGS.TS. V Thanh Nguyênũ
MSSV: CH1201051
H tên: Di p Thanh Nguyênọ ệ
L p: Cao h c khóa 7ớ ọ
GVHD: PGS.TS. V Thanh Nguyênũ
MSSV: CH1301118
H tên: Nguy n Ng c V ngọ ễ ọ ọ
GVHD: TS. D ng Tôn mươ Đả
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Tp.HCM, Tháng 11/2014
LỜI NÓI ĐẦU
Ngày nay, phát hiện tri thức (Knowledge Discover) và khai phá dữ liệu (Data
mining) là ngành khoa học đang ngày được quan tâm nghiên cứu và phát triển do những
ứng dụng thiết thực mà nó mang lại. Tuy nhiên, thông thường dữ liệu lớn yêu cầu cần phải
khai thác một cách có hệ thống, phân loại dữ liệu sẽ quyết định đến hiệu quả. Đó cũng là
một trong những mục đích của lý thuyết tập thô.
Lý thuyết tập thô được nhà logic học BaLan Zdzislak Pawlak giới thiệu vào đầu
những năm 80, bài toán kinh điển của ông là Rough Sets xuất bản năm 1982, được xem là
một cách tiếp cận mới để phát hiện tri thức. Nó cung cấp một công cụ để phân tích, trích
chọn dữ liệu từ các dữ liệu không chính xác để phát hiện ra mối quan hệ giữa các đối
tượng và những tiềm ẩn trong dữ liệu.
Qua môn học phương pháp toán trong tin học, người viết đã được tìm hiểu về lý
thuyết tập thô, trong đó có thế ứng dụng vào các bài toán với dữ liệu lớn giúp làm giảm đi
mức độ đồ sộ của hệ thống dữ liệu. Vì thế, người viết chọn đề tài lý thuyết tập thô và ứng
dụng vào data mining để trình bày một số hiểu biết của mình.
Nhân đây, xin gửi lời cảm ơn chân thành đến TS Dương Tôn Đảm trường Đại học
Công Nghệ Thông Tin đã tận tình giảng dạy, hướng dẫn để người viết hiểu thêm và hoàn
thành tiểu luận này.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 2
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
NHẬN XÉT CỦA GIẢNG VIÊN
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 3
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
MỤC LỤC
LỜI NÓI ĐẦU 1
NHẬN XÉT CỦA GIẢNG VIÊN 2
MỤC LỤC 3
Ph n 1. C S LÝ THUY T ầ Ơ Ở Ế 5
1.1 H th ng thông tin và t p thôệ ố ậ 5
1.2 Thu t toán tìm t p rút g nậ ậ ọ 14
Ph n 2. LU T K T H P VÀ THU T TOÁN APRIORIầ Ậ Ế Ợ Ậ 22
2.1 Khái ni m v lu t và lu t k t h pệ ề ậ ậ ế ợ 22
2.2 M t s tính ch t c a t p m c ph bi n và lu t k t h pộ ố ấ ủ ậ ụ ổ ế ậ ế ợ 24
2.3 Thu t toán Aprioriậ 26
Ph n 3. CH NG TRÌNH DEMO APRIORIầ ƯƠ 32
3.1 Giao di n ch ng trìnhệ ươ 32
3.2 S d ng ch ng trìnhử ụ ươ 32
3.3 Xây d ng l p Aprioriự ớ 32
3.4 Xây d ng LargeItemSetự 33
KẾT LUẬN 35
TÀI LIỆU THAM KHẢO 36
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 4
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Phần 1. CƠ SỞ LÝ THUYẾT
1.1 Hệ thống thông tin và tập thô
1.1.1 Hệ thống thông tin
Một tập dữ liệu được biểu diễn dưới dạng một bảng, trên đó mỗi hàng biểu diễn thông tin
ứng với một đối tượng, mỗi cột biểu diễn một thuộc tính có thể đo được của mỗi đối
tượng, bảng này gọi là bảng hệ thống thông tin. Hệ thống thông tin là một cặp S = (U, A),
U là một tập hữu hạn khác rỗng các đối tượng gọi là tập vũ trụ hay là tập phổ dụng , A là
một tập hữu hạn khác rỗng các thuộc tính. Với mỗi u є U và a є A, ta ký hiệu u(a) là giá trị
của đối tượng u tại thuộc tính a. Nếu gọi I
a
là tập tất cả giá trị của thuộc tính a, thì u(a) є I
a
với mọi u є U. Bây giờ, nếu B = {b
1
, b
2
, . . ,b
k
} ⊆ A, ta ký hiệu bộ các giá trị u(b
i
) bởi u(B).
Như vậy, nếu u và v là hai đối tượng thì ta sẽ viết u(B)=v(B) nếu u(b
i
) = v(b
i
), với mọi i =1,
2, . . , k.
1.1.2 Quan hệ không phân biệt được
Xét hệ thống thông tin S = (U, A), với mỗi tập thuộc tính B ⊆ A tạo ra một quan hệ hai
ngôi trên U, ký hiệu IND(B).
IND(B) = {(u, v) є U x U | u(a) = v(a), ∀a є B}
IND(B) được gọi là quan hệ B_không phân biệt được. Dễ kiểm chứng đây là một quan hệ
tương đương trên U. Với mọi đối tượng u є U, lớp tương đương của u trong quan hệ
IND(B) được kí hiệu bởi [u]
B
. Tập thương xác định bởi quan hệ IND(B) được ký hiệu
U/IND(B) hay U/B, tức là U/IND(B) = U/B = {[u]
B
| u є U}.
Ví dụ 1.1: Xét hệ thống thông tin cho ở bảng 1.1
U Đau đầu Đau cơ Sốt Cúm
x
1
Không Có Cao Có
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 5
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
x
2
Có Không Cao Có
x
3
Có Có Rất cao Có
x
4
Không Có Bình thường Không
x
5
Có Không Cao Không
x
6
Không Có Rất cao Có
Bảng 1.1. Bảng dữ liệu bệnh cúm
Trong đó:
Tập đối tượng U = {x
1
, x
2
, x
3
, x
4
, x
5
, x
6
}
Tập thuộc tính A = {Đau đầu, Đau cơ, Sốt, Cúm}.
Trong bảng, các bệnh nhân x
2
, x
3
và x
5
không phân biệt được đối với thuộc tính Đau đầu,
bệnh nhân x
3
và x
6
không phân biệt được đối với thuộc tính Đau cơ, Sốt và Cúm, và bệnh
nhân x
2
, x
5
không phân biệt được đối với thuộc tính Đau đầu, Đau cơ và Sốt.
Do đó
IND({Đau đầu})={{x
1
, x
4
, x
6
},{x
2
, x
3
, x
5
}};
IND({Đau cơ})={{x
1
, x
3
, x
4
, x
6
},{x
2
, x
5
}};
IND({Sốt})={{x
1
, x
2
, x
5
},{x
3
, x
6
},{x
4
}};
IND({Cúm})={{x
1
, x
2
, x
3
, x
6
},{x
4
, x
5
}};
IND({Đau đầu, đau cơ})={{x
1
, x
4
, x
6
},{x
2
, x
5
},{x
3
}};
IND({Đau đầu, Sốt})={{x
1
},{x
2
, x
5
},{x
3
},{x
4
},{x
6
}};
IND({Đau đầu, Cúm})={{x
1
, x
6
},{x
2
, x
3
},{x
4
},{x
5
}};
Tương tự cho các cặp thuộc tính khác.
Ví dụ 1.2: Xét tập 10 đồ chơi với các thuộc tính: Màu sắc, kích thước, hình dáng được cho
trong bảng sau:
U Màu sắc Kích thước Hình dáng
u
1
Xanh To Tròn
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 6
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
u
2
Xanh Nhỏ Tròn
u
3
Vàng Vừa Vuông
u
4
Đỏ Vừa Vuông
u
5
Vàng To Tam giác
u
6
Xanh Nhỏ Tròn
u
7
Đỏ Nhỏ Tam giác
u
8
Đỏ To Tam giác
u
9
Vàng To Vuông
u
10
Xanh Vừa Tròn
Bảng 1.2. Bảng dữ liệu bệnh cúm
Trong đó:
Tập đối tượng U = {u
1
, u
2
, u
3
, u
4
, u
5
, u
6
, u
7
, u
8
, u
9
, u
10
};
Tập thuộc tính A = {Màu sắc, kích thước, Hình dáng}.
Trong bảng trên các đồ chơi u
1
, u
2
, u
10
không phân biệt được về màu sắc và hình dáng,
nhưng phân biệt được về kích thước. Tương tự các đồ chơi u
3
, u
4
không phân biệt được
Kích thước và hình dáng nhưng phân biệt được về màu sắc.
Do đó:
U/{Màu sắc} = {{u
1
, u
2
, u
6
, u
10
},{u
3
, u
5
, u
9
},{u
4
, u
7
, u
8
}};
U/{kích thước} = {{u
1
, u
5
, u
8
, u
9
},{u
2
, u
6
, u
7
},{u
3
, u
4
, u
10
}};
U/{Hình dáng} = {{u
1
, u
2
, u
6
, u
10
},{u
3
, u
4
, u
9
},{u
5
, u
7
, u
8
}}.
1.1.3 Tập thô
Trong lý thuyết tập thô, để biểu diễn một tập hợp bằng tri thức được cho xác định bởi một
tập thuộc tính, người ta định nghĩa hai phép xấp xỉ:
Cho một hệ thống thông tin S = (U, A), với mỗi tập con X ⊆ U và B ⊆ A, ký hiệu R =
IND(B), ta có 2 tập con sau:
R(X) = {u є U | {[u]
B
⊆ X}
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 7
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
(X) = {u є U | {[u]
B
∩ X≠ ∅}
R(X) và (X) lần lượt gọi là R-xấp xỉ dưới và R-xấp xỉ trên của tập X.
Tập R(X) bao gồm các phần tử của U chắc chắn thuộc vào X.
Tập (X) bao gồm các phần tử của U có khả năng được phân loại vào những phần tử
thuộc X ứng với quan hệ R.
Từ hai tập xấp xỉ người ta định nghĩa các tập:
BN
B
(X) = (X) - R(X): B- miền biên của X.
POS
B
(X) = R(X) : B- vùng dương của X.
NEG
B
(X) = U - (X): B- vùng âm của X.
Ký hiệu tập thương của IND(B) trên U là U/B, các xấp xỉ trên, xấp xỉ dưới của X có thể
viết lại:
R(X) = ∪{W є U/B | W ⊆ X}
(X) = ∪ {W є U/B | X≠ ∅}
Trong trường hợp BN
B
(X) ≠ ,∅ X được gọi là tập thô, ngược lại X được gọi là tập rõ.
Hình 1.1. Minh họa tập thô
Đối với một hệ thống thông tin S = (U, A), B, D ⊆ A, ký hiệu R = IND(B), người ta gọi B-
miền khẳng định dương của D là tập được xác định như sau:
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 8
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Rõ ràng POS
B
(D) là tập tất cả các đối tượng u sao cho với mọi v є U mà u(B)= v(B) ta đều
có u(D) = v(D). Nói cách khác, POS
B
(D) = { u є U | [u]
B
⊆ [u]
D
}
1.1.4 Các tính chất của xấp xỉ
Định lý 1.1
Cho một hệ thống thông tin S = (U, A), ∀X, Y ⊆ U và B ⊆ A, đặt R = IND(B). Khi đó:
(1L) R(U) = U
(2L) R(∅) =∅
(2H)
(3L) R(X) ⊆ X
(3H) ⊇ X
(4L) R(X ∩ Y) = R(X) ∩ R(Y)
(4H)
(5L) R R(X) = R(X)
(5H)
(6)
R(U - X) = U -
(7L) X ⊆ Y ⟹ R(X) ⊆ R(Y)
(7H) X ⊆ Y ⟹ ⊆
(8L)
(8H)
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 9
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
(9L) ∀K ⊆ U /R, R(K)=K
(9H) ∀K ⊆ U /R,
Tính chất (3L), (4L) và (8L) là những tính chất đặc trưng cho phép xấp xỉ dưới, điều đó có
nghĩa là những tính chất khác của phép xấp xỉ dưới có thể suy dẫn từ ba tính chất này.
Tương tự, (3H), (4H) và (8H) là những tính chất đặc trưng của phép xấp xỉ trên.
1.1.5 Độ chính xác của xấp xỉ
Cho một hệ thống thông tin S = (U, A), với mỗi tập con X ⊆ U và B ⊆ A, đặt R = IND(B),
đại lượng đo sự chính xác của xấp xỉ X đối với phân hoạch trên B là giá trị
Trong đó card(X) = |X| là lực lượng (số phần tử) của tập X. Rõ ràng
Nếu α (X ) = 1, ta nói X là chính xác đối với R, còn α (X ) < 1, X gọi là thô đối với R.
1.1.6 Bảng quyết định
Bảng quyết định là một hệ thống thông tin có dạng T = (U, A) , trong đó tập thuộc tính A
được chia thành hai tập thuộc tính rời nhau C và D, C được gọi là tập thuộc tính điều kiện,
còn D là tập thuộc tính quyết định. Tức là T = (U, C ∪ D), với C ∩ D = .∅
Ví dụ 1.3: Hệ thống thông tin S = (U, A) biểu diễn tri thức về bệnh cúm được thể hiện
trong bảng 1.1 là một bảng quyết định T = (U, C ∪ D)
Trong đó :
U = {x
1
, x
2
, x
3
, x
4
, x
5
, x
6
} ;
A = {Đau đầu, đau cơ, sốt, cúm} ;
Tập thuộc tính điều kiện C = {Đau đầu, đau cơ, sốt} ;
Tập thuộc tính quyết định D = {Cúm}.
U Đau đầu Đau cơ Sốt Cúm
x
1
Không Có Cao Có
x
2
Có Không Cao Có
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 10
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
x
3
Có Có Rất cao Có
x
4
Không Có Bình thường Không
x
5
Có Không Cao Không
x
6
Không Có Rất cao Có
Bảng 1.3. Bảng quyết định
Cho một bảng quyết định T = (U, C ∪ D), giả sử U/C = {X
1
, X
2
, …X
m
} và U/D = {Y
1
, Y
2
,
…Y
m
}. Một lớp X
i
є U/C được gọi là nhất quán nếu u(d) = v(d), ∀u,v є X
i
, ∀d є D, lúc này
cũng có thể viết u(D) = v(D) = X
i
(D); một lớp Y
j
є U/D
được gọi là nhất quán ngược nếu
u(a) = v(a), ∀u,v є Y
j
, ∀a є C.
Một bảng quyết định T = (U, C ∪ D), là nhất quán nếu mọi lớp X
i
є U/C là nhất quán,
ngược lại T được gọi là không nhất quán. Vì vậy, ta có nếu thì T = (U, C ∪ D)
là nhất quán. Ngược lại thì T nhất quán ngược.
Có thể thấy bảng quyết định là nhất quán khi và chỉ khi POS
C
(D) = U.
Trong trường hợp bảng không nhất quán thì POS
C
(D) chính là tập con cực đại của U sao
cho phụ thuộc hàm C D đúng.
1.1.7 Rút gọn và nhân
Xét một bảng quyết định T = (U, C ∪ D).
Tập thuộc tính R ⊆ C được gọi là rút gọn của C nếu POS
R
(D) = POS
C
(D).
Nhân của tập thuộc tính điều kiện C ký hiệu CORE (C) được định nghĩa :
CORE(C) = ∩ RED(C)
RED(C) là tập hợp tất cả rút gọn của C.
Ngoài ra, người ta cũng định nghĩa rút gọn C – miền khẳng định dương của D:
Nếu B ⊆ C thỏa
B được gọi là rút gọn C – miền khẳng định dương của D.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 11
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
1.1.8 Ma trận phân biệt được và hàm phân biệt được
Xét bảng quyết định T = (U, C ∪ D), với U = {u
1
, u
2
, …,u
n
}. Ma trận phân biệt được của T
ký hiệu D
Dis
= (m
ij
)
nxm
là một ma trận đối xứng, trong đó mỗi phần tử của nó là một tập
thuộc tính được xác định như sau:
Hàm phân biệt được ƒ
T
là một hàm boole, được xác định từ ma trận phân biệt M(T) như
sau :
Trong đó, mỗi thuộc tính được đặt tương ứng một biến logic cùng tên và
Như vậy, m
ij
là tập hợp gồm tất cả các thuộc tính điều kiện có thể xếp các đối tượng u
i
và
u
j
vào các lớp tương đương khác nhau theo phân hoạch trên U đối với thuộc tính đó. Nếu
m
ij
= ∅ thì bảng quyết định là không nhất quán (có hai đối tượng u
i
và u
j
bằng nhau trên C
nhưng khác nhau trên D). Giá trị λ hàm ý rằng cặp đối tượng u
i
và u
j
không phân biệt trên
tập thuộc tính quyết định.
Nếu R là một rút gọn thì với mỗi a, b є R ta có Dis({a}≠Dis({b})).
Ví dụ 1.4: Xét bảng quyết định trong bảng 1.1, ma trận phân biệt được trong bảng 1.4,
trong đó các ký hiệu Đ, C, N tượng trưng cho các thuộc tính “Đau đầu”, “Đau cơ”, “Sốt”
U u1 u2 u3 u4 u5 u6
u1
λ
u2
λ λ
u3
λ λ λ
u4 {N} {Đ, C, N} {Đ, N}
λ
u5 {Đ, C}
∅
{C, N}
λ λ
u6
λ λ λ
{Đ, C, N}
λ
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 12
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Bảng 1.4. Ma trận phân biệt được xây dựng từ bảng 1.1
Từ ma trận phân biệt được trong bảng 1.4, ta có thể kết luận bảng quyết định cho bảng 1.1
là không nhất quán, vì m
25
= .∅
Ví dụ 1.5: Xét một bảng quyết định khác trong bảng 1.5
U Bằng cấp Kinh nghiệm Tiếng Anh Lời giới thiệu Tuyển dụng
x
1
Cao học 2-3 năm Lưu loát Xuất sắc Chấp nhận
x
2
Cao học 1 năm Lưu loát Bình thường Từ chối
x
3
Trung cấp 1 năm Lưu loát Tốt Từ chối
x
4
Đại học Hơn 3 năm Lưu loát Bình thường Chấp nhận
x
5
Đại học 2-3 năm Lưu loát Bình thường Từ chối
x
6
Đại học Hơn 3 năm Lưu loát Xuất sắc Chấp nhận
x
7
Cao học Hơn 3 năm Không Tốt Chấp nhận
x
8
Trung cấp 1 năm Không Xuất sắc Từ chối
Bảng 1.5. Ví dụ về bảng quyết định
Các ký hiệu b, k, t, l tương ứng với các thuộc tính “Bằng cấp”, “Kinh nghiệm”, “Tiếng
Anh”, “Lời giới thiệu”, dựa vào ma trận phân biệt được (bảng 1.6) ta có thể kết luận bảng
quyết định trong bảng 1.5 là nhất quán.
U x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
1
λ
x
2
{k,l}
λ
x
3
{b,k,l}
λ λ
x
4
λ
{b,k} {b,k,l}
λ
x
5
{b,l}
λ λ
{k}
λ
x
6
λ
{b,k,l} {b,k,l}
λ
{k,l}
λ
x
7
λ
{k,t,l} {b,k,t}
λ
{b,k,t,l}
λ λ
x
8
{b,k,t}
λ λ
{b,k,t,l}
λ
{b,k,t} {b,k,l}
λ
Bảng 1.6. ma trận phân biệt được xây dựng từ bảng 1.5
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 13
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
1.2 Thuật toán tìm tập rút gọn
1.2.1 Thuật toán sử dụng các phép toán đại số
1.2.1.1 Định nghĩa
Cho T = (C, D) là một bảng quyết định nhất quán. Thuộc tính c
j
є C được gọi là thuộc tính
lõi (hay không cần thiết) nếu
1.2.1.2 Thuật toán tìm nhân
Input : T = (C, D)
Outphut : tập nhân Core
Method:
1. Core :=0 ;
2. For c
j
є C do
3.
4. Core:=Core ∪ {c
j
};
Độ phức tạp của thuật toán là O(kn log n), với k = Card(C) và n = Card(U)
Ví dụ 1.6: Xét bảng quyết định được cho trong bảng 1.7 sau, lưu thông tin về 8 chiếc xe
hơi nhận được thông qua các thuộc tính điều kiện C = {c
1
= Weight, c
2
= Door, c
3
= Size,
c
4
= Cylinder} và thuộc tính quyết định D = {d = Mileage}.
U c
1
c
2
c
3
c
4
d
u
1
low 2 Compact 4 high
u
2
low 4 Sub 6 low
u
3
medium 4 Compact 4 high
u
4
high 2 Compact 6 low
u
5
high 4 Compact 4 low
u
6
low 4 Compact 4 high
u
7
high 4 Sub 6 low
u
8
low 2 Sub 6 low
Bảng 1.7. Bảng thông tin về các xe hơi
Từ bảng trên ta có :
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 14
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Như vậy c
4
= Cylinder không phải là thuộc tính nhân. Tương tự c
2
= Door, c
3
= Size cũng
không phải là thuộc tính nhân vì
Trong khi đó:
Nên ta có một nhân là c
1
= Weight.
1.2.1.3 Thuật toán tìm tập rút gọn theo xấp xỉ ngoài
Input : T = (C, D).
Output : Tập rút gọn R
Method :
1. Tìm core theo thuật toán trên ;
2. Sắp xếp tập C \ Core theo thứ tự ưu tiên tăng dần ;
3. Đặt R := C ;
4. For c
j
є C \ Core do
5.
6.
R : = R \ {c
j
};
Như vậy, xuất phát từ R = C, thuật toán thực hiện tối đa k vòng lặp để thực hiện loại bỏ R :
= R \ {c
j
}. Trong mỗi vòng lặp này, chúng ta phải kiểm tra điều kiện IF ở trên. Điều đó đòi
hỏi sắp xếp lại đối tượng trong U theo thứ tự tăng/ giảm giá trị của các thuộc tính trong R \
{c
j
} và D. Từ đó, độ phức tạp của thuật toán này là O(kn log n).
Ví dụ 1.7: Xét bảng quyết định được cho trong bảng 1.7 ở trên, giả sử các thuộc tính được
sắp xếp theo thứ tự chỉ số thuộc tính tương ứng ta có:
Core = {c
j
}.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 15
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Xuất phát
Xét c
2
є C \ Core, ta có :
Và c
3
cũng được loại ra khỏi R. Bây giờ R = {c
1
, c
4
}.
Xét c
4
ta có:
Trong khi đó
Do đó :
Vậy R = {c
1
, c
4
} là một tập rút gọn.
1.2.2 Thuật toán dựa vào số cặp phân biệt được
1.2.2.1 Một số ký hiệu
Xét bảng quyết định T = (U, C ∪ D), với C là tập thuộc tính điều kiện và D là tập thuộc
tính quyết định.
Cho B ⊆ C, V ⊆ U, và c
j
є C \ B.
Ta cũng có định nghĩa tương tự:
Khi B = ,∅ hai đại lượng trên được viết một cách đơn giản là:
Còn khi V = U, ta lại viết:
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 16
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Còn nếu V = U và B = ∅ ta chỉ ký hiệu đơn giản:
Tóm lại:
Ví dụ 1.8: Xét tập 10 đồ chơi với tập thuộc tính điều kiện C = {Màu sắc, kích thước, hình
dáng} và thuộc tính quyết định D = {Phù hợp lứa tuổi} được cho trong bảng 1.7.
Cho B = {Màu sắc, hình dáng} ; c= “Kích thước” và V = {u
1
, u
2
, u
3
, u
8
, u
9
, u
10
}. Khi đó:
U Màu sắc Kích thước Hình dáng Phù hợp lừa tuổi
u
1
Xanh To Tròn 4-10
u
2
Xanh Nhỏ Tròn 1-3
u
3
Vàng Vừa Vuông 4-10
u
4
Đỏ Vừa Vuông 4-10
u
5
Vàng To Tam giac 11-15
u
6
Xanh Nhỏ Tròn 1-3
u
7
Đỏ Nhỏ Tam giác 11-15
u
8
Đỏ To Tam giác 4-10
u
9
Vàng To Vuông 11-15
u
10
Xanh Vừa tròn 1-3
Bảng 1.8. Bảng dữ liệu các đồ chơi
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 17
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
1.2.2.2 Cơ sở toán học
Mệnh đề 1 : cho V ⊆ U. Giả sử V / D = {V
1
, V
2
, … ,V
m
}, với Card(V) = x ;
Card(V
i
) = x
i
. Khi đó :
Mệnh đề 2 : Giả sử V ⊆ U, B ⊆ C và V / B = {V
1
, V
2
, … ,V
k
}. Khi đó:
Ví dụ 1.9: Xét bảng quyết định cho bởi bảng 1.7, với các tập V, B và c được chọn như
trong ví dụ 1.8. Ta có:
V / D = {V
1
, V
2
, V
3
}, với V
1
= {u
1
, u
3
, u
8
}; V
2
= {u
2
,u
10
}; V
3
={u
9
}
V / B = {W
1
, W
2
, W
3
}, với W
1
= {u
1
, u
8
, u
9
}; W
2
= {u
2
}; W
3
= {u
3
, u
10
}
Khi đó, x = 6, x
1
= 3; x
2
= 2; x
3
= 1 và theo mệnh đề 2 thì:
1.2.2.3 Thuật toán
Input : T = (C, D).
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 18
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Output : Tập rút gọn R
Method :
1. R = ∅ ; L := {U} ;
2. Repeat
3. For c
j
є C \ R do
4. Begin {1}
5. For V
i
є L do
6. Begin {2}
7. Tìm V
i
/{c
j
} = {W
1
, W
2
,…, W
m
} ;
8. For l:=1 to m do
9. Begin{3}
13. End{3}
15. End{2}
17. End {1}
18. Chọn thuộc tính c
r
sao cho α
r
là bé nhất
19. R:= R U {c
r
}
21. L := M
22. Until (α = 0) or(R = C)
Ví dụ 1.10: Xét bảng quyết định chọn giáo viên gồm 9 đối tượng với tập thuộc tính điều
kiện C = {c
1
, c
2
, c
3
, c
4
} tương ứng là “Trình độ chuyên môn”, “Yêu nghề”, “Khả năng sư
phạm”, “Kinh nghiệm giảng dạy” (tính bằng năm) và thuộc tính quyết định d có hai giá
trị : 1 (“Chấp nhận”); 0 (“từ chối”), được cho trong bảng 1.9:
U c
1
c
2
c
3
c
4
d
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 19
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
u
1
Giỏi Có Tốt 5 1
u
2
Trung bình Có Tốt 2 1
u
3
Kém Không Trung bình 3 0
u
4
Giỏi Có Tốt 5 1
u
5
Trung bình Không Tốt 1 0
u
6
Xuất sắc Có Trung bình 3 1
u
7
Xuất sắc Có Khá 0 0
u
8
Kém Không Khá 3 0
u
9
Giỏi Không Trung bình 2 0
Bảng 1.8. Bảng chọn lựa giáo viên
Thực hiện thuật toán trên, ta nhận được kết quả từng bước như sau :
R = ; ∅ L = {U} (V
1
= U),
V
1
/{c
1
} = {W
1
= {u
1
, u
4
, u
9
}, W
2
= {u
2
, u
5
}, W
3
= {u
3
, u
8
}, W
4
= {u
6
, u
7
}}
Tương tự ta có:
V
1
/{c
2
} = {W
1
= {u
1
, u
2
, u
4
, u
6
, u
7
}, W
2
= {u
3
, u
5
, u
8
, u
9
}}
V
1
/{c
3
} = {W
1
= {u
1
, u
2
, u
4
, u
5
}, W
2
= {u
3
, u
6
, u
9
}, W
3
= {u
7
, u
8
}}
V
1
/{c
4
} = {W
1
= {u
1
, u
4
}, W
2
= {u
2
, u
9
}, W
3
= {u
3
, u
6
, u
8
}, W
4
= {u
5
}, W
5
= {u
7
}}
R = R U {c
4
} = {c
4
}
L = {V
1
= {u
1
, u
4
}, V
2
= {u
2
, u
9
}, V
3
= {u
3
, u
6
, u
8
}, V
4
= {u
5
}, V
5
= {u
7
}}
V
1
/{c
1
} = {W
1
= {u
1
, u
4
}} => = 0
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 20
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
V
2
/{c
1
} = {W
1
= {u
2
}, W
2
= {u
9
}} => = 0
V
3
/{c
1
} = {W
1
= {u
3
, u
8
}, W
2
= {u
6
}} => = 0
V
4
/{c
1
} = {W
1
= {u
5
}} => = 0
V
5
/{c
1
} = {W
1
= {u
7
}} => = 0
α
1
= + + + + = 0
V
1
/{c
2
} = {W
1
= {u
1
, u
4
}} => = 0
V
2
/{c
2
} = {W
1
= {u
2
}, W
2
= {u
9
}} => = 0
V
3
/{c
2
} = {W
1
= {u
3
, u
8
}, W
2
= {u
6
}} => = 0
V
4
/{c
2
} = {W
1
= {u
5
}} => = 0
V
5
/{c
2
} = {W
1
= {u
7
}} => = 0
α
2
= +
+ + + = 0
V
1
/{c
3
} = {W
1
= {u
1
, u
4
}} => = 0
V
2
/{c
3
} = {W
1
= {u
2
}, W
2
= {u
9
}} => = 0
V
3
/{c
3
} = {W
1
= {u
3
, u
8
}, W
2
= {u
6
}} => = 1
V
4
/{c
3
} = {W
1
= {u
5
}} => = 0
V
5
/{c
3
} = {W
1
= {u
7
}} => = 0
α
3
= +
+ + + = 1
Vì α
1
= α
2
= 0 nên ta chọn r = 1 hoặc r = 2. Thuật toán dừng.
Ta được tập rút gọn là R
1
= {c
1
, c
4
} và R
2
= {c
2
, c
4
}, tập lõi là Core = {c
4
}
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 21
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Phần 2. LUẬT KẾT HỢP VÀ THUẬT TOÁN APRIORI
2.1 Khái niệm về luật và luật kết hợp
2.1.1 Hệ luật dẫn
Trong modul chương trình xử lý các thông tin của vấn đề đang nằm trong bộ nhớ
tạm thời thông qua một CSDL chứa các luật dẫn và bộ phận suy diễn để suy ra thông tin
mới.
Mô hình hệ luật dẫn bao gồm 3 bộ phận chính:
Cơ sở tri thức : tập các luật dẫn, mô hình bộ nhớ lâu bền của con người.
Bộ nhớ tạm thời (bộ nhớ hoạt động): chứa đựng các sự kiện khởi đầu của vấn đề và các sự
kiện có từ suy diễn, mô hình bộ nhớ tạm thời của con người.
Động cơ suy diễn: mô hình hoá lập luận của con người bằng cách kết hợp các sự kiện của
vấn đề với các luật trong CSTT để suy diễn ra thông tin mới.
Trong CSTT với các trạng thái chính là các sự kiện trong bộ nhớ hoạt động và bộ phận lập
luận chính là động cơ suy diễn. Khi các luật được phát tác thì các kết luận được đưa vào bộ
nhớ hoạt động thành các sự kiện mới và quá trình lặp lại liên tục đến khi lặp điều kiện
dừng của hệ thống ( không có luật nào thoả mãn điều kiện đang có, hay không phát sinh
thêm được tập mục phổ biến, thông tin mới…).
Mô tả một hệ luật dẫn: Các luật dẫn hoặc gọi là luật IF THEN là những mệnh đề có dạng
LHS=>RHS trong đó LHS xác định các điều kiện hoặc hoàn cảnh phải được thoả mãn cho
luật được áp dụng, RHS là những tác động phải xảy ra khi luật được áp dụng.
2.1.2 Định nghĩa luật kết hợp
Gọi I = {I
1
, I
2,
, I
m
} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục.
Gọi D là một cơ sở dữ liệu, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục,
T
⊆
I.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 22
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Định nghĩa 1: Một luật kết hợp là một quan hệ có dạng X
⇒
Y, trong đó X, Y
⊂
I là các
tập mục gọi là itemsets, và
φ
=
YX
. Ở đây, X được gọi là tiền đề, Y là mệnh đề kết quả.
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin cậy (c).
Định nghĩa 2 : Độ hỗ trợ (support) của luật kết hợp X
⇒
Y là tỷ lệ phần trăm các bản ghi
YX
với tổng số các giao dịch có trong cơ sở dữ liệu.
Định nghĩa 3: Đối với một số giao dịch được đưa ra, độ tin cậy (confidence) là tỷ lệ của
số giao dịch có chứa
YX
với số giao dịch có chứa X. Đơn vị tính %.
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật có độ hỗ
trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tin cậy do người sử dụng xác định
trước. Các ngưỡng của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ : Khi phân tích giỏ hàng của người mua hàng trong một siêu thị ta có được luật kiểu
như : 80% khách hàng mua sữa thì cũng mua bánh mì 30 % thì mua cả hai thứ .Trong đó
“mua sữa ” là tiền đề còn “mua bánh mì ” là kết luận của luật . Con số 30% là độ hỗ trợ
của luật còn 80% là độ tin cậy của luật.
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất
nhiều so với thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như SQL.
Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn
trong dữ liệu. Những tri thức này không đơn giản là kết quả của phép nhóm , tính tổng hay
sắp xếp mà là của một quá trình tính toán khá phức tạp.
Định nghĩa 4: Nếu tập X có support(X )> minsup thì X gọi là tập phổ biến ( Frequent
itemset ). Kí hiệu các tập này là FI
Định nghĩa 5: Một tập mục X được gọi là đóng (closed) nếu không có một tập cha nào
của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’⊃ X và
t(X) = t(X’) (với t(X), t(X’) tương ứng là tập các giao tác chứa tập mục X và X’). Ký hiệu
tập phổ biến đóng là FCI.
Định nghĩa 6 : Nếu X là phổ biến và không tập cha nào của X là phổ biến, ta nói rằng X
là một tập phổ biến lớn nhất (maximally frequent itemset). Ký hiệu tập tất cả các tập phổ
biến lớn nhất là MFI . Dễ thấy MFI ⊆ FCI ⊆ FI.
Quá trình tìm các luật kết hợp thường gồm 2 pha:
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 23
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong cơ sở dữ liệu T.
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules).
Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện ở
pha 1.Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ liệu, việc
sinh ra toàn bộ các tập phổ biến (FI) hay các tập đóng (FCI ) là không thực tế. Hơn nữa, có
nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất( MFI ) là đủ, như khám phá mẫu tổ
hợp trong các ứng dụng sinh học.
Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập phổ
biến lớn nhất một cách có hiệu quả. Khi các mẫu phổ biến (frequent pattern) dài (có từ 15
đến 20 items ) thì tập FI ,thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương pháp
truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được. Các thuật toán dựa
trên thuật toán Apriori - đếm tất cả 2
k
tập con của mỗi k- itemsets mà chúng quét qua, và
do đó không thích hợp với các itemsets dài được. Các phương pháp khác sử dụng “
lookaheads ” để giảm số lượng tập mục được đếm. Tuy nhiên, hầu hết các thuật toán này
đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các k – itemsets trước khi tính đến
các (k+1) – itemsets . Cách làm này làm hạn chế hiệu quả của lookaheads, vì các mẫu phổ
biến dài hơn mà hữu ích vẫn chưa được tìm ra.
2.2 Một số tính chất của tập mục phổ biến và luật kết hợp
2.2.1 Một số tính chất với tập mục phổ biến
Giả sử A và B là các tập mục phổ biến, các tính chất của tập mục phổ biến như sau:
Tính chất 1 : Nếu A
⊆
B thì supp(A) ≥ supp(B).
Vì tất cả các tác vụ trong D hỗ trợ B thì cũng hỗ trợ A.
Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến
(nếu A không phổ biến thì B cũng không phổ biến).
Chứng minh: Nếu A
⊆
B thì supp(A) ≥ supp(B) (theo tính chất 1) mà
supp(A)<minsupp thì supp(B)<minsupp.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 24
Tiểu luận: Lý thuyết tập thô và khai phá luật kết hợp
Tính chất 3: Các tập con của một tập phổ biến cũng là tập phổ biến (nếu A là tập
phổ biến thì B cũng là tập phổ biến)
Nếu B là tập phổ biến trong D tức: supp(B) > minsup. Khi đó mọi tập con A của B cũng là
phổ biến trong D vì supp(A) ≥ ( supp(B) ≥ minsup (theo tính chất 1). Trường hợp đặc biệt,
nếu tập A={i1,i2, , ik} là tập phổ biến thì mọi tập con có (k-1) mục của nó cũng là phổ
biến. Lưu ý ngược lại là không đúng.
2.2.2 Một số tính chất với luật kết hợp
Tính chất 1 : Không hợp các luật kết hợp.
Nếu X ⇒ Z và Y⇒ Z trong D thì không nhất thiết (X∪Y)⇒ Z là đúng.
Xét trường hợp X∩Y=∅ và các tác vụ trong D hỗ trợ Z nếu chỉ nếu chúng hỗ trợ mỗi
X hoặc Y, khi đó luật X∪Y⇒ Z có độ tin cậy là 0%.
Tương tự: X ⇒ Y và X ⇒ Z thì không nhất thiết X ⇒Y ∪ Z
Tính chất 2 : Không tách luật.
Nếu X ∪ Y⇒Z thì X ⇒Y và Y ⇒ Z chưa chắc xảy ra. Nhưng nếu X ⇒Y ∪ Z thì kéo
theo X
⇒
Y
∩
X
⇒
Z
Ví dụ: Trường hợp Z có mặt trong một tác vụ chỉ khi cả hai X và Y cũng có mặt, tức là
supp(X∪Y)=supp(Z). Nếu độ hỗ trợ của X và Y đủ lớn hơn supp(X∪Y) hay
supp(X)>supp(X∪Y) và supp(Y)>supp(X∪Y) thì hai luật riêng biệt sẽ không đủ độ
tin cậy
Tuy nhiên, đảo lại: X → Y ∪ Z ⇒ X → Y ∧ X → Z
Tính chất 3 : Các luật kết hợp không có tính chất bắc cầu.
Nếu X → Y và Y → Z chúng ta không thể suy ra X →Z.
Ví dụ: Giả sử T(X)⊂(T(Y)⊂(T(Z) tương ứng là tập các tác vụ chứa X,Y,Z và độ tin cậy
cực tiểu là minconf, conf(X→Y)=conf(Y→Z)=minconf
thế thì: conf(X→Z)=minconf
2
<minconf vì minconf<1, do đó luật X→Z không đủ độ
tin cậy.
GVHD: TS. Dương Tôn Đảm HVTH: Nguyễn Ngọc Vọng – CH1301118 25