Lý thuyết về luật kết hợp

Một phần của tài liệu Khai phá luật kết hợp từ dữ liệu chuỗi thời gian (Trang 28 - 34)

2.1.2.1 Khái niệm

Cho I={I1, I2, .., Im} là tập hợp của m tính chất riêng biệt. Giả sử D là cơ sở dữ liệu, với các bản ghi chứa một tập con T các tính chất (có thể coi nhƣ T  I), các bản ghi đều có chỉ số riêng. Một luật kết hợp là một mệnh đề kéo theo có dạng X Y, trong đó X, Y  I, thỏa mãn điều kiện XY= . Các tập hợp X và Y đƣợc gọi là các tập hợp tính chất (itemset). Tập X gọi là nguyên nhân, tập Y gọi là hệ quả.

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy (confidence), đƣợc định nghĩa nhƣ phần dƣới đây.

Định nghĩa độ hỗ trợ

Định nghĩa 1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi T  D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập hợp X), ký hiệu là

support(X ) hay supp(X).

Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X

Định nghĩa 2: Độ hỗ trợ của một luật kết hợp X Y là tỷ lệ giữa số lƣợng các bản ghi chứa tập hợp X Y, so với tổng số các bản ghi trong D - Ký hiệu supp(X  Y)

Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi chứa X  Y. Nhƣ vậy, độ hỗ trợ mang ý nghĩa thống kê của luật.

Trong một số trƣờng hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ cao (Ví dụ nhƣ luật kết hợp xét trong cửa hàng tạp phẩm). Nhƣng cũng có trƣờng hợp, mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)

Định nghĩa độ tin cậy

Định nghĩa 1: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lƣợng các bản ghi trong D chứa X Y với số bản ghi trong D có chứa tập hợp X. Ký hiệu độ tin cậy của một luật là conf(r). Ta có 0 ≤ conf(r) ≤ 1.

Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau: Supp(XY)=P(X  Y)

Conf (XY) = P(Y/X)=supp(X  Y)/supp(X) Có thể định nghĩa độ tin cậy nhƣ sau:

supp(X) = {TD X T}

D (2.1)

supp(X  Y) = {TD XY T}

D (2.2)

Định nghĩa 2: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lƣợng các bản ghi chứa X   Y so với tổng số các bản ghi chứa X.

Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn cả Y. Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sự kiện Y đạt 85%”. Điều kiện ở đây chính là: “Xảy ra sự kiện X”.

Nhƣ vậy, độ tin cậy của luật thể hiện sự tƣơng quan giữa X và Y. Độ tin cậy đo sức nặng của luật, và ngƣời ta hầu nhƣ chỉ quan tâm đến những luật có độ tin cậy cao. Một luật kết hợp đề cập đến những mặt hàng thƣờng hay đƣợc khách hàng mua kèm với mặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý.

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ác luật có độ 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 trong một siêu thị ta đƣợc luật kiểu nhƣ: 85% khách hàng mua sữa thì 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 những 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 tập hợp

Định nghĩa 1: Tập hợp X đƣợc gọi là tập hợp thƣờng xuyên (Frequent Itemset) nếu có supp(X)  minsup, với minsup là ngƣỡng độ hỗ

trợ cho trƣớc. Kí hiệu các tập này là FI

Tính chất 1.1: Giả sử A,B  I là hai tập hợp với A B thì supp(A)

 supp(B). Nhƣ vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A

Tính chất 1.2: Giả sử A, B là hai tập hợp, A,B I, nếu B là tập hợp thƣờng xuyên và A B thì A cũng là tập hợp thƣờng xuyên.

Thật vậy, nếu B là tập hợp thƣờng xuyên thì supp(B)  minsup, mọi tập hợp A là con của tập hợp B đều là tập hợp thƣờng xuyên trong cơ sở dữ liệu D vì supp(A)  supp(B) (Tính chất 1.1).

Tính chất 1.3: Giả sử A, B là hai tập hợp, AB và A là tập hợp không thƣờng xuyên thì B cũng là tập hợp không thƣờng xuyên.

Định nghĩa 2: Một tập mục X đƣợc gọi là đóng (closed) nếu không có tập cha nào của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X‟ nào mà X  X‟ và t(X) = t(X‟) (với t(X) và t(X‟) tƣơng ứng là tập các giao tác chứa tập mục X và X‟). Ký hiệu tập phổ biến đóng là FCI.

Định nghĩa 3: 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ớm nhất là MFI. Dễ thấy MFI 

FCI  FI.

2.1.2.2. Một số hƣớng tiếp cận trong khai phá luật kết hợp

Lĩnh vực khai thác luật kết hợp cho đến nay đã đƣợc nghiên cứu và phát triển theo nhiều hƣớng khác nhau. Có những đề xuất nhằm cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn… và có một số hƣớng chính nhƣ sau:

Luật kết hợp nhị phân là hƣớng nghiên cứu đầu tiên của luật kết hợp. Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân. Trong dạng luật kết hợp này, các mục, thuộc tính, chỉ đƣợc quan tâm là có hay không xuất hiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuất hiện. Ví dụ: Trong hệ thống tính cƣớc điện thoại thì việc gọi 10 cuộc điện thoại và một cuộc đƣợc xem là giống nhau. Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó. Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phƣơng pháp nhƣ rời rạc hoá, mờ hoá, … Một ví dụ về dạng luật này: “gọi liên tỉnh= „yes‟ AND gọi di động= „yes‟ => gọi quốc tế= „yes‟ AND gọi dịch vụ 108 = „yes‟, với độ hỗ trợ 20% và độ tin cậy 80%”

Luật kết hợp có thuộc tính số và thuộc tính hạng mục: Các thuộc

tính của các CSDL thực tế có kiểu rất đa dạng, nhƣ số nhị phân, giá trị định tính, định lƣợng... Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phƣơng pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có. Một ví dụ về dạng luật này “phƣơng thức gọi = „Tự động‟ AND giờ gọi IN [„23:00:39.. 23:00:59‟] AND Thời gian đàm thoại IN [„200.. 300‟] => gọi liên tỉnh = „có‟ , với độ hỗ trợ là 23. 53% , và độ tin cậy là 80%”.

Luật kết hợp tiếp cận theo hƣớng tập thô: Tìm kiếm luật kết hợp

dựa trên lý thuyết tập thô.

Luật kết hợp nhiều mức: Cách tiếp cận theo luật này sẽ tìm kiếm

thêm những luật có dạng “mua máy tính PC => mua hệ điều hành AND mua phần mềm tiện ích văn phòng, …” thay vì chỉ những luật quá cụ thể nhƣ “mua máy tính IBM PC => mua hệ điều hành Microsoft Windows AND mua phần

mềm tiện ích văn phòng Microsoft Office, …”. Nhƣ vậy dạng luật đầu là dạng luật tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác nhau.

Luật kết hợp mờ: Với những hạn chế còn gặp phải trong quá trình

rời rạc hoá các thuộc tính số, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với ngƣời sử dụng một ví dụ của dạng này là: “thuê bao tƣ nhân = „yes‟ AND thời gian đàm thoại lớn AND cƣớc nội tỉnh = „yes‟ => cƣớc không hợp lệ = „yes‟, với độ hỗ trợ 4% và độ tin cậy 85%”. Trong luật trên, điều kiện thời gian đàm thoại lớn ở vế trái của luật là một thuộc tính đã đƣợc mờ hoá.

Luật kết hợp với thuộc tính đƣợc đánh trọng số: Trong thực tế,

các thuộc tính trong cơ sở dữ liệu không phải lúc nào cũng có vai trò nhƣ nhau. Có một số thuộc tính đƣợc chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác. Ví dụ khi khảo sát về doanh thu hàng tháng, thông tin về thời gian đàm thoại, vùng cƣớc là quan trọng hơn nhiều so với thông tin về phƣơng thức gọi... Trong quá trình tìm kiếm luật, chúng ta sẽ gán thời gian gọi, vùng cƣớc các trọng số lớn hơn thuộc tính phƣơng thức gọi. Đây là hƣớng nghiên cứu rất thú vị và đã đƣợc một số nhà nghiên cứu đề xuất cách giải quyết bài toán này. Với luật kết hợp có thuộc tính đƣợc đánh trọng số, chúng ta sẽ khai thác đƣợc những luật “hiếm” (tức là có độ hỗ trợ thấp, nhƣng có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa).

Luật kết hợp song song: Bên cạnh khai thác luật kết hợp tuần tự,

ngƣời ta cũng tập trung vào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp. Nhu cầu song song hoá và xử lý phân tán là cần thiết bởi kích thƣớc dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng nhƣ dung lƣợng bộ nhớ của hệ thống phải đƣợc đảm bảo. Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng.

Bên cạnh những nghiên cứu về các biến thể của luật kết hợp, các nhà nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ cơ sở dữ liệu.

Ngoài ra, còn có một số hƣớng nghiên cứu khác về khai thác luật kết hợp nhƣ: khai thác luật kết hợp trực tuyến, khai thác luật kết hợp đƣợc kết nối trực tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP, MOLAP, ROLAP, ADO.

Một phần của tài liệu Khai phá luật kết hợp từ dữ liệu chuỗi thời gian (Trang 28 - 34)

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

(71 trang)