So sánh các thuật toán

Một phần của tài liệu TÌM HIỂU các THUẬT TOÁN tìm LUẬT kết hợp ỨNG DỤNG TRONG DATA MINING & hệ hỗ TRỢ CHẨN đoán một số BỆNH THÔNG THƯỜNG ở TRẺ EM (Trang 25 - 27)

Các tiêu chí so sánh:

Không gian: được đánh giá bằng số lượng tối đa các tổ hợp được thống kê trong suốt quá trình duyệt bất kỳ trên CSDL.

Thời gian: thống kê số lượng tối đa các lần duyệt CSDL (ước lượng I/O) và số lượng tối đa các phép toán so sánh (ước lượng CPU).

Do hầu hết các CSDL giao tác đều được lưu trữ trên đĩa thứ yếu và và việc tràn thao tác I/O là quan trọng hơn tràn CPU nên trọng tâm là số lần duyệt trên CSDL đầu vào. Trường hợp xấu nhất xảy ra khi mỗi giao tác trong CSDL đều có tất cả các phần tử. Gọi m là số phần tử trong mỗi giao tác, Lk là tập phổ biến gồm có k phần tử trên CSDL

D thì số tập phổ biến tối đa là 2m.

Trong các các kỹ thuật level-wise (như AIS, SETM, Apriori), mọi tập phổ biến trong

L1 nhận được trong quá trình duyệt CSDL lần đầu tiên. Tương tự, mọi tập phổ biến trong L2 cũng được nhận dạng trong lần duyệt thứ hai, và cứ thế tiếp tục. Mọi thuật

toán đều dừng khi không có thêm phần tử nào thuộc tập phổ biến được phát sinh bởi vậy CSDL đầu vào cần duyệt nhiều nhất là (m+1) lần.

Apriori-TID duyệt CSDL trong lần duyệt đầu tiên, sau đó dùng Ck thay cho CSDL tại bước thứ (k+1). Tuy nhiên điều này không giúp ích được gì trong trường hợp xấu nhất. Nguyên nhân do Ck sẽ chứa mọi giao tác cùng với các phần tử của chúng trong suốt quá trình xử lý đầu vào. OCD duyệt CSDL đầu vào chỉ một lần tại thời điểm bắt đầu thuật toán để xác định tập phổ biến trong L1. Sau này, OCD và Sampling chỉ dùng một phần của CSDL đầu vào và các thông tin nhận được trong lần duyệt đầu tiên dùng để tìm tổ hợp các tập phần tử của Lk với 1 ≤ k ≤ m. Trong lần duyệt thứ hai, các thuật toán này tính support cho mỗi tổ hợp phần tử. Bởi vậy sẽ chỉ có hai lần duyệt trong trường hợp xấu nhất. Kỹ thuật PARTITION làm giảm bớt tràn I/O bằng cách giảm số lượng CSDL cần duyệt xuống còn 2. CARMA cũng tương tự như vậy.

Sự tinh túy của thuật toán dựa trên tính chính xác của số lượng các tổ hợp “đúng” mà nó phát hiện. Như đã đề cập ở trên, mọi thuật toán sử dụng các tập phổ biến của một (hoặc nhiều) lần duyệt trước nhằm phát sinh các tập tổ hợp. Các tập tổ hợp này được đưa vào bộ nhớ chính để xác định tập tổ hợp các phần tử và tập này một lần nữa được nạp vào bộ nhớ để nhận được các support của chúng. Khi không đủ bộ nhớ, các thuật toán đề xuất những phương pháp quản lý bộ đệm và cấu trúc lưu trữ khác nhau.

AIS đề nghị Lk-1 có thể giữ ở trên đĩa, nếu cần thiết. Theo SETM, nếu Ck quá lớn để nạp vào bộ nhớ chính thì ghi nó xuống đĩa với cơ chế quản lý FIFO. Lớp thuật toán Apriori khuyến cáo giữ Lk-1 trên đĩa và mang lên bộ nhớ từng khối một tại một thời điểm nhằm tìm Ck. Tuy nhiên, Ck phải nằm trong bộ nhớ chính để xác định support ở cả hai thuật toán Apriori-TID và Apriori-Hybrid. Tuy vậy, mọi kỹ thuật khác đều giả sử rằng có đủ lượng bộ nhớ để quản lý các vấn đề dạng này. Tất cả các kỹ thuật tuần tự khác (như PARTITION, Sampling, DIC và CARMA) cân nhắc một phần thích hợp nào đó của dữ liệu để nạp vừa đủ trong bộ nhớ chính. Lớp thuật toán Apriori đề xuất cấu trúc dữ liệu cây băm hoặc mảng cho các tập phổ biến tuy nhiên AIS và SETM lại không đưa ra hướng giải quyết cụ thể nào. Cấu trúc dữ liệu đề nghị cho từng thuật toán cụ thể được trình bày trong bảng 6.

Về phương diện thương mại, kỹ thuật Apriori là được tin dùng hơn cả để khai phá các luật kết hợp.

Một số thuật toán sẽ phù hợp hơn khi đạt được những điều kiện cụ thể. AIS không đạt được hiệu quả tốt khi khi số lượng phần tử trong CSDL lớn bởi vậy phù hợp với những CSDL giao tác có số phần tử trong tổ hợp nhỏ. Apriori tốn ít thời gian thực hiện hơn so với Apriori-TID ở những lần duyệt đầu, nhưng Apriori-TID lại làm tốt hơn Apriori ở những lần duyệt về sau. Vì vậy thuật toán Apriori-Hybrid là sự lựa chọn tốt vì nó có thể chuyển qua Apriori-TID từ thuật toán Apriori. Tuy nhiên, cần xác định khi nào và trả giá như thế nào khi chuyển từ Apriori sang Apriori-TID. Mặc dù OCD sử dụng kỹ thuật gần đúng nhưng nó rất hiệu quả để tìm các tập phổ biến với ngưỡng

support thấp. CARMA là hướng kỹ thuật tương tác người dùng trực tuyến có sự hồi đáp thích hợp nhất khi chuỗi giao tác được nhận từ mạng máy tính.

Bảng 4: So sánh các thuật toán đã trình bày

Thuật toán Duyệt Cấu trúc dữ liệu Chú thích

AIS m+1 không xác định Thích hợp cho CSDL có số yếu tố trong tổ hợp thấp; Vế thứ hai chỉ đơn thuộc tính.

SETM m+1 không xác định tương thích với SQL

Một phần của tài liệu TÌM HIỂU các THUẬT TOÁN tìm LUẬT kết hợp ỨNG DỤNG TRONG DATA MINING & hệ hỗ TRỢ CHẨN đoán một số BỆNH THÔNG THƯỜNG ở TRẺ EM (Trang 25 - 27)

w