.20 Ví dụ cây FP-Tree

Một phần của tài liệu (Luận văn thạc sĩ) Phương pháp khai thác theo chiều ngang để trích xuất các tập phổ biến (Trang 49 - 53)

2.4.1. Phương pháp tìm kiếm theo chiều rộng và theo chiều sâu

Phương pháp tìm kiếm theo chiều rộng sử dụng các tập phổ biến ở cấp hiện tại với chiều dài k để tạo ra các ứng viên ở cấp tiếp theo với chiều dài k+1, và quét cơ sở dữ liệu mới là cần thiết để đếm độ phổ biến của các ứng viên với chiều dài k+1. Bởi vì quét dữ liệu quá nhiều lần nên nó không thích hợp để khai thác mô hình dài.

Root f:4 c:4 b:3 fb:2 cb:2 cp:3 fcamp:2 fcam:3 Root f:4 b:1 c:1 c:3 p:2 b:1 a:3 m:2 p:1 b:1 m:1

37 Ngược lại, phương pháp tìm kiếm theo chiều sâu chỉ tìm kiếm trong các cây con của một tập hợp khi tập đó là tập phổ biến. Khi các tập phổ biến trở nên dài hơn, DFS thu nhỏ không gian tìm kiếm một cách nhanh chóng. Kết quả là, phương pháp DFS thường tốt hơn BFS trong khai thác dữ liệu dài.

2.4.2. Định dạng theo chiều ngang và định dạng theo chiều dọc

Định dạng theo chiều dọc: một danh sách mã giao tác (tid-list) được giữ cho từng hạng mục, tid-list có thể lớn đối với bộ dữ liệu dày đặc. Để tìm các tập phổ biến, cần phải tìm giao của các tid-list với nhau (rất tốn chi phí), và với mỗi tập giao tìm được thì chỉ có một tập phổ biến.

Định dạng theo chiều ngang: mỗi giao tác được ghi nhận như là một danh sách các hạng mục. Chúng đòi hỏi ít không gian, và với mỗi lần quét cơ sở dữ liệu, chúng tìm thấy nhiều tập phổ biến cục bộ mà có thể được sử dụng để phát triển các tập tiền tố để tạo tập phổ biến.

2.4.3. Kỹ thuật nén dữ liệu

Một cơ sở dữ liệu giao tác thường là rất lớn. Nếu một cơ sở dữ liệu có thể được nén và chỉ các thông tin liên quan đến việc khai thác được lưu giữ, thì khai thác có thể có hiệu quả. Cây FP-Tree và Diffset là hai ví dụ điển hình. Cây FP-Tree của một CSDL là một cây tiền tố của danh sách các hạng mục phổ biến trong các giao tác. Ý tưởng này có thể được minh họa trong ví dụ như sau:

Ví dụ 2.17: Cây FP-Tree được xây dựng như sau: Quét các cơ sở dữ liệu một lần để tìm ra bộ các hạng mục phổ biến và sắp xếp chúng với độ phổ biến giảm dần để có được f_list (xem Ví dụ 2.5). Để chèn một giao tác vào cây FP-Tree, các hạng mục không phổ biến được xóa và hạng mục còn lại trong các giao tác đều được sắp xếp theo thứ tự của f_list, tức là, các mục ít phổ biến nhất là ở lá, và các hạng mục với độ phổ biến cao hơn ở một cấp cao hơn trong cây FP-Tree. Hình 2.19 cho thấy cây FP-Tree. Cấu trúc cây FP-Tree có một số lợi thế trong khai thác tập phổ biến. Trước hết, cây FP-Tree thường có một tỉ lệ nén cao trong khi biểu diễn tập CSDL bởi vì:

Những danh mục không đủ độ phổ biến được loại ngay từ đầu, vì vậy việc tìm tập phổ biến chỉ thao tác trên một số lượng danh mục nhỏ hơn nhiều so với toàn bộ các danh mục.

38 Nhiều giao tác sẽ được nén chung trong cây FP-Tree và việc này giúp giảm bớt khá nhiều thao tác trong quá trình xác định độ phổ biến của tập danh mục.

Cấu trúc FP-tree cho phép thực hiện tìm kiếm theo chiều sâu và áp dụng mô hình chia để trị khá hiệu quả.

Diffset là một thuật toán nén các tid-set hiệu quả cho phương pháp áp dụng các định dạng dữ liệu theo chiều dọc. Đối với một thuật toán định dạng theo chiều dọc giống như thuật toán CHARM, tính toán độ phổ biến đòi hỏi các nút giao nhau trên tidsets, khi tidset quá lớn, không chỉ các tidsets tiêu tốn nhiều bộ nhớ, những tập giao của các tidset cũng gây tốn bộ nhớ. Để tránh điều đó, CHARM phát triển một kỹ thuật Diffset chỉ giữ lại sự khác biệt của các tid và các tập ứng viên khi nó sản sinh ra tập phổ biến.

2.4.4. Kỹ thuật loại bỏ để khai thác tập phổ biến

Định nghĩa 1: (Item merging) Giả sử X là một tập phổ biến và tất cả các giao tác có chứa tập danh mục X, đồng thời mọi giao tác này cũng chứa tập danh mục Y ≠ ∅ với Y ∩ X = ∅ và không tồn tại tập Y’ tương tự như Y với Y ⊂ Y’ (có nghĩa là Y là tập lớn nhất có thể có). Thì có thể kết luận là tập X ∪ Y là một tập phổ biến đóng có sup (X ∪ Y) =|Transaction|; và những tập phổ biến chứa X mà không chứa Y thì không thể là tập phổ biến đóng.

Ví dụ 2.18: Trong ví dụ 2.5 hiển thị trong bảng 2.2, cơ sở điều kiện cho tập tiền tố {fc: 3} là {(a, m, p), (a, m, p), (a, b, m)} (mục d và g là không phổ biến và bị loại), từ đó chúng ta có thể thấy mỗi giao tác của nó chứa hạng mục {am} nhưng không có tập cha của {am}. Hạng mục {am} có thể được sáp nhập với {fc} để tạo thành một tập phổ biến {fcam: 3}, và ta không cần phải khai thác tập phổ biến đóng chứa {fc} nhưng không chứa {am}.

Định nghĩa 2: (sub-itemset pruning) [5]: Xét X là tập phổ biến. Nếu X là một tập hợp con của một tập phổ biến đóng Y và sup (X) = sup (Y) thì X và tất cả các tập con của X không thể là một tập phổ biến đóng và do đó có thể được loại bỏ.

Ví dụ 2.19: Nhiều thuật toán khai thác mô hình phổ biến theo các mô hình chia để trị. Trong ví dụ hình 2.20, một mô hình chia để trị từ trên xuống theo thứ tự f_list thể hiện trong Ví dụ 2.5 (ngược lại, một mô hình chia để trị từ dưới lên sẽ làm theo thứ tự ngược lại của f_list):

39 (1) khai thác mẫu có chứa mục f,

(2) khai thác các mẫu có chứa mục c nhưng không có f,

(3) khai thác các mô hình có chứa một hạng mục nhưng không có f cũng không c, ..., Và cuối cùng là khai thác các mô hình chỉ chứa p. Tại một số điểm mà chúng ta muốn khai thác các mô hình với tiền tố {ca: 3}, chúng ta sẽ tìm thấy rằng {ca:3} là một tập hợp con riêng của tập phổ biến đóng {fcam: 3} đã tìm thấy với cùng độ phổ biến, ta có thể dừng khai thác các mô hình đóng với tiền tố {ca: 3}.

2.5. Kết luận chương

Trong chương này, luận văn đã trình bày một số khái niệm về tập phổ biến, và trình bày một số thuật toán nền tảng để tìm các tập phổ biến sử dụng phương pháp sinh ứng viên như thuật toán Apriori, thuật toán FP-Growth...

Trong thực tế có các cơ sở dữ liệu đặc biệt như: số hạng mục và số giao tác rất lớn dẫn đến việc khai thác theo phương pháp truyền thống thường gặp phải hạn chế về không gian lưu trữ cũng như hiệu năng tính toán do số lượng các ứng viên xuất hiện trong quá trình khai thác tăng theo cấp độ hàm mũ, dữ liệu được xuất ra dư thừa nhưng không có đủ thông tin phù hợp để khai thác,.v.v. Để giải quyết những hạn chế của phương pháp truyền thống gần đây những hướng tiếp cận là các phương pháp và kỹ thuật mới, bao gồm phương pháp tìm kiếm mới, cấu trúc dữ liệu hiện đại và kỹ thuật nén mới và áp dụng kỹ thuật chia để trị tiêu biểu Disclosed [15] là thuật toán hiệu quả đầu tiên khai thác theo chiều sâu, từ trên xuống cho các tập phổ biến đóng. Một thuật toán khai thác các tập phổ biến thường gọi là PIETM [16] được đề xuất, phát hiện ra các tập phổ biến theo cách từ dưới lên bằng hai lần quét cơ sở dữ liệu.

Sau khi nghiên cứu các thuật toán khai thác tập phổ biến dựa trên cấu trúc cây tìm kiếm theo chiều ngang, thì trong chương tiếp theo của luận văn học viên sẽ trình bày một hướng tiếp cận đó là sử dụng ma trận bit để nén tập dữ liệu. Bên cạnh đó, sử dụng kỹ thuật phân chia và cắt tỉa nhằm lược bỏ các giao tác không thỏa độ phổ biến để rút ngắn thời gian khai thác cũng được áp dụng.

40

Chương 3. PHƯƠNG PHÁP KHAI THÁC THEO CHIỀU NGANG ĐỂ

TRÍCH XUẤT CÁC TẬP PHỔ BIẾN

3.1. Khai thác dữ liệu theo cấu trúc cây tìm kiếm

Trong thực tế thường có hai phương án xây dựng cấu trúc cây tìm kiếm: Duyệt theo hạng mục và duyệt theo giao tác. Tùy thuộc vào đặc điểm của tập dữ liệu mà phương án thích hợp sẽ được lựa chọn.

3.1.1. Cây tìm kiếm duyệt theo giao tác

Là phương pháp tiếp cận theo chiều dọc, trong đó, cây tìm kiếm được xây dựng dựa trên số hàng và cho mỗi nút của cây, hạng mục thông thường của tất cả các số hàng của nó được xem xét.

Chiến lược tìm kiếm từ dưới lên: Cây tìm kiếm được xây dựng từ tập các nút, mỗi

nút là sự kết hợp của một số dòng (gọi là tập dòng hay rowset) trong tập dữ liệu ban đầu. Mức đầu tiên trong cây là nút gốc có giá trị rỗng. Mức thứ hai có m nút (với m là số dòng trong tập dữ liệu), mỗi nút được biểu diễn bằng một mã định danh dòng (ký hiệu là row-id). Nếu gọi x là một nút ở mức thứ hai; ở mức thứ ba, các nút con của x sẽ được xây dựng bằng cách kết hợp x với một trong các row-id lớn hơn x. Như vậy, với mỗi y > x, xy là nút con của nút x được tạo ra ở mức thứ ba. Các nút ở mức tiếp theo của cây sẽ được xây dựng theo cách tương tự. Thí dụ ta có CSDL có 4 giao tác, hình 3.1 biễu diễn cây tìm kiếm từ dưới lên

Hình 3.1 Biễu diễn cây tìm kiếm từ dưới lên {} {} 1 2 3 4 13 14 23 34 12 24 123 134 1234 234

Một phần của tài liệu (Luận văn thạc sĩ) Phương pháp khai thác theo chiều ngang để trích xuất các tập phổ biến (Trang 49 - 53)

Tải bản đầy đủ (PDF)

(73 trang)