I. Luật kết hợp
1.1 Khái niệm về luật và luật kết hợp
Định nghĩa hệ luật dẫn : Trong modul chương trình xử lý các thông tin của vấn đề đang nằm trong bộ nhớ tạm thời thông qua một CSDL chứa các luật dẫn và bộ phận suy diễn để suy ra thông tin mới.
Mô hình hệ luật dẫn bao gồm 3 bộ phận chính:
Cơ sở tri thức : tập các luật dẫn, mô hình bộ nhớ lâu bền của con người.
Bộ nhớ tạm thời (bộ nhớ hoạt động): chứa đựng các sự kiện khởi đầu của vấn đề và các sự kiện có từ suy diễn, mô hình bộ nhớ tạm thời của con người.
Động cơ suy diễn: mô hình hoá lập luận của con người bằng cách kết hợp các sự kiện của vấn đề với các luật trong CSTT để suy diễn ra thông tin mới.
Trong CSTT với các trạng thái chính là các sự kiện trong bộ nhớ hoạt động và bộ phận lập luận chính là động cơ suy diễn. Khi các luật được phát tác thì các kết luận được đưa vào bộ nhớ hoạt động thành các sự kiện mới và quá trình lặp lại liên tục đến khi lặp điều kiện dừng của hệ thống ( không có luật nào thoả mãn điều kiện đang có, hay không phát sinh thêm được tập mục phổ biến, thông tin mới…).
Mô tả một hệ luật dẫn: Các luật dẫn hoặc gọi là luật IF..THEN là những mệnh đề có dạng LHS=>RHS trong đó LHS xác định các điều kiện hoặc hoàn cảnh phải được thoả mãn cho luật được áp dụng, RHS là những tác động phải xảy ra khi luật được áp dụng. - Định nghĩa luật kết hợp: Gọi I = {I1, I2,..., Im} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục. Gọi D là một cơ sở dữ liệu, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục, T ⊆ I.
Định nghĩa 1: Một luật kết hợp là một quan hệ có dạng X ⇒ Y, trong đó X, Y ⊂ I là các
tập mục gọi là itemsets, và X Y =φ. Ở đây, X được gọi là tiền đề, Y là mệnh đề kết quả.
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin cậy (c).
Định nghĩa 2 : Độ hỗ trợ (support) của luật kết hợp X ⇒ Y là tỷ lệ phần trăm các bản ghi Y
X với tổng số các giao dịch có trong cơ sở dữ liệu.
Định nghĩa 3: Đối với một số giao dịch được đưa ra, độ tin cậy (confidence) là tỷ lệ của số giao dịch có chứa X Y với số giao dịch có chứa X. Đơn vị tính %.
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ hỗ trợ và độ tin cậy do người sử dụng xác định trước. Các ngưỡng của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và mincof.
Ví dụ : Khi phân tích giỏ hàng của người mua hàng trong một siêu thị ta có được luật kiểu như : 80% khách hàng mua sữa thì cũng mua bánh mì 30 % thì mua cả hai thứ .Trong đó “mua sữa ” là tiền đề còn “mua bánh mì ” là kết luận của luật . Con số 30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật.
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như SQL. Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu. Những tri thức này không đơn giản là kết quả của phép nhóm , tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp.
Định nghĩa 4: Nếu tập X có support(X )> minsup thì X gọi là tập phổ biến ( Frequent itemset ). Kí hiệu các tập này là FI
Định nghĩa 6 : Nếu X là phổ biến và không tập cha nào của X là phổ biến, ta nói rằng X là một tập phổ biến lớn nhất (maximally frequent itemset). Ký hiệu tập tất cả các tập phổ biến lớn nhất là MFI . Dễ thấy MFI ⊆ FCI ⊆ FI.
Quá trình tìm các luật kết hợp thường gồm 2 pha:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong cơ sở dữ liệu T.
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules). Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện ở pha 1.Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ liệu, việc sinh ra toàn bộ các tập phổ biến ( FI ) hay các tập đóng (FCI ) là không thực tế. Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất( MFI ) là đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh học.
Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập phổ biến lớn nhất một cách có hiệu quả. Khi các mẫu phổ biến (frequent pattern) dài (có từ 15 đến 20 items ) thì tập FI ,thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được. Các thuật toán dựa trên thuật toán Apriori - đếm tất cả 2k tập con của mỗi k- itemsets mà chúng quét qua, và do đó không thích hợp với các itemsets dài được. Các phương pháp khác sử dụng “ lookaheads ” để giảm số lượng tập mục được đếm. Tuy nhiên, hầu hết các thuật toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các k – itemsets trước khi tính đến các (k+1) – itemsets . Cách làm này làm hạn chế hiệu quả của lookaheads, vì các mẫu phổ biến dài hơn mà hữu ích vẫn chưa được tìm ra