Thuật toán FP-growth

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 52 - 54)

Khai phá các mẫu thường xuyên đóng một vai trò quan trọng trong khai phá các luật liên kết và trong nhiều lĩnh vực khác của khai phá dữ liệu. Phần lớn các nghiên cứu trước đây, sử dụng một cách tiếp cận tương tự Apriori, dựa vào một luật heuristic kiểu Apriori : nếu bất kỳ mẫu k nào không phải là mẫu thường xuyên trong CSDL thì các siêu mẫu k+1 không thể là thường xuyên. Ý tưởng cơ bản là lặp lại việc tạo ra các tập mẫu thường xuyên của các mẫu ứng cử có độ dài k+1 từ tập các mẫu thường xuyên có độ dài k (với k ≥ 1), và kiểm tra sự xuất hiện thường xuyên của các mẫu đó trong CSDL.

Phương pháp Apriori đạt được hiệu quả tốt do làm giảm được các tập ứng cử. Tuy nhiên, trong trường hợp số lượng các tập mẫu quá lớn, các mẫu dài hoặc có ngưỡng giá trị hỗ trợ khá thấp thì một thuật toán tương tự như Apriori sẽ rơi vào một trong hai trường hợp sau:

- Phải trả giá cho việc quản lý một số lượng lớn các tập ứng cử. Ví dụ như nếu có 104 tập 1-phần tử thường xuyên, thuật toán Apriori sẽ phải tạo ra nhiều hơn 107 tập ứng cử độ dài 2, sau đó lưu trữ và kiểm tra mức độ xuất hiện của chúng. Ngoài ra, để tìm ra một mẫu thường xuyên có kích thước 100, như {a1...a100} thì phải tạo ra tổng cộng 2100 ≈ 1030 tập ứng cử. Đó là nhược điểm vốn có của việc tạo lập các tập ứng cử, cho dù có áp dụng kỹ thuật nào đi nữa.

- Tạo ra sự nhàm chán trong việc quét đi quét lại CSDL và kiểm tra một tập lớn các ứng cử bằng việc so sánh các mẫu, là điều đặc biệt đúng với khai phá các mẫu dài

Hiện tượng thắt cổ chai của các phương pháp tương tự Apriori là do quá trình tạo lập các tập ứng cử và kiểm tra chúng. Nếu như có thể bỏ qua bước

Nguyễn Tiến Thành – Công nghệ phần mềm K44 52

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức

tạo một tập lớn các ứng cử thì hiệu quả của việc khai phá sẽ được nâng cao một cách đáng kể.

Vấn đề này được giải quyết theo 3 phương diện sau:

Thứ nhất, xây dựng một cấu trúc dữ liệu mới, được tối ưu hóa gọi là cây mẫu thường xuyên hay viết tắt là FP-tree. Đây là một cấu trúc cây tiền tố mở rộng lưu trữ các quyết định, các thông tin định lượng về các mẫu thường xuyên. Chỉ có các phần tử độ dài 1 mới có nút của mình trong cây, các nút của cây được sắp xếp sao cho các nút xuất hiện thường xuyên hơn sẽ có khả năng chia sẻ nút cao hơn các nút có tần suất xuất hiện thấp hơn.

Thứ hai, phát triển một phương pháp khai phá các thành phần mẫu dựa trên cây FP, bắt đầu từ một mẫu độ dài 1 (gọi là mẫu hậu tố khởi đầu), chỉ kiểm tra cơ sở mẫu có điều kiện (một cơ sở dữ liệu mức thấp hơn bao gồm tập các phần tử thường xuyên cùng xuất hiện với mẫu hậu tố), xây dựng cây điều kiện FP của nó, và thực hiện khai phá theo kiểu đệ quy với cây trên. Sự tăng trưởng của mẫu được lưu trữ thông qua việc kết hợp mẫu hậu tố với mẫu mới được tạo ra từ cây FP. Vì tập phần tử thường xuyên trong mọi giao dịch luôn luôn được mã hóa theo con đường tương ứng trong cây mẫu thường xuyên, sự tăng trưởng bảo đảm tính đầy đủ của kết quả. Trong tình huống này, phương pháp được dùng không phải là tương tự Apriori : tạo lập và thử có giới hạn mà chỉ bao gồm thử có giới hạn. Hoạt động chính của quá trình khai phá là đếm gộp và hiệu chỉnh đường đi tiền tố, có chi phí thấp hơn nhiều so với việc tạo các ứng cử và so sánh các mẫu được thực hiện trong phần lớn các thuật toán dựa theo Apriori.

Thứ ba, kỹ thuật được sử dụng trong khai phá là kỹ thuật dựa vào việc phân vùng, phương pháp chia nhỏ để xử lý thay vì dựa vào Apriori : tạo từ đầu đến cuối các tập phần tử thường xuyên bằng cách kết hợp. Điều này làm kích thước của cơ sở mẫu có điều kiện giảm đi rất nhiều với mức tìm kiếm tiếp theo cũng như kích thước của cây điều kiện FP tương ứng. Hơn nữa, nó chuyển việc tìm kiếm các mẫu thường xuyên dài thành tìm kiếm

các mẫu thường xuyên ngắn hơn, sau đó ghép nối với hậu tố. Nó sử dụng số các phần tử thường xuyên ít nhất cũng bằng với hậu tố, đem lại sự lựa chọn tốt hơn. Các kỹ thuật trên đều góp phần vào việc làm giảm đáng kể chi phí tìm kiếm.

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 52 - 54)