Khai phá tập mục thường xuyên và tập mục cổ phần cao trong cơ sở dữ liệu giao tác

MỤC LỤC

CÁC KHÁI NIỆM CƠ BẢN

Cơ sở dữ liệu giao tác Định nghĩa 1.1

Biểu diễn cơ sở dữ liệu giao tác: Cơ sở dữ liệu giao tác thường được biểu diễn ở dạng biểu diễn ngang, biểu diễn dọc và biểu diễn bởi ma trận giao tác. Biểu diễn dọc: Cơ sở dữ liệu là một danh sách các mục dữ liệu, mỗi mục dữ liệu có một danh sách tất cả các định danh của các giao tác chứa mục dữ liệu này.

Bảng 1.1: Biểu diễn ngang của cơ sở dữ liệu giao tác.
Bảng 1.1: Biểu diễn ngang của cơ sở dữ liệu giao tác.

Tập mục thường xuyên và luật kết hợp

(3) Nếu một tập mục là thường xuyên thì mọi tập con khác rỗng của nó cũng là tập mục thường xuyên. Tính chất (3) được gọi là tính chất Apriori, tính chất này là cơ sở để rút gọn không gian tìm kiếm các tập mục thường xuyên.

Bài toán khai phá luật kết hợp

Bài toán thứ hai được giải quyết như sau: Giả sử đã tìm được X là tập mục thường xuyên, ta sinh ra các luật kết hợp bằng cách tìm ∀ Y ⊂ X, kiểm tra độ tin cậy của luật X\Y→Y có thỏa mãn độ tin cậy tối thiểu không. Bài toán thứ hai này đơn giản, mọi khó khăn nằm ở bài toán thứ nhất, hầu hết các nghiên cứu về luật kết hợp đều tập trung giải quyết bài toán thứ nhất là tìm các tập mục thường xuyên.

KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN

Các cách tiếp cận khai phá tập mục thường xuyên

Với cơ sở dữ liệu có n mục dữ liệu, không gian tìm kiếm có tất cả 2n tập con, rừ ràng đõy là bài toỏn NP khú, do vậy cần phải cú phương phỏp duyệt thớch hợp, tỉa nhanh các tập ứng viên. Phần tiếp sau mô tả chi tiết nội dung hai thuật toán tiêu biểu và là cơ sở để phát triển các thuật toán mới trong luận án: Thuật toán Apriori tiêu biểu cho phương pháp sinh ra các tập mục ứng viên và kiểm tra độ hỗ trợ của chúng;.

Thuật toán Apriori BFS

Ý tưởng chính của thuật toán như sau: sinh ra các tập mục ứng viên từ các tập mục thường xuyên ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi các tập mục ứng viên không thỏa mãn ngưỡng hỗ trợ cho trước. Vì vậy các tập mục ứng viên gồm k mục có thể được sinh ra bằng cách kết nối các tập mục thường xuyên có (k-1) mục và loại bỏ tập mục ứng viên nếu nó có chứa bất kỳ một tập con nào không phải là thường xuyên. Giai đoạn thứ hai, khai phá cây FP-tree chia thành nhiều bước tương ứng với các mục dữ liệu trong bảng đầu mục của cây FP-tree, mỗi bước sử dụng một cấu trúc dữ liệu phụ trợ là cây COFI-tree của mục dữ liệu đó.

Mỗi mục trong bảng đầu mục chứa 3 trường: tên mục dữ liệu, độ hỗ trợ địa phương(số lần xuất hiện của mục dữ liệu trong cây COFI- tree) và con trỏ(trỏ đến nút đầu tiên biểu diễn mục dữ liệu này trong cây). Mỗi nút của cây COFI-tree có 4 trường: tên mục dữ liệu, hai biến s và p(biến s biểu diễn độ hỗ trợ của nút, biến p cho biết số lần nút đó đã tham gia tạo mẫu), con trỏ(trỏ đến nút tiếp theo cùng tên trên cây). Duyệt cơ sở dữ liệu lần thứ nhất tính được độ hỗ trợ của mỗi mục dữ liệu, loại bỏ các mục dữ liệu không thỏa mãn ngưỡng minsup=3, sắp các mục còn lại theo thứ tự giảm dần của độ hỗ trợ, nhận được bảng 1.6.

Xét lần lượt các mục dữ liệu từ dưới lên trong bảng đầu mục của cây FP- tree, với mỗi mục dữ liệu, xây dựng cây COFI-tree của nó, khai phá cây này tìm mẫu thường xuyên, sau khi khai phá xong, loại bỏ cây đó và xây dựng cây COFI-tree cho mục dự liệu tiếp theo.

Bảng 1.8: Các mục dữ liệu trong giao tác sắp giảm dần theo độ hỗ trợ.
Bảng 1.8: Các mục dữ liệu trong giao tác sắp giảm dần theo độ hỗ trợ.

MỞ RỘNG BÀI TOÁN KHAI PHÁ TẬP MỤC THƯỜNG XUYÊN Mô hình khai phá tập mục thường xuyên cơ bản có nhiều ứng dụng trong

Thuật toán duyệt qua các mẫu trong danh sách ứng viên, loại các mẫu không thỏa mãn ngưỡng hỗ trợ và nhận được các mẫu thường xuyên là CD:4, BD:3. Để đáp ứng yêu cầu của thực tiễn, bài toán khai phá tập mục thường xuyên đã có nhiều cách thức mở rộng và ứng dụng. Một hướng mở rộng bài toán có nhiều ứng dụng là quan tâm đến cấu trúc dữ liệu và mức độ quan trọng khác nhau của các mục dữ liệu, các thuộc tính trong cơ sở dữ liệu.

• Quan tâm đến mức độ quan trọng khác nhau của các mục dữ liệu bằng cách gán cho mỗi mục một giá trị được gọi là trọng số. Độ hỗ trợ và độ tin cậy của luật kết hợp khi đó lần lượt trở thành độ hỗ trợ và độ tin cậy có trọng số. Để tìm các luật kết hợp định lượng người ta đưa bài toán về dạng nhị phân bằng cách phân khoảng các giá trị thuộc tính, sau đó có thể sử dụng các thuật toán khai phá luật kết hợp nhị phân đã biết.

Theo hướng này, nhiều nhà nghiên cứu đề xuất các mô hình mở rộng khai phá tập mục cổ phần cao, đánh giá sự đóng gióp của tập mục trong tổng số các mục dữ liệu của cơ sở dữ liệu.

BÀI TOÁN KHAI PHÁ TẬP MỤC CỔ PHẦN CAO Trước hết ta nêu định nghĩa của một số thuật ngữ

Phần ba tóm tắt nội dung và phân tích ưu nhược điểm của thuật toán FSM, một thuật toán nhanh cho phép khám phá tất cả các tập mục cổ phần cao. Luận văn đề xuất thuật toán AFSM dựa trên ý tưởng của thuật toán FSM và phương pháp mới tỉa hiệu quả các tập ứng viên sử dụng tính chất phản đơn điệu của tập mục cổ phần theo giao tác cao. • Dữ liệu cho khai phá tập mục thường xuyên là trường hợp đặc biệt của dữ liệu cho khai phá cổ phần cao khi tất cả các mục dữ liệu trong các giao tác có giá trị là 0 và 1.

Tập mục thường xuyên chỉ quan tâm đến số lần xuất hiện của tập mục trong các giao tác, trong khi đó tập mục cổ phần cao quan tâm đến tổng giá trị các mục dữ liệu của tập mục trong các giao tác. Tập mục thường xuyên quan tâm xem nhóm hàng X(tập mục) có bán được hay không mà bỏ qua các tham số rất quan trọng là tổng số lượng hàng bán được hoặc tổng lợi nhuận mang lại,…Với ngưỡng minShare cho trước, một tập mục X có thể chỉ chứa trong một số ít giao tác của CSDL nhưng lại là tập mục cổ phần cao nếu cổ phần Sh(X) của nó vượt ngưỡng minShare. Kể cả khi khai phá trên tập dữ liệu có giá trị nhị phân(0 hoặc 1) thì khai phá tập mục cổ phần cao cũng cho kết quả khác với khai phá tập mục thường xuyên.

Đã có nhiều công trình nghiên cứu các thuật toán tìm tập mục cổ phần cao, các tác giả đã đề xuất một số các thuật toán như thuật toán ZP, ZSP, SIP, FSM,… Trong số các thuật toán đó, thuật toán FSM là một thuật toán hiệu quả.

Bảng 2.2: Giá trị lmv và cổ phần của các mục dữ liệu trong CSDL bảng 2.1.
Bảng 2.2: Giá trị lmv và cổ phần của các mục dữ liệu trong CSDL bảng 2.1.

THUẬT TOÁN FSM

Cơ sở lý thuyết của thuật toán FSM

• Giá trị cổ phần tối(minimum local measure value) là min_lmv, min_lmv=minShare x Tmv;. • Độ dài cực đại(maximum length) của các giao tác trong cơ sở dữ liệu là ML,. • Giá trị cực đại (maximum value) của tất cả các mục trong cơ sở dữ liệu là MV,.

Mệnh đề trên đảm bảo rằng: nếu X không là tập mục cổ phần cao và CF(X) < min_lmv thì không có tập cha nào của X là tập mục cổ phần cao.

Thuật toán FSM

Nhận xét thuật toán FSM

Nhằm khắc phục những hạn chế của thuật toán FSM, luận văn đề xuất một thuật toán hiệu quả phát triển từ thuật toán FSM, gọi là thuật toán AFSM(Advanced FSM).

THUẬT TOÁN AFSM

Cơ sở lý thuyết của thuật toán AFSM

Xét hai tập mục X, Y sao cho Y ⊂ X, ta chứng minh nếu Y là tập mục cổ phần theo giao tác thấp thì X cũng là tập mục cổ phần theo giao tác thấp. Định lý 2.1 cho biết các tập mục cổ phần theo giao tác cao có tính chất phản đơn điệu như tính chất của tập mục thường xuyên, do đó có thể sử dụng tính chất này để tỉa các ứng viên khi khai phá. Nhận xét 2.1: Từ định lý 2.2 có thể suy ra tập các tập mục cổ phần cao chứa trong tập các tập mục cổ phần theo giao tác cao.

Theo định lý 2.1, các tập mụ cổ phần theo giao tác cao có tính chất phản đơn điệu như tập mục thường xuyên, do đó ta có thể áp dụng một số thuật toán khai phá tập mục thường xuyên đã có(như các thuật toán kiểu Apriori, thuật toán tìm kiếm theo chiều sâu FP- growth,… ), thay số lần xuất hiện của tập mục bởi giá trị theo giao tác của tập mục thì sẽ nhận được kết quả khai phá là các tập mục cổ phần theo giao tác cao. Khi đó ta chỉ cần duyệt lại cơ sở dữ liệu để tính giá trị đóng góp thực sự của các tập mục cổ phần theo giao tác cao để nhận được các tập mục cổ phần cao. Định lý 2.2 cũng cho ta một điều kiện cần để X là tập mục cổ phần cao, đó là X phải là tập mục cổ phần theo giao tác cao.

Ở bước lặp thứ k, nếu X là tập mục cổ phần theo giao tác thấp thì X là tập mục cổ phần thấp và mọi tập cha của X cũng là tập mục cổ phần theo giao tác thấp.

CF AFSM (X) ≤ CF FSM (X)