Danh mục các chữ viết tắt.
Danh mục các bảng .
Danh mục các hình vẽ .
MỤC LỤC.1
MỞ ĐẦU.3
CHƯƠNG 1. TỔNG QUAN.6
1.1. TỔNG QUAN KHAI PHÁ DỮ LIỆU.6
1.1.1. Tập mục .6
1.1.2. Định nghĩa luật kết hợp .6
1.1.3. Độ hỗ trợ tập mục.7
1.1.4. Độ tin cậy của luật kết hợp.8
1.1.5. Tập mục thường xuyên.8
1.1.6. Quá trình tìm kiếm luật kết hợp .8
1.2. KHAI PHÁ MẪU DÃY THƯỜNG XUYÊN VÀ MỘT SỐ MỞ RỘNG.10
1.2.1. Bài toán khai phá mẫu dãy thường xuyên và một số khái niệm cơ bản
trong khai phá mẫu dãy thường xuyên .10
1.2.2. Mẫu dãy thường xuyên có trọng số.12
1.2.3. Mẫu dãy thường xuyên với khoảng cách thời gian .12
1.3. THUẬT TOÁN APRIORIALL .13
1.4. THUẬT TOÁN PREFIXSPAN .18
CHƯƠNG 2. TOP-K MẪU DÃY THƯỜNG XUYÊN TRỌNG SỐ VỚI KHOẢNG
CÁCH THỜI GIAN .29
2.1. GIỚI THIỆU .29
2.2. BÀI TOÁN KHAI PHÁ MẪU DÃY THƯỜNG XUYÊN CÓ TRỌNG SỐ.30
2.2.1. Các thuật ngữ mô tả bài toán khai phá mẫu dãy thường xuyên với trọng
số chuẩn hóa .30
2.2.2. CSDL điều kiện trong khai phá mẫu dãy thường xuyên với trọng số
chuẩn hóa.31
2.2.3. Ví dụ khai phá mẫu dãy thường xuyên với trọng số chuẩn hóa sử dụng
CSDL điều kiện theo tiền tố .32
2.2.4. Thuật toán khai phá mẫu dãy thường xuyên với trọng số chuẩn hóa sử
dụng CSDL điều kiện theo tiền tố (WPrefixSpan).39
84 trang |
Chia sẻ: honganh20 | Ngày: 05/03/2022 | Lượt xem: 368 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu khai phá top - K mẫu dãy thường xuyên trọng số với khoảng cách thời gian, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
- Với mỗi dãy α với tiền tố , support (α) trên S = support (α) trên S|α
- Kích thước của CSDL điều kiện với tiền tố không vượt quá S
Thuật toán PrefixSpan
Đầu vào :
- CSDL dãy : S,
- Ngưỡng hỗ trợ : min_sup,
Đầu ra: Tập các mẫu dãy thường xuyên L
21
Thủ tục PrefixSpan (α,l,S|α )
Tham số:
- α là một dãy thường xuyên
- l là độ dài của dãy α
- S|α là CSDL điều kiện với tiền tố α. S là trường hợp α =
Bắt đầu:
(1). Duyệt S|α, đếm độ hỗ trợ của mỗi mục và tìm các mục thường
xuyên sao cho: Với mỗi :
(a) có thể được ghép làm thành phần cuối cùng của α để tạo
thành một mẫu dãy thường xuyên hoặc
(b) có thể được nối vào với α để tạo thành một mẫu dãy
thường xuyên
- Kiểm tra các tập mục ứng viên trong Ck để tìm mẫu dãy
thường xuyên có trọng số chuẩn hóa thỏa mãn tính chất
support()*NW() wmin_sup, nạp vào L
(2). Lặp với mỗi mẫu dãy thường xuyên
- Ghép với α để tạo thành một mẫu dãy α’ và đầu ra là α’
(3). Lặp với mỗi α’
- Xây dựng CSDL điều kiện với tiền tố α’ là S|α’ .
- Thực hiện đệ quy thủ tục PrefixSpan(α’,l+1,S|α’)
Kết thúc.
22
Ví dụ thuật toán PrefixSpan
Cho một CSDL dãy SDB như Bảng 1.4, giá trị minsup =2. Khi đó việc
khai phá các mẫu dãy thường xuyên trong CSDL dãy S theo phương pháp
PrefixSpan được thực hiện theo các bước như sau:
Bảng 1.4. Cơ sở dữ liệu dãy SDB ví dụ thuật toán PrefixSpan
SID Dãy dữ liệu
1
2
3
4
Bước 1: Tìm các dãy thường xuyên có độ dài 1
Duyệt CSDL dãy SDB lần đầu tiên để tìm tất cả các mẫu dãy thường xuyên
có độ dài 1, đếm độ hỗ trợ của mỗi mục.
Khi đó ta có các giá trị độ hỗ trợ của mỗi mục tương ứng như sau:
: 4, : 4, : 4, :3, : 3, : 3,
Kiểm tra độ hỗ trợ mỗi mục với giá trị minsup =2. Ta có tập L:
L = , , , , ,
Bước 2: Chia không gian tìm kiếm
Toàn bộ các mẫu dãy thường xuyên được khai phá trong các phân vùng
gồm 6 vùng tương ứng với 6 tiền tố như sau:
(1) Mẫu dãy với tiền tố
(2) Mẫu dãy với tiền tố
(3) Mẫu dãy với tiền tố
(4) Mẫu dãy với tiền tố
(5) Mẫu dãy với tiền tố
(6) Mẫu dãy với tiền tố
Bước 3: Khai phá các mẫu dãy thường xuyên
Các tập con mẫu dãy thường xuyên được khai phá bằng cách xây dựng
các CSDL điều kiện tương ứng với các tiền tố, và khai phá chúng bằng phương
23
pháp đệ quy. Các bước thực hiện như sau:
A. Tìm các các mẫu dãy thường xuyên với tiền tố
Trong một dãy có chứa , chỉ có các dãy bắt đầu bằng sự xuất hiện đầu
tiên của nên được lựa chọn. Ví dụ, trong chuỗi , chỉ có
dãy được lựa chọn, tương tự với dãy ,
chỉ có dãy (~ d) c (bc) (ae) bc> được lựa chọn.
Khi đó, CSDL điều kiện với tiền tố bao gồm 4 dãy sau
Bảng 1.5. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
3
4
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục dữ
liệu của nó tương ứng là a: 2, b: 4, c: 4, d: 2, e:1, f: 2, (~b): 2, (~c): 0 , (~d): 1,
(~ e): 0 và (~ f): 1. Kiểm tra độ hỗ trợ mỗi mục với giá trị minsup=2.
Khi đó, ta có các mục dữ liệu bị tỉa là e, (~c), (~d), (~e), (~f).
Các mục dữ liệu được phát hiện là a,b,c,d,f,(~b)
L = L {, , , , , }
Theo tính chất đệ quy, các mẫu dãy thường xuyên với tiền tố sẽ tiếp
tục được chia thành 6 vùng tương ứng với 6 tiền tố gồm:
(1) Mẫu dãy với tiền tố
(2) Mẫu dãy với tiền tố
(3) Mẫu dãy với tiền tố
(4) Mẫu dãy với tiền tố
24
(5) Mẫu dãy với tiền tố
(6) Mẫu dãy với tiền tố
A.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện với
tiền tố . Khi đó
Bảng 1.6. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục
dữ liệu của nó là a:1, c:1, d:1, f:1, (~b):1, (~e): 1. Kiểm tra độ hỗ trợ mỗi mục
với giá trị minsup = 2.
Khi đó, không có dãy thường xuyên với tiền tố được phát hiện. Dừng
thực hiện đối với tiền tố
A.2. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện với
tiền tố . Khi đó:
Bảng 1.7. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
3
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục
dữ liệu của nó là a:2, c:2, d:1, e:1,f:1, (~c):2. Kiểm tra độ hỗ trợ mỗi mục với
giá trị minsup = 2.
Các mục dữ liệu được phát hiện là: a, c, (~c)
L = L {, , }
Theo tính chất đệ quy, mẫu dãy thường xuyên với tiền tố sẽ tiếp tục
được chia thành 3 vùng tương ứng với tiền tố gồm:
(1) Mẫu dãy với tiền tố
25
(2) Mẫu dãy với tiền tố
(3) Mẫu dãy với tiền tố
A.2.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố .
Khi đó CSDL điều kiện với tiền tố là
Bảng 1.8. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục
dữ liệu của nó là c:1, d:1, f:1, (~c):1, (~e):1. Kiểm tra độ hỗ trợ mỗi mục với
giá trị minsup = 2.
Khi đó, không có dãy thường xuyên với tiền tố được phát hiện.
Dừng thực hiện đối với tiền tố .
A.2.2. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố .
Khi đó CSDL điều kiện với tiền tố là {}. Không có dãy thường
xuyên với tiền tố được phát hiện. Dừng thực hiện đối với tiền tố
A.2.3. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố .
Khi đó CSDL điều kiện với tiền tố là
Bảng 1.9. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục dữ
liệu của nó là a:2,c:1, d:1,e:1, f:1. Kiểm tra độ hỗ trợ mỗi mục với giá trị minsup=2.
Các mục dữ liệu được phát hiện là: a
26
L = L { }
Theo tính chất đệ quy, mẫu dãy thường xuyên với tiền tố sẽ tiếp
tục được chia thành 1 vùng tương ứng với tiền tố gồm:
(1) Mẫu dãy với tiền tố
A.2.3.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều
kiện với tiền tố .
Khi đó CSDL điều kiện với tiền tố là {}. Không có dãy thường
xuyên với tiền tố được phát hiện. Dừng thực hiện đối với tiền tố /
A.3. Đối với mẫu dãy với tiền tố tương tự , , , <(ab), ta
xây dựng CSDL điều kiện với tiền tố tương ứng và thực hiện khai phá mẫu dãy
thường xuyên tương tự như các bước A.1 và bước A.2
B. Tìm tương tự đối với các mẫu dãy thường xuyên với tiền tố , ,
, ,
Đối với mẫu dãy với tiền tố ,,,,, ta xây dựng các
CSDL điều kiện với các tiền tố tương ứng. Cách khai phá mẫu dãy thường
xuyên với mỗi tiền tố tương ứng cũng thực hiện tương tự như bước A, và thực
hiện khai phá theo phương pháp đệ quy.
Bước 4: Kết quả là các mẫu dãy thường xuyên trong CSDL dãy S
Các mẫu dãy thường xuyên được khai phá lần lượt trong quá trình đệ quy
đối với từng tiền tố.
Bảng 1.10. Kết quả mẫu dãy thường xuyên theo thuật toán PrefixSpan
Tiền tố
(Prefix)
CSDL điều kiện
theo tiền tố
Mẫu dãy thường xuyên
, ,
, ,
,, ,
,
, ,
27
Tiền tố
(Prefix)
CSDL điều kiện
theo tiền tố
Mẫu dãy thường xuyên
,
,
,
,
,
, ,
,
,
,
, ,
,
28
Tiền tố
(Prefix)
CSDL điều kiện
theo tiền tố
Mẫu dãy thường xuyên
,
,
Nhận xét thuật toán PrefĩxSpan:
Thuật toán PrefixSpan [9]: Giải thuật dựa trên phương pháp phát triển
mẫu dãy, phát triển những mẫu dãy dài từ những mẫu dãy có độ dài ngắn
hơn đã có, đồng thời kết hợp với phương pháp chia nhỏ không gian tìm kiếm
theo tiền tố.
Thuật toán phát triển mẫu dãy không cần phát sinh thêm ứng viên giống
như giải thuật AprioriAll [6]. Mặt khác thực hiện phép chiếu CSDL theo tiền
tố nên không gian tìm kiếm giảm đáng kể. Nhờ vậy tiết kiệm bộ nhớ và việc
thực hiện đếm độ hỗ trợ được nhanh hơn.
29
CHƯƠNG 2. TOP-K MẪU DÃY THƯỜNG XUYÊN TRỌNG SỐ VỚI
KHOẢNG CÁCH THỜI GIAN
2.1. GIỚI THIỆU
Mục tiêu của khai phá mẫu thường xuyên [6, 7, 8] là tìm ra các mẫu dãy
xuất hiện nhiều lần trong 1 CSDL dãy. Tuy nhiên, các mẫu dãy thường xuyên
không thể hiện được mức độ quan trọng của từng mục dữ liệu. Do đó, bài toán
khai phá mẫu dãy thường xuyên có trọng số ra đời để giải quyết vấn đề về mức
độ quan trọng của các mục. Một số thuật toán có thể kể tới là [19, 23, 24, 25,
17, 26, 27]. Trong các thuật toán này, không chỉ tần xuất mà mức độ quan trọng
của các mục trong mẫu dãy cũng được tính tới.
Để thể hiện mức độ quan trọng của các mục, mỗi mục được gán 1 giá trị
thực dương (thường là trong khoảng 0-1). Tập các giá trị này được lưu vào 1
bảng gọi là bảng trọng số. Do trong các mẫu dãy có trọng số, độ hỗ trợ không
còn tính phản đơn điệu nên trong các thuật toán khai phá mẫu dãy với trọng số,
để duy trì tính phản đơn điệu, giá trị support*maxW được sử dụng làm cận trên
của các mẫu dãy có trọng số.
Một vấn đề khác của các mẫu dãy thường xuyên là không chứa thông tin
về thời gian của các giao dịch. Tuy nhiên, dữ liệu trong thực tế thường có loại
thông tin này. Ví dụ: dữ liệu mua sắm có thời gian của các giao dịch mua hàng,
dữ liệu duyệt web lưu thời gian của các lần truy cập
Khai phá mẫu dãy thường xuyên sử dụng một ngưỡng tối thiểu để tìm ra
các mẫu dãy có giá trị. Ngưỡng này được đặt bởi người sử dụng như một giá
trị đầu vào. Tuy nhiên, không dễ để chọn 1 ngưỡng phù hợp, nếu đặt ngưỡng
quá cao sẽ tìm được ít mẫu dãy có giá trị, nếu đặt ngưỡng quá thấp sẽ dẫn tới
quá nhiều mẫu dãy được tìm ra. Vì vậy, bài toán top-k ra đời để giải quyết vấn
đề này. Trong bài toán top-k [28, 29, 30, 31, 32, 33], người sử dụng không cần
phải đặt ngưỡng tối thiểu mà chỉ cần đưa vào giá trị k. Ngưỡng tối thiểu sẽ được
tăng dần cho tới khi tìm ra được k mẫu dãy có giá trị nhất.
30
2.2. BÀI TOÁN KHAI PHÁ MẪU DÃY THƯỜNG XUYÊN CÓ TRỌNG SỐ
2.2.1. Các thuật ngữ mô tả bài toán khai phá mẫu dãy thường xuyên
với trọng số chuẩn hóa
Cho I = {i1, i2, , in} là tập hợp các mục dữ liệu. Mỗi mục ij I được
gán một trọng số wj, j = 1,.....,n.
Một dãy Sm là một danh sách được sắp xếp theo thứ tự của các mục dữ
liệu {s1, s2, , sm} với sj I là một tập mục được gọi là thành phần của dãy.
Khi đó, S = {s1, s2, , sm} và sj có dạng (i1i2 ik) và it là một mục dữ liệu.
Một dãy S bị loại nếu chỉ có duy nhất một mục dữ liệu. Một mục dữ liệu chỉ
xuất hiện 1 lần trong 1 thành phần của một dãy sj, nhưng có thể xuất hiện nhiều
lần trong các thành phần của một dãy S.
Kích thước |S| của một dãy là số lượng của các thành phần trong dãy S.
Độ dài l(S) của dãy là tổng số mục dữ liệu trong dãy S. Một cơ sở dữ liệu dãy
S = {S1, S2, , Sn} là một tập các bộ dữ liệu (sid,Sk) với sid là định danh của
một dãy và Sk là một dãy dữ liệu.
Định nghĩa 5. Độ hỗ trợ của một dãy: Độ hỗ trợ của dãy Sa trong cơ sở
dữ liệu dãy S là số lượng các bản ghi trong S có chứa dãy Sa
Định nghĩa 6. Trọng số chuẩn hóa của dãy: Cho I = {i1, i2, , in} là tập
hợp các mục dữ liệu. Mỗi mục ij I được gán một trọng số wj, j = 1,.....,n.
Khi đó trọng số chuẩn hóa của một dãy = được tính bằng
công thức
𝑁𝑊() =
1
𝑛
∑ 𝑤𝑗
𝑖𝑗 ∈
Định nghĩa 7. Độ hỗ trợ với trọng số chuẩn hóa của dãy:
Ta gọi đại lượng NWsupport() của dãy là độ hỗ trợ với trọng số chuẩn
hóa của dãy
𝑁𝑊𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝛼) = 𝑁𝑊(𝛼) ∗ 𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝛼) = (
1
𝑛
∑ 𝑤𝑗
𝑖𝑗 ∈𝛼
) ∗ 𝑆𝐶(𝛼)
31
Định nghĩa 8. Mẫu dãy thường xuyên với trọng số chuẩn hóa:
Cho một CSDL dãy S, một ngưỡng hỗ trợ tối thiểu wmin_sup. Một dãy
α được gọi là mẫu dãy thường xuyên với trọng số chuẩn hóa nếu thỏa
mãn tính chất.
NWSupport(α) wmin_sup
Khi đó, bài toán khai phá mẫu dãy thường xuyên với trọng số chuẩn hóa
sử dụng CSDL điều kiện theo tiền tố được phát biểu như sau:
• Cho CSDL dãy S, mỗi mục ij ⊆ I được gán một trọng số wj , ngưỡng hỗ
trợ tối thiểu wmin_sup. Tìm tất cả các mẫu dãy thường xuyên với trọng số
chuẩn hóa trong S, tức là tìm tập L :
L = {Sa ⊆ S | NWsupport(Sa ) wmin_sup}
• Mẫu dãy thường xuyên với trọng số chuẩn hóa không thỏa mãn tính
chất phản đơn điệu, nghĩa là tập con của một mẫu dãy thường xuyên với
trọng số chuẩn hóa không nhất thiết phải là mẫu dãy thường xuyên với trọng
số chuẩn hóa.
2.2.2. CSDL điều kiện trong khai phá mẫu dãy thường xuyên với
trọng số chuẩn hóa
Thuật toán khai phá mẫu dãy thường xuyên với trọng số chuẩn hóa
WPrefixSpan [34] trong đó cách tiếp cận chính là đẩy các ràng buộc trọng
số và độ hỗ trợ trong thuật toán khai phá mẫu dãy và đảm bảo tính chất
phản đơn điệu.
Để tránh phải thực hiện kiểm tra tất cả khả năng kết hợp của một dãy các
ứng viên tiềm năng, ta có thể thay thế các thứ tự của các mục dữ liệu trong từng
thành phần trong dãy. Khi đó, các mục trong một thành phần của một dãy có
thể được liệt kê theo 1 trật tự mà không mất tính tổng quát, ta có thể giả định
rằng thứ tự này luôn luôn được liệt kê theo thứ tự bảng chữ cái.
Ví dụ như dãy thay vì . Với quy
ước như vậy, sự biểu hiện của một dãy là duy nhất.
Nếu ta theo thứ tự của các tiền tố của một dãy và CSDL điều kiện của tiền
tố đó chỉ có các hậu tố của một dãy, thì ta có thể kiểm tra các dãy con theo thứ
32
tự sắp xếp trên và CSDL điều kiện theo tiền tố đó.
Định nghĩa 9. Mẫu dãy ứng viên: Cho một ngưỡng hỗ trợ tối thiểu
wmin_sup. Một dãy α được gọi là dãy ứng viên mẫu dãy thường xuyên với
trọng số chuẩn hóa nếu thỏa mãn tính chất
Support(α) * MaxW wmin_sup
Với MaxW là giá trị lớn nhất của trọng số trong các mục trong S. Mẫu
dãy ứng viên được xây dựng nhằm mục đích tỉa bớt không gian tìm kiếm mà
vẫn đảm bảo tính phản đơn điệu trong khai phá mẫu dãy thường xuyên với
trọng số chuẩn hóa.
2.2.3. Ví dụ khai phá mẫu dãy thường xuyên với trọng số chuẩn hóa
sử dụng CSDL điều kiện theo tiền tố
Cho một CSDL dãy S như Bảng 2.1, giá trị các trọng số của các mục dữ
liệu như Bảng 2.2, giá trị wmin_sup = 2. Khi đó việc khai phá các mẫu dãy
thường xuyên với trọng số chuẩn hóa trong CSDL dãy S theo phương pháp
WPrefixSpan [34] được thực hiện theo các bước như sau:
Bảng 2.1. Cơ sở dữ liệu dãy S Bảng 2.2. Giá trị trọng số
của các mục dữ liệu
Dãy dữ liệu Tên mục Trọng số
a 0.9
b 0.75
c 0.8
d 0.85
e 0.75
f 0.7
g 0.85
h 0.8
33
Bước 1: Tìm các ứng viên của mẫu dãy thường xuyên với trọng số
chuẩn hóa có độ dài 1
Duyệt CSDL dãy S lần đầu tiên để tìm tất cả các ứng viên của mẫu dãy
thường xuyên có trọng số chuẩn hóa có độ dài 1, đếm độ hỗ trợ của mỗi mục.
Một mục có độ dài 1 có thể không phải là một mẫu dãy thường xuyên có
trọng số chuẩn hóa nhưng có thể kết hợp với các mục khác có độ hỗ trợ lớn hơn
hoặc trọng số lớn hơn để trở thành mẫu dãy thường xuyên có trọng số trong các
mẫu có độ dài lớn hơn.
Khi đó ta có các giá trị độ hỗ trợ của mỗi mục như sau:
: 6, : 6, : 6, : 5, : 4, : 3, : 2, : 1
Giá trị trọng số là
(a: 0,9 ; b: 0,75 ; c: 0,8 ; d: 0,85 ; e: 0,75 ; f: 0,7 ; g: 0,85 ; h: 0,8)
Giá trị MaxW = 0.9
Kiểm tra theo Định nghĩa 9, loại mục g và h do giá trị: support(g)*MaxW
= 2*0.9=1.8 < wmin_sup và support(h)*MaxW = 1*0.9=0.9 < wmin_sup
Khi đó, ta có các ứng viên mẫu dãy thường xuyên với trọng số chuẩn hóa
có độ dài 1 là
C1 = , , , , ,
Kiểm tra theo Định nghĩa 8 với các ứng viên, Khi đó, ta có các mẫu dãy
thường xuyên với trọng số chuẩn hóa có độ dài 1 là:
NWsupport(a) = 6*0,9 = 5,4 NWsupport(b) = 6*0,75 = 4,5
NWsupport(c) = 6*0,8 = 4,8 NWsupport(d) = 5*0,85 = 4,25
NWsupport(e) = 4*0,75 = 3 NWsupport(f) = 3*0,7 = 2,1
Ta có: L = , , , , ,
Bước 2: Chia không gian tìm kiếm
Toàn bộ các ứng viên và mẫu dãy thường xuyên với trọng số chuẩn hóa
được khai phá trong các phân vùng gồm 6 vùng tương ứng với 6 tiền tố gồm:
34
(1) Mẫu dãy với tiền tố
(2) Mẫu dãy với tiền tố
(3) Mẫu dãy với tiền tố
(4) Mẫu dãy với tiền tố
(5) Mẫu dãy với tiền tố
(6) Mẫu dãy với tiền tố
Bước 3: Khai phá các tập con ứng viên và mẫu dãy thường xuyên với
trọng số chuẩn hóa
Các tập con ứng viên và mẫu dãy thường xuyên với trọng số chuẩn hóa
được khai phá bằng cách xây dựng các CSDL điều kiện tương ứng với các tiền
tố, và khai phá chúng bằng phương pháp đệ quy. Các bước thực hiện như sau:
A. Tìm các ứng viên và các mẫu dãy thường xuyên với trọng số chuẩn hóa
với tiền tố
Trong một dãy có chứa , chỉ có các dãy bắt đầu bằng sự xuất hiện đầu
tiên của nên được lựa chọn. Ví dụ, trong chuỗi , chỉ có
dãy được lựa chọn, tương tự với dãy ,
chỉ có dãy (~ d) c (bc) (ae) bc> được lựa chọn.
Khi đó, CSDL điều kiện với tiền tố bao gồm 6 dãy sau:
Bảng 2.3. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
3
4
5
6
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục dữ
liệu của nó là a: 4, b: 6, c: 6, d: 4, e: 2, f: 2, (~b): 4, (~d): 1 , (~ e): 1 và (~ f): 1.
Kiểm tra theo Định nghĩa 9, tìm các mẫu ứng viên có độ dài 2 với tiền tố
35
support(a)*MaxW = 4*0.9 = 3.6 support(b)*MaxW = 6*0.9 = 5.4
support(c)*MaxW = 6*0.9 = 5.4 support(d)*MaxW = 4*0.9 = 3.6
support(e)*MaxW = 2*0.9 = 1.8 support(f)*MaxW = 2*0.9 = 1.8
support((~b))*MaxW = 4*0.9 = 3.6 support((~d))*MaxW =1*0.9= 0.9
support((~e))*MaxW = 1*0.9 = 0.9 support((~f))*MaxW =1*0.9= 0.9
Khi đó, ta có các mục dữ liệu bị tỉa là , , , , .
Các ứng viên mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 2
với tiền tố là
C2 = , , , ,
Kiểm tra theo Định nghĩa 8 với các ứng viên trong C2 , Khi đó, ta có
các mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 2 với tiền tố
là:
NWsupport(aa) = 4*(0,9+0,9)/2 = 5,4
NWsupport(ab) = 6*(0,9+0,75)/2 = 4,95
NWsupport(ac) = 6*(0,9+0,8)/2 = 5,1
NWsupport(ad) = 4*(0,9+0,85)/2 = 3,5
NWsupport((ab)) = 4*(0,9+0,9+0,75)/3 = 3,4
L = L {, , , , }
Theo tính chất đệ quy, các ứng viên và mẫu dãy thường xuyên với trọng
số chuẩn hóa với tiền tố sẽ tiếp tục được chia thành 5 vùng tương ứng với
5 tiền tố gồm:
(1) Mẫu dãy với tiền tố
(2) Mẫu dãy với tiền tố
(3) Mẫu dãy với tiền tố
(4) Mẫu dãy với tiền tố
(5) Mẫu dãy với tiền tố
A.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện với
36
tiền tố với các mục dữ liệu trong tập ứng viên trong C2 . Khi đó
Bảng 2.4. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
3
4
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục
dữ liệu của nó là a: 1, b: 2, c: 4, d: 2, (~b): 3, (~c): 1.
Kiểm tra theo Định nghĩa 9, tìm các mẫu ứng viên có độ dài 3 với tiền tố
support(a)*MaxW = 1*0.9=0.9 support(b)*MaxW = 2*0.9=1.8
support(c)*MaxW = 4*0.9 = 3.6 support(d)*MaxW = 2*0.9 = 1.8
support((~b))*MaxW = 3*0.9 = 2.7 support((~c))*MaxW = 1*0.9 = 0.9
Khi đó, ta có các mục dữ liệu bị tỉa là , , ,
Các ứng viên mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 3
với tiền tố là
C3 = ,
Kiểm tra theo Định nghĩa 8 với các ứng viên trong C3 , Khi đó, ta có
các mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 3 với tiền tố
là:
NWsupport(aac) = 4*(0,9+0,9+0,8)/3 = 3,46
NWsupport(a(ab)) = 3*(0,9+0,9+0,75)/3 = 2,55
L = L {, }
Theo tính chất đệ quy, các ứng viên và mẫu dãy thường xuyên với trọng
số chuẩn hóa với tiền tố sẽ tiếp tục được chia thành 2 vùng tương ứng với
2 tiền tố gồm:
37
(1) Mẫu dãy với tiền tố
(2) Mẫu dãy với tiền tố
A.1.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố với các mục dữ liệu trong tập ứng viên trong C3 .
Khi đó CSDL điều kiện với tiền tố chỉ có 1 dãy là c.
A.1.2. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố với các mục dữ liệu trong tập ứng viên trong C3 .
Khi đó CSDL điều kiện với tiền tố có các dãy là
Bảng 2.5. Cơ sở dữ liệu điều kiện với tiền tố
SID Dãy dữ liệu
1
2
3
Bằng cách quét CSDL điều kiện với tiền tố , độ hỗ trợ của các mục
dữ liệu của nó là a: 1, b: 1, c: 3, (~d): 1, (~c): 1.
Kiểm tra theo Định nghĩa 9, tìm các mẫu ứng viên có độ dài 4 với tiền tố
support(a)*MaxW = 1*0.9 = 0.9 support(b)*MaxW = 1*0.9 = 0.9
support(c)*MaxW = 3*0.9 = 2.7 support((~d))*MaxW = 1*0.9 = 0.9
support((~c))*MaxW = 1*0.9 = 0.9
Khi đó, ta có các mục dữ liệu bị tỉa là , , ,
Các ứng viên mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 4
với tiền tố là
C4 =
Kiểm tra theo Định nghĩa 8 với các ứng viên trong C4 , Khi đó,
ta có các mẫu dãy thường xuyên với trọng số chuẩn hóa có độ dài 4 với tiền tố
là:
38
NWsupport(a(ab)c) = 3*(0,9+0,9+0,75+0,8)/4 = 2,51
L = L {}
Theo tính chất đệ quy, các ứng viên và mẫu dãy thường xuyên với trọng
số chuẩn hóa với tiền tố sẽ tiếp tục được chia thành 1 vùng tương ứng
với 1 tiền tố gồm:
(1) Mẫu dãy với tiền tố
A.1.2.1. Đối với mẫu dãy với tiền tố , ta xây dựng CSDL điều kiện
với tiền tố với các mục dữ liệu trong tập ứng viên trong C4 .
Khi đó CSDL điều kiện với tiền tố chỉ có 1 dãy là .
A.2. Đối với mẫu dãy với tiền tố , tiền tố , tiền tố , tiền tố
, ta xây dựng CSDL điều kiện với các tiền tố tương ứng với các mục dữ liệu
trong tập ứng viên trong C2 . Cách khai phá mẫu dãy thường xuyên có trọng số
chuẩn hóa với mỗi tiền tố tương ứng cũng thực hiện tương tự như bước A.1.
B. Tìm tương tự với các ứng viên và các mẫu dãy thường xuyên với trọng
số chuẩn hóa với tiền tố ,,,,
Đối với mẫu dãy với tiền tố ,,,,, ta xây dựng các
CSDL điều kiện với các tiền tố tương ứng với các mục dữ liệu trong tập ứng
viên trong C1. Cách khai phá mẫu dãy thường xuyên có trọng số chuẩn hóa với
mỗi tiền tố tương ứng cũng thực hiện tương tự như bước A, và thực hiện đệ
khai phá theo phương pháp đệ quy.
Bước 4: Kết quả là các mẫu dãy thường xuyên với trọng số chuẩn
hóa trong CSDL dãy S
Các mẫu dãy thường xuyên có trọng số chuẩn hóa được khai phá lần lượt
trong quá trình đệ quy đối với từng tiền tố. Trong phương pháp khai phá mẫu
dãy thường xuyên với trọng số chuẩn hóa này, kết quả sẽ ít hơn các mẫu dãy
thường xuyên khi không gắn thêm yếu tố trọng số của các mục dữ liệu.
39
2.2.4. Thuật toán khai phá mẫu dãy thường xuyên với trọng số chuẩn
hóa sử dụng CSDL điều kiện theo tiền tố (WPrefixSpan)
- Đầu vào :
(1) CSDL dãy : S,
(2) Ngưỡng hỗ trợ : wmin_sup,
(3) Trọng số của các mục: wi,
- Đầu ra: Tập các mẫu dãy thường xuyên với trọng số chuẩn hóa L
Thuật toán WPrefixSpan
Bắt đầu
1. Duyệt CSDL S lần đầu, tính độ hỗ trợ và tìm các mục
ứng viên có kích thước 1 thỏa mãn tính chất: Một tập mục
P là tập mục ứng viên nếu thỏa mãn điều kiện 1.1, P sẽ
được nạp vào Ck
Điều kiện 1.1: support (P)* MaxW wmin_sup
2. Kiểm tra các tập mục ứng ứng viên trong Ck để tìm mẫu
dãy thường xuyên có trọng số chuẩn hóa thỏa mãn tính
chất support(P)*NW(P) wmin_sup, nạp vào L
3. Lặp với mỗi mục trọng số chuẩn hóa P, trong CSDL dãy
S
Thực hiện hàm đệ quy WPrefixSpan(,l,S|P)
Kết thúc lặp
Kết thúc
40
Thủ tục WPrefixSpan (α,l,S|α )
Tham số:
(1) α là một dãy ứng viên với trọng số chuẩn hóa thỏa điều kiện 1.1
(2) l là độ dài của α
(3) S|α là CSDL điều kiện với tiền tố α. S là trường hợp α =
Bắt đầu:
1. Duyệt S|α, đếm độ hỗ trợ của mỗi mục và tìm các mục ứng viên
trọng số chuẩn hóa trong các dãy. Một mục ứng viên trọng số
chuẩn hóa thỏa mãn tính chất 1.1, nạp vào Ck
Điều kiện 1.1: support ()* MaxW wmin_sup
- Với mỗi trong Ck :
(a) có thể được ghép làm thành phần cuối cùng của α
để tạo thành ứng viên cho một mẫu dãy thường xuyên
với trọng số chuẩn hóa hoặc
(b) có thể được nối vào với α để tạo thành ứng viên
cho một mẫu dãy thường xuyên với trọng số chuẩn hóa
- Kiểm tra các tập mục ứng viên trong Ck để tìm mẫu dãy
thường xuyên có trọng số chuẩn hóa thỏa mãn tính chất
support()*NW() wmin_sup, nạp vào L
2. Lặp với mỗi ứng viên mẫu dãy thường xuyên với trọng số chuẩn
hóa
- Ghép với α để tạo thành ứng viên một mẫu dãy thường
xuyên α’ và đầu ra là α’
3. Lặp với mỗi α’
- Xây dựng CSDL điều kiện với tiền tố α’ là S|α’ .
- Thực hiện đệ quy thủ tục WPrefixSpan(α’,l+1,S|α’)
Kết thúc.
41
2.3. BÀI TOÁN MẪU DÃY THƯỜNG XUYÊN TRỌNG SỐ VỚI KHOẢNG
CÁCH THỜI GIAN
Phần này trình bày thuật toán WIPrefixSpan [35] khai phá mẫu dãy thường
xuyên trọng số với khoảng cách thời gian. Thuật toán WIPrefixSpan [35] không
chỉ quan tâm tới trọng số của các mục trong CSDL mà còn cả khoảng cách thời
gian giữa các tập mục.
2.3.1. Mô tả bài toán
Cho I = {i1, i2, , in} là tập hợp các mục dữ liệu. Mỗi mục ij I được
gán một trọng số wj, j = 1,.....,n.
Một dãy Sm là một danh sách được sắp xếp theo thứ tự của các mục dữ
liệu dạng { (t1,1,s1), (t1,2,s2), (t1,3,s3),..., (t1,m,sm)} với sj I trong đó (1 ≤ j ≤ m)
là một tập mục được gọi là thành phần của dãy và sj có dạng (i1i2 ik) và it là
một mục dữ liệu thuộc I , và t, là khoảng cách thời gian giữa dãy s và s. Một
dãy Sm bị loại nếu chỉ có duy nhất một mục dữ liệu it I . Một mục dữ liệu chỉ
xuất hiện 1 lần trong thành phần của một dãy sj, nhưng có thể xuất hiện nhiều
lần trong các thành phần của một dãy Sm.
Kích thước |Sm| của một dãy là số lượng của các thành phần trong dãy Sm.
Độ dài l(Sm) của dãy là tổng số mục dữ liệu trong dãy Sm. Một cơ sở dữ liệu
dãy S = {S1, S2, , Sn} là một tập các bộ dữ liệu (sid,Sk) với sid là định danh
của một dãy và Sk là một dãy dữ liệu có dạng {(t1,1,s1), (t1,2,s2), (t1,3,s3),...,
(t1,m,sm)}.
Định nghĩa 1. (Dãy dữ liệu có khoả
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_khai_pha_top_k_mau_day_thuong_xuyen_tron.pdf