1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu một số kỹ thuật khai phá luật kết hợp và ứng dụng trong bài toán tư vấn học tập tại trường cao đẳng kỹ nghệ ii luận văn thạc sỹ ngành công nghệ thông tin

80 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu Một Số Kỹ Thuật Khai Phá Luật Kết Hợp Và Ứng Dụng Trong Bài Toán Tư Vấn Học Tập Tại Trường Cao Đẳng Kỹ Nghệ II
Tác giả Nguyễn Văn Hưng
Người hướng dẫn TS. Nguyễn Quốc Tuấn
Trường học Trường Đại học Giao thông Vận tải
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sỹ
Năm xuất bản 2017
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 80
Dung lượng 2,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ LUẬT KẾT HỢP (14)
    • 1.1. Tổng quan về khai phá dữ liệu (14)
      • 1.1.1 Mở đầu (14)
      • 1.1.2 Định nghĩa khai phá dữ liệu (16)
      • 1.1.3 Quá trình khám phá tri thức (17)
      • 1.1.4 Kiến trúc hệ thống khai phá dữ liệu (19)
      • 1.1.5 Các hướng tiếp cận và kỹ thuật chính trong KPDL (22)
      • 1.1.6 Các dạng dữ liệu có thể khai phá (23)
      • 1.1.7 Một số ứng dụng của khai phá dữ liệu (23)
    • 1.2. Luật kết hợp (association rule) (0)
      • 1.2.1 Một số khái niệm cơ bản (25)
      • 1.2.2 Luật kết hợp là gì? (26)
      • 1.2.3 Bài toán khai phá luật kết hợp (27)
      • 1.2.4 Một số tính chất của tập mục phả biến và luật kết hợp (27)
      • 1.2.5 Các loại luật kết hợp (29)
  • CHƯƠNG 2. MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP (0)
    • 2.1. Mở đầu (33)
    • 2.2. Thuật toán Apriori tìm các tập mục phổ biến (33)
    • 2.3. Khai phá tập mục phổ biến theo hướng tiếp cận không sinh ứng cử (0)
      • 2.3.1 Mở đầu (39)
      • 2.3.2 Thuật toán xây dựng cây FP_Tree (40)
      • 2.3.3 Khai phá tập mục phổ biến từ cây FP-Tree (42)
    • 2.4. Nhận xét về các thuật toán (45)
    • 2.5. Khai phá luật kết hợp từ tập mục phổ biến (0)
    • 2.6. Đánh giá độ tin cậy của luật (0)
      • 2.6.1 Độ đo hữu ích của luật [4][7] (48)
      • 2.6.2 Độ đo quan trọng của luật (RIM) (52)
  • CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG TƯ VẤN HỌC TẬP (56)
    • 3.1. Mô tả bài toán (56)
    • 3.2. Xây dựng mô hình (57)
    • 3.3. Khai phá dữ liệu học tập của sinh viên (60)
      • 3.3.1 Phần mềm WEKA (60)
      • 3.3.2 Khai phá luật kết hợp từ dữ liệu điểm của sinh viên trường (71)
  • KẾT LUẬN (0)
  • TÀI LIỆU THAM KHẢO (80)

Nội dung

Tên luận văn: “Nghiên cứ ộ ậ p ậ Phương pháp nghiên cứu và kết quả đạt được: - Phương pháp nghiên cứu của đề tài: Nghiên cứu các kỹ thuật khai phá dữ liệu sử dụng luật kết hợp áp dụng c

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ LUẬT KẾT HỢP

Tổng quan về khai phá dữ liệu

1.1.1.1 Mục đích của khai phá dữ liệu

Mục đích của khai phá dữ liệu là chiết xuất tri thức có lợi cho kinh doanh và nghiên cứu khoa học, với hai hướng chính là mô tả và dự đoán Các mẫu khai phá dữ liệu được phát hiện nhằm phục vụ cho việc dự đoán, sử dụng các biến trong cơ sở dữ liệu để tìm ra các mẫu và dự đoán giá trị chưa biết hoặc giá trị tương lai Đồng thời, việc mô tả tập trung vào việc tìm kiếm các mẫu dễ hiểu từ dữ liệu.

1.1.1.2 Nhiệm vụ chính của khai phá dữ liệu bao gồm

 Phân lớp dữ liệu (phân lo i - classification)

Phân lớp là quá trình xác định một hàm ánh xạ từ mẫu dữ liệu vào các lớp đã biết trước Mục tiêu chính của thuật toán phân lớp là khám phá mối quan hệ giữa thuộc tính dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự đoán cho các mục mới Các kiến thức được phát hiện sẽ được biểu diễn dưới dạng các luật.

“Nếu các thuộc tính dự báo của một mục thoả mãn điều kiện của các tiền đề thì mục nằm trong lớp chỉ ra trong kết luận”

Một mục biểu diễn thông tin về nhân viên bao gồm các thuộc tính dự báo như họ tên, tuổi, giới tính, và trình độ học vấn, cùng với thuộc tính phân loại là trình độ lãnh đạo của nhân viên.

 Phân nhóm dữ liệu (clustering)

Là việc mô tả chung đế tìm ra các tập hay các nhóm, loại mô tả dữ liệu

Các nhóm dữ liệu có thể tách rời, phân cấp hoặc chồng chéo lên nhau, cho phép một dữ liệu thuộc nhiều nhóm khác nhau Ứng dụng khai phá dữ liệu đóng vai trò quan trọng trong việc phân nhóm, chẳng hạn như phát hiện các tập khách hàng có phản ứng tương tự trong cơ sở dữ liệu tiếp thị và xác định quang phổ từ các phương pháp đo tia hồng ngoại Nhiệm vụ đánh giá dữ liệu, bao gồm hàm mật độ xác suất đa biến và các trường trong cơ sở dữ liệu, có mối liên hệ chặt chẽ với quá trình phân nhóm này.

Hồi quy là quá trình học một hàm ánh xạ từ mẫu dữ liệu đến một biến dự đoán có giá trị thực, với nhiệm vụ tương tự như phân lớp nhưng khác ở chỗ thuộc tính dự báo là liên tục Các phương pháp thống kê cổ điển như hồi quy tuyến tính thường được sử dụng để dự báo giá trị số, bên cạnh các phương pháp mô hình hóa như cây quyết định Hồi quy có nhiều ứng dụng thực tiễn, chẳng hạn như dự đoán số lượng sinh vật phát quang trong rừng qua vi sóng từ cảm biến từ xa, ước lượng xác suất tử vong của bệnh nhân dựa trên triệu chứng, và dự báo nhu cầu sản phẩm từ người tiêu dùng.

Công việc này liên quan đến việc tìm kiếm mô tả cho tập con dữ liệu, với kỹ thuật tổng hợp thường được áp dụng trong phân tích dữ liệu thăm dò và báo cáo tự động Nhiệm vụ chính là tạo ra các mô tả đặc trưng cho một lớp, tóm tắt các đặc tính chung của tất cả hoặc hầu hết các mục trong lớp đó Các mô tả này thể hiện dưới dạng luật: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề, thì mục đó có tất cả các thuộc tính đã nêu trong kết luận.” Cần lưu ý rằng luật này khác với luật phân lớp, và luật phát hiện đặc trưng cho lớp chỉ được sản sinh khi các mục đã thuộc về lớp đó.

 Mô hình hóa phụ thuộc (dependency modeling)

Mô hình tìm kiếm sự phụ thuộc giữa các biến được chia thành hai mức: mức cấu trúc, mô tả qua đồ thị, và mức định lượng, thể hiện độ phụ thuộc Các phụ thuộc này thường được diễn đạt dưới dạng luật "nếu - thì", trong đó tiền đề và kết luận có thể là sự kết hợp logic của các giá trị thuộc tính Thực tế, tiền đề thường là nhóm giá trị thuộc tính, trong khi kết luận chỉ là một thuộc tính duy nhất Hệ thống cũng có khả năng phát hiện các luật phân lớp, yêu cầu tất cả các luật phải có cùng một thuộc tính được chỉ ra trong kết luận.

Quan hệ phụ thuộc có thể được thể hiện qua mạng tin cậy Bayes, một đồ thị có hướng và không chu trình Trong đó, các nút đại diện cho thuộc tính, và trọng số của các liên kết thể hiện sự phụ thuộc giữa các nút.

 Phát hiện sự th y đổ v độ lệch (change and deviation dectection)

Nhiệm vụ này nhằm khám phá sự thay đổi có ý nghĩa trong dữ liệu thông qua các độ đo đã biết hoặc giá trị chuẩn, đồng thời phát hiện sự lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình lệch phổ biến là lệch theo thời gian, phản ánh sự thay đổi của dữ liệu theo thời gian, và lệch theo nhóm, cho thấy sự khác biệt giữa hai tập con dữ liệu, bao gồm cả trường hợp một tập con thuộc về tập con khác Qua đó, chúng ta có thể xác định liệu dữ liệu trong một nhóm con có khác biệt đáng kể so với toàn bộ đối tượng hay không, từ đó phát hiện sai sót dữ liệu hoặc sai lệch so với giá trị thông thường.

Các nhiệm vụ khai thác dữ liệu yêu cầu thông tin đa dạng, ảnh hưởng đến thiết kế và lựa chọn phương pháp khác nhau Chẳng hạn, phương pháp cây quyết định giúp phân biệt các mẫu giữa các lớp nhưng không cung cấp thông tin về tính chất và đặc điểm của lớp.

1.1.2 Định nghĩa khai phá dữ liệu

Khai phá dữ liệu là quá trình phát hiện tri thức từ cơ sở dữ liệu, giúp rút ra các thông tin tiềm ẩn để dự báo trong kinh doanh và sản xuất Phương pháp này không chỉ nâng cao hiệu quả mà còn giảm thiểu chi phí thời gian so với các phương pháp truyền thống như thống kê.

Khai phá dữ liệu được định nghĩa bởi nhiều tác giả với những góc nhìn khác nhau Ferruzza mô tả khai phá dữ liệu là tập hợp các phương pháp trong quá trình khám phá tri thức, nhằm chỉ ra sự khác biệt trong các mối quan hệ và các mẫu chưa biết trong dữ liệu Parsaye nhấn mạnh rằng đây là quá trình hỗ trợ quyết định, nơi chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong cơ sở dữ liệu Fayyad định nghĩa khai phá tri thức là một quá trình nhận ra những mẫu dữ liệu có giá trị, mới mẻ, hữu ích, tiềm năng và dễ hiểu.

1.1.3 Quá trình khám phá tri thức nh 1 Quá trình khám phá tri thức [5]

Quá trình khám phá tri thức từ cơ sở dữ liệu (CSDL) là một hoạt động tương tác giữa con người và các công cụ tin học, trong đó con người đóng vai trò trung tâm Đây không phải là một hệ thống phân tích tự động, mà là một chuỗi các hoạt động liên tục yêu cầu người sử dụng có kiến thức cơ bản về lĩnh vực cần khám phá Người dùng cần chọn đúng các tập con dữ liệu và lớp mẫu phù hợp để đạt được mục tiêu cụ thể Tri thức được rút ra từ CSDL thường nhằm giải quyết các nhiệm vụ nhất định trong một lĩnh vực cụ thể, do đó, quá trình phát hiện tri thức mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức mà là nhằm phục vụ cho việc hoàn thành nhiệm vụ đề ra.

Tập hợp dữ liệu là bước khởi đầu quan trọng trong quá trình khai phá dữ liệu, được thực hiện từ các cơ sở dữ liệu, kho dữ liệu, và cả từ các nguồn dữ liệu ứng dụng Web.

 Trích lọc dữ liệu (Selection) Ở giai đoạn này lựa chọn những dữ liệu phù hợp với nhiệm vụ phân tích trích rút từ CSDL

 Làm s ch, tiền xử lý và chuẩn bị rước dữ liệu (Cleansing, Pre- processing and Preparation)

Giai đoạn thứ ba trong quá trình khai phá dữ liệu thường bị sao lãng, nhưng thực sự rất quan trọng Nhiều lỗi xảy ra khi gom dữ liệu, dẫn đến tính không đủ chặt chẽ và logic, khiến dữ liệu chứa các giá trị vô nghĩa như Điểm = -1 Giai đoạn này tập trung vào việc xử lý các dữ liệu không chặt chẽ, được xem là thông tin dư thừa và không có giá trị Việc "làm sạch" dữ liệu này là cần thiết, vì nếu không, nó có thể gây ra những kết quả sai lệch nghiêm trọng.

 Chuyển đổi dữ liệu (Transformation)

Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đƣợc chuyển đối hay đƣợc hợp nhất về dạng thích hợp cho việc khai phá

Luật kết hợp (association rule)

1.2.1 Một số khái niệm cơ bản

Tập I = {i1, i2, …, in} bao gồm n mục phân biệt, trong đó mỗi mục (item) được hiểu là một mặt hàng trong siêu thị hoặc một thuộc tính trong cơ sở dữ liệu.

Tập X I với k=|X| đƣợc gọi là k-tập_mục (tập mục có lực lƣợng bằng k)

Tập T I đƣợc gọi là một giao tác (hay một bản ghi) Độ hỗ tr của một tập mục ( itemset )

Độ hỗ trợ (Support) của một tập mục X trong tập các giao tác D, ký hiệu là supp(X), được định nghĩa là tỷ lệ giữa số giao tác T trong D chứa X và tổng số giao tác của D, thể hiện dưới dạng phần trăm.

( ) |* | +| Độ hỗ trợ của một tập mục có giá trị giữa 0 và 1, tức là 0≤supp(X)≤1 với mọi tập mục X

Tập mục phổ bi n ( frequent itemset )

Tập mục X được gọi là tập mục phổ biến nếu nó thoả mãn điều kiện pp(X) ≥ n p, trong đó minsup là một giá trị đã được xác định trước.

Tập mục phổ biến có những tính chất quan trọng như sau: Đầu tiên, độ hỗ trợ của một tập mục nằm trong khoảng từ 0 đến 1, tức là \$0 \leq \text{supp}(X) \leq 1\$ Thứ hai, nếu có hai tập mục X và Y, khi X bao hàm Y thì độ hỗ trợ của X sẽ lớn hơn hoặc bằng độ hỗ trợ của Y, vì mọi giao tác trong tập D chứa Y cũng sẽ chứa X Thứ ba, mọi tập con A của một tập mục phổ biến B cũng sẽ là tập mục phổ biến, miễn là độ hỗ trợ của B lớn hơn hoặc bằng mức tối thiểu \$\text{minsup}\$, do đó mọi giao tác trong D chứa B cũng sẽ chứa A Cuối cùng, nếu một tập mục không phổ biến, thì mọi tập con của nó cũng sẽ không phổ biến.

Nếu tập B không đạt độ hỗ trợ tối thiểu trên D, tức là supp(B) < minsup, thì mọi tập A chứa B sẽ trở thành tập mục không phổ biến Điều này xảy ra vì nếu giao tác không chứa B, thì chắc chắn cũng sẽ không chứa A.

1.2.2 Luật kết hợp là gì?

Một luật kết hợp được định nghĩa dưới dạng XY, trong đó X và Y là các tập mục thỏa mãn điều kiện X,YI (X,Y≠) và XY Trong luật kết hợp XY, X được gọi là tiên đề, còn Y là kết quả của luật.

Luật kết hợp có hai thông số quan trọng là độ hỗ trợ và độ tin cậy Độ hỗ trợ của luật kết hợp XY, ký hiệu là supp(XY), được xác định bằng supp(XY) Độ hỗ trợ này thể hiện phạm vi ảnh hưởng của luật trên toàn bộ cơ sở dữ liệu.

Độ hỗ trợ của luật cho biết tỷ lệ phần trăm giao tác chứa tập X∪Y trong tổng số giao tác, ví dụ 30% Độ tin cậy của một luật kết hợp X→Y, ký hiệu là conf(X→Y), thể hiện tỷ lệ phần trăm giao tác trong D chứa X cũng chứa Y, tương đương với xác suất có điều kiện P(Y|X) Độ tin cậy này nằm trong khoảng từ 0 đến 1 và được tính bằng công thức: conf(X→Y) = P(Y|X) = supp(X∪Y) / supp(X) Nó phản ánh độ chính xác và tính đúng đắn của luật trong phạm vi ảnh hưởng của nó, được xác định bởi độ hỗ trợ, và cho biết mức độ đúng của luật.

Khi nói rằng luật XY có độ tin cậy 80% và độ hỗ trợ 15%, điều này có nghĩa là 80% các giao tác hỗ trợ cho X cũng đồng thời hỗ trợ cho Y, trong khi tỉ lệ giao tác chứa cả X và Y trong cơ sở dữ liệu là 15%.

1.2.3 Bài toán khai phá luật kết hợp

Vấn đề lớn nhất trong việc khai thác luật kết hợp là số lượng luật cần xem xét lý thuyết với cơ sở dữ liệu và tập mục ngày càng lớn Số lượng luật tăng theo lũy thừa của lực lượng tập mục I Tuy nhiên, không cần khai thác tất cả các luật, mà chỉ những luật có giá trị Các luật được tạo ra cần phải được giới hạn bởi ngưỡng hỗ trợ và ngưỡng tin cậy Do đó, nếu đặt Z = X∪Y, thì điều kiện supp(X→Y) ≥ minsup tương đương với việc Z là tập mục phổ biến.

H g đo n cơ bản của thuật toán khai phá luật k t h p

Output : Các luật thỏa minsupp, minconf

Pha 1: Tìm tất cả các tập mục phổ biến trong D (tìm tất cả các tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp)

Pha 2: Sinh các luật từ các tập mục phổ biến sao cho độ tin cậy của luật lớn hơn hoặc bằng minconf

1.2.4 Một số tính chất của tập mục phả biến và luật kết hợp

1.2.4.1 Một sổ tính chất của tập mục phổ biến

 Tính chất 1 (Độ hỗ trợ của tập con):

Với A và B là tập các mục, nếu A B thì sup(A) ≥ sup(B) Điều này là rõ ràng vì tất cả các giao tác của D hỗ trợ B thì cũng hỗ trợ A

Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến

Trong một tập B không có độ hỗ trợ tối thiểu trên D, nếu sup(B) < minsup, thì một tập con A của B sẽ không phải là tập phổ biến, vì sup(B) ≤ sup(A) < minsup (theo tính chất 1).

 Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến

Nếu mục B là mục phổ biến trên D, nghĩa là sup(B) ≥ minsup thì mọi tập con A của B là tập phổ biến trên D vì sup(A) ≥ sup(B) > minsup

1.2.4.2 Một số tính chất của luật kết hợp

 Tính chất 1 (Không hợp các luật kết hợp):

Giả sử có hai luật kết hợp mạnh X => Z và Y => Z thì X Y => Z chưa chắc đã là luật kết hợp mạnh Tương tự nếu có X=>Y và X=>Z thì X=>Y Z chƣa chắc mạnh

Thật vậy xét: I = {x, y, z}, T = {xz, yz, xy, xyz}, minsup = 50%, minconf= 60% Dễ thấy x => z (50%, 67%), y => z (50%, 67%), x => y (50%, 67%) là mạnh Còn xy => z (25%, 50%) và x => yz (25%, 33%) không mạnh Dễ thấy x => z (50%, 67%), y => z (50%, 67%), x => y (50%, 67%) là mạnh Còn xy => z (25%, 50%) và x => yz (25%, 33%) không mạnh

 Tính chất 2 (Không tách luật):

Giả sử có luật kết hợp mạnh X Y => Z thì X => Z và Y => Z chƣa chắc đã là luật kết hợp mạnh

Thật vậy xét: I = {x, y, z, t}, T = {xt, yt, xyz}, minsup = 30%, minconf

= 60% Dễ thấy xy => z (33%, 100%) là mạnh

Tuy nhiên nếu có luật kết hợp mạnh X => Y Z thì X => Y và X => Z chắc chắn là luật kết hợp mạnh

Thật vậy ta chỉ cần chứng minh X => Y là luật kết hợp mạnh

sup(X Y) ≥ minsup và sup(X Y) / sup(X) ≥ minconf (*)

Xuất phát từ giả thiết rằng luật kết hợp mạnh X => Y Z có sup(X Y Z) ≥ minsup và sup(X Y Z) / sup(X) ≥ minconf, ta có thể thấy rằng sup(X Y) ≥ sup(X Y Z) đã được chứng minh Tương tự, luật kết hợp mạnh X => Z cũng được xác nhận.

 Tính chất 3 (Các luật kết họp không có tính bắc cầu):

Giả sử có các luật kết hợp mạnh X => Y và Y => Z thì X => Z chƣa chắc đã là luật kết hợp mạnh

Thật vậy xét: I = {x, y, z}, T = {xy, yz}, minsup = 30%, minconf 60% Dễ thấy x => y (50%, 100%) và y => z (50%, 100%) đều mạnh

Nếu luật A => (L \ A) không thoả mãn độ tin cậy cực tiểu (minconf) thì luật B => (L \ B) cũng không thoả mãn, trong đó B A L, B ≠ ∅

Thật vậy conf(B => (L\B)) = sup(L)/sup(B)≤ sup(L)/sup(A) < minconf

Tương tự: Nếu luật (L\C) => C là luật kết hợp mạnh thì luật (L\D) =>

Thật vậy conf((L\D) => D) = sup(L)/sup(L\D)≥sup(L)/sup(L\C)≥ minconf

Và hiển nhiên theo giả thiết sup(L) ≥ minsup nên (L\D) => D là mạnh

Các tính chất này của luật kết hợp sẽ đƣợc sử dụng trong các thuật toán về sau

1.2.5 Các loại luật kết hợp

1.2.5.1 Luật kết hợp nhị phân Đối với các luật kết hợp này, các mục chỉ đƣợc quan tâm là có xuất hiện hay không xuất hiện trong giao dịch chứ không quan tâm đến mức độ xuất hiện Ví dụ: “Mua bia=> Mua lạc”, “Mua quà, Mua hoa => Tặng bạn”, Đây là dạng luật kết hợp đơn giản nhất và điều đặc biệt là chúng ta có thể chuyển các dạng luật khác về dạng luật này nhờ phương pháp rời rạc hoá Các thuật toán tiêu biểu thực hiện khai phá luật kết hợp nhị phân là Apriori và FP- Growth Chúng ta sẽ đi sâu nghiên cứu trong phần tiếp sau

1.2.5.2 Luật kết hợp định lượng Đối với loại này, ta không chỉ quan tâm tới sự có mặt hay không của các mục trong giao dịch mà còn quan tâm tới định lƣợng của từng mục trong luật

Ví dụ: “Mua bia 2-5 chai => Mua lạc 5-10 gói”,

“Tuổi 20-30, Mua quà 50-100k, Mua hoa 50-100k => Tặng bạn thân”,

1.2.5.3 Luật kết hợp đơn chiều Đối với loại này, các luật chỉ tham chiếu đến 1 chiều của dữ liệu

Ví dụ: “Mua bia” có thể chuyển thành “Mua lạc”, hay “Mua quà” và “Mua hoa” có thể viết lại thành “Mua thiếp” Ở đây, chúng ta chỉ đề cập đến một chiều là hành động "Mua" và có thể diễn đạt lại quy luật này theo cách khác.

Mua(X, “quà”) ^ Mua(X, “hoa”) => Mua(X, “thiếp”),

Trong đó X là biến biểu diễn khách hàng

1.2.5.4 Luật kết hợp đa chiều Đối với loại này, các luật có thể tham chiếu đến nhiều hơn 1 chiều của dữ liệu

MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP

Mở đầu

Các thuật toán khai phá luật kết hợp đƣợc đƣa ra đều thực hiện hai pha:

+ Pha 1: Tìm tất cả các tập mục phổ biến (độ hỗ trợ lớn hơn minsup), đây là pha tốn khá nhiều thời gian

Trong Pha 2, chúng ta sẽ tìm kiếm các luật kết hợp từ những tập mục phổ biến với độ tin cậy lớn hơn mức tối thiểu (minconf) Pha này thực hiện đơn giản và nhanh chóng hơn nhiều so với Pha 1.

Các thuật toán khai phá luật kết hợp chủ yếu tập trung vào việc khai phá tập mục phổ biến Kể từ khi vấn đề này được đề cập, đã có một số lượng lớn các thuật toán được đề xuất, với hai hướng tiếp cận chính trong việc khai phá tập mục phổ biến.

+ Các thuật toán dựa trên hướng tiếp cận sinh ứng cử và kiểm tra

(Generate candidate - and - test), điển hình là thuật toán Apriori

+ Các thuật toán dựa trên hướng tiếp cận không sinh ứng cử, điến hình là thuật toán FP - Growth.

Thuật toán Apriori tìm các tập mục phổ biến

The Apriori algorithm, proposed by Rakesh Agrawal, Tomaz Imielinski, and Arun Swami in 1993, has since been enhanced by numerous researchers to improve its efficiency The name "Apriori" is derived from "Algorithm PRIOR knowledge of frequent Itemset properties." This algorithm employs a bottom-up strategy and utilizes breadth-first search for its operations.

 k-tập mục: tập mục có k phân tử

 Lk: tập các k-tập_mục phổ biến (frequent itemset) tức là các tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp và có lực lƣợng bằng k

 Ck: tập các k-tập_mục ứng cử (candidate itemset), là các tập mục có lực lƣợng bằng k Ý ƣởng

Thuật toán Apriori tìm tất cả các tập mục phổ biến Lk thỏa mãn ngưỡng hỗ trợ tối thiểu minsupp Trong giai đoạn đầu, thuật toán xác định các tập mục 1-tập_mục và độ hỗ trợ tương ứng, từ đó tạo ra tập C1 Những tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp sẽ được đưa vào tập L1, là tập mục phổ biến 1-tập_mục Ở giai đoạn tiếp theo, thuật toán sử dụng các tập mục phổ biến Lk-1 để tìm các tập mục ứng viên Ck thông qua phương pháp kết nối và cắt tỉa, được mô tả trong thủ tục apriori_gen() Dựa vào tập mục ứng viên Ck, thuật toán xác định các tập mục phổ biến Lk+1 bằng cách loại bỏ những tập mục không thỏa ngưỡng hỗ trợ Quá trình này tiếp tục cho đến khi không còn tập Lk mới nào được sinh ra từ tập Ck-1.

Thuật toán Apriori tính toán các tập mục phổ biến thông qua các bước lặp Mỗi bước lặp, cơ sở dữ liệu được quét một lần để xác định và đưa vào tập Lk các tập mục phổ biến có kích cỡ giống nhau, với k là kích cỡ của tập mục.

Input : Cơ sở dữ liệu D, ngƣỡng hỗ trợ minsup

Output : Tất cả các tập mục phổ biến

Quét CSDL D để tìm các tập mục phổ biến 1-tập mục L 1

//sinh tập mục ứng viên mới k-tập_mục từ tập mục

// hàm trả về các mục ứng cử chứa trong giao tác t

For tập mục ứng viên c i C t do c i count++; end; end;

Trong giai đoạn đầu, chúng ta xác định tập C1, là tập ứng cử có 1-tập mục với độ hỗ trợ tương ứng Sau đó, các tập mục này được đưa vào tập L1 bằng cách giữ lại những tập mục có độ hỗ trợ lớn hơn hoặc bằng minsupp.

Các giai đoạn thứ k (k>1) được chia thành hai pha: Pha 1 là sinh các tập mục ứng viên Ck từ tập mục phổ biến Lk-1 thông qua hàm apriori_generate() Pha 2 là quét cơ sở dữ liệu D để tính độ hỗ trợ cho từng tập mục ứng viên trong Ck.

Tập mục phổ biến L1 được xác định bằng cách tìm từng mục riêng lẻ và độ hỗ trợ tương ứng (C1) Sau đó, chỉ giữ lại những mục có độ hỗ trợ lớn hơn hoặc bằng minsupp, tạo thành L1.

- Hàm apriori_generate(): Sinh các tập mục ứng viên

If((l 1 [1]=l 2 [1]) and (l 1 [2]=l 2 [2]) and and (l 1 [k-2]=l 2 [k-2]) and (l 1 [k-1]Y) > minsup và conf(X=>Y) > minconf.

Trong đó: sup(X=>Y) = sup(X Y) và conf(X=>Y) = P(Y|X) = sup(X Y)/sup(X) Các luật kết hợp có thể sinh ra nhƣ sau:

- Với mỗi tập mục phổ biến l (sup(l)> minsup), thực hiện sinh ra tất cả tập con a khác rỗng và khác l của l

- Với mỗi tập con a này, ta có luật a=>(l\a) nếu sup(l)/sup(a)> minconf

Dựa vào CSDL D trong Bảng 1 và độ hỗ trợ được tính trong Hình 3, giả sử dữ liệu chứa tập mục phổ biến l = {1,2,5} Các tập con khác rỗng của l, theo thứ tự giảm dần, bao gồm: {1,2}, {1,5}, {2,5}, {1}, {2}, {5}, với độ tin cậy tương ứng.

Nếu ngƣỡng độ tin cậy cực tiểu minconfP% thì các luật rl, r2, r3, r6 là các luật kết hợp mạnh cần tìm

2.6 Đ n g độ tin cậy của luật

Hầu hết các thuật toán tìm luật kết hợp đều sử dụng các độ đo khách quan như độ tin cậy và độ hỗ trợ để lọc trong quá trình tìm kiếm Theo thuật toán Apriori, luật được xác định dựa trên các chỉ số thống kê, dẫn đến việc tạo ra một tập hợp lớn các luật Tuy nhiên, vấn đề quan trọng là xác định luật nào thực sự hữu ích cho người sử dụng trong số lượng lớn này, điều này đặt ra một thách thức cần được giải quyết.

Thông thường, tập luật có được sau khi thuật toán khai phá thực hiện gồm các loại luật sau:

- Luật là thừa vì đã đƣợc hàm chứa từ những luật khác trong tập luật khai phá đƣợc

- Luật thể hiện điều mà người ta đã biết từ lâu do có kinh nghiệm trong quá trình làm việc

- Những sự kết hợp vô nghĩa

- Luật thể hiện những tri thức thật sự mới mẻ và có ích

Con người không thể phân tích luật một cách thủ công bằng mắt thường giữa hàng nghìn quy định Cần giảm thiểu số lượng luật tìm được mà vẫn đảm bảo thông tin không bị mất và luật thực sự hữu ích cho người dùng Số lượng luật quan tâm nên ở mức chấp nhận được, từ vài luật đến vài chục luật Các luật này cần được trình bày theo thứ tự giảm dần về mức độ quan tâm của người dùng Quá trình này gọi là sắp xếp luật, trong khi việc tìm ra các luật có ý nghĩa thực sự cho người dùng được gọi là tìm luật hữu ích.

Hầu hết các thuật toán khai phá luật kết hợp hiện có chủ yếu dựa vào dữ liệu mà không tận dụng tri thức của người sử dụng về lĩnh vực Tuy nhiên, kinh nghiệm và trực giác của con người trong quá trình làm việc ngày càng trở nên quý giá, đóng vai trò quan trọng trong việc cải thiện hiệu quả của các bài toán khai phá dữ liệu.

Nhiều người hiện đang quan tâm đến việc khám phá sự hữu ích của luật, tuy nhiên các phương pháp tiếp cận vẫn còn rời rạc và phụ thuộc vào từng lĩnh vực ứng dụng Do đó, việc áp dụng luật sau giai đoạn khai phá thực sự gặp nhiều khó khăn.

Chúng ta sẽ khám phá các độ đo phổ biến trong phát hiện luật, bao gồm độ đo Lift, Cosine (được gọi chung là độ đo hữu ích của luật) và độ đo quan trọng của luật (RIM).

2.6.1 Độ đo hữu ích của luật [4][7]

Một luật đƣợc xem là hữu ích khi luật đó thỏa mãn một yêu cầu cụ thể của một lớp người dùng trong một lĩnh vực cụ thể

Tính hữu ích của một luật được đánh giá bởi người sử dụng, do đó không thể đưa ra một định nghĩa tổng quát cho tính hữu ích của luật.

- Thứ nhất, quan niệm về tính hữu ích của luật của những người sử dụng trong các lĩnh vực khác nhau là khác nhau

Đối với một cơ sở dữ liệu cụ thể và một tập hợp các quy tắc đã được xác định, các người dùng khác nhau sẽ có những mối quan tâm khác nhau.

Đánh giá độ tin cậy của luật

- Luật thể hiện những tri thức thật sự mới mẻ và có ích

Con người không thể phân tích luật một cách thủ công bằng mắt thường trong hàng nghìn luật để tìm ra luật hữu ích Cần giảm thiểu số lượng luật tìm được trước khi ứng dụng, đảm bảo không mất thông tin và luật tìm được thực sự hữu ích Số lượng luật đáng quan tâm nên nhỏ, từ vài luật đến vài chục luật, và cần được trình bày theo thứ tự giảm dần về mức độ quan tâm của người dùng Quá trình này gọi là sắp xếp luật, trong khi việc tìm ra các luật có ý nghĩa cho người dùng được gọi là tìm luật hữu ích.

Hầu hết các thuật toán khai phá luật kết hợp hiện có chủ yếu dựa vào dữ liệu mà không tận dụng tri thức của người sử dụng trong lĩnh vực Tuy nhiên, kinh nghiệm và trực giác của con người, được tích lũy qua thời gian, đã trở thành những thông tin quý giá cho việc khai phá dữ liệu.

Nhiều người hiện đang quan tâm đến việc khám phá sự hữu ích của luật, tuy nhiên các phương pháp tiếp cận vẫn còn rời rạc và phụ thuộc vào từng lĩnh vực ứng dụng Do đó, việc áp dụng luật sau giai đoạn khai phá thực sự gặp nhiều khó khăn.

Chúng ta sẽ khám phá các độ đo phổ biến trong phát hiện luật, bao gồm độ đo Lift, Cosine (được gọi chung là độ đo hữu ích của luật) và độ đo quan trọng của luật (RIM).

2.6.1 Độ đo hữu ích của luật [4][7]

Một luật đƣợc xem là hữu ích khi luật đó thỏa mãn một yêu cầu cụ thể của một lớp người dùng trong một lĩnh vực cụ thể

Tính hữu ích của một luật được đánh giá bởi người sử dụng, do đó không thể đưa ra một định nghĩa tổng quát cho tính hữu ích của luật.

- Thứ nhất, quan niệm về tính hữu ích của luật của những người sử dụng trong các lĩnh vực khác nhau là khác nhau

Đối với một cơ sở dữ liệu cụ thể và một tập hợp các quy tắc đã được xác định, các người dùng khác nhau sẽ có những mối quan tâm khác nhau.

Người dùng có thể quan tâm đến những vấn đề khác nhau vào các thời điểm khác nhau, và điều này phụ thuộc vào mục đích mà họ cần giải quyết tại thời điểm đó.

Có nhiều phương pháp được đề xuất để đánh giá tính hữu ích của luật, và chúng thường được phân loại thành hai nhóm chính.

Độ đo khách quan là một chỉ số phụ thuộc vào cấu trúc của luật và dữ liệu cụ thể mà quá trình khai phá dữ liệu được thực hiện.

Độ đo chủ quan (Subjective Measure) là một loại đo lường mà các tham số không chỉ phụ thuộc vào cấu trúc của luật và dữ liệu, mà còn bị ảnh hưởng bởi ý kiến và cảm nhận cá nhân.

Các thuật toán luật kết hợp dựa trên khung hỗ trợ-tin cậy, cho phép tìm ra các luật quan tâm thông qua ngưỡng hỗ trợ thấp Mặc dù ngưỡng hỗ trợ và tin cậy tối thiểu giúp loại bỏ nhiều luật không liên quan, nhưng vẫn có nhiều luật được sinh ra mà người sử dụng không quan tâm, đặc biệt khi khai thác ở mức ngưỡng hỗ trợ thấp và các mẫu dài Đây là thách thức lớn trong việc ứng dụng khai phá luật kết hợp một cách hiệu quả.

Các độ đo hỗ trợ và tin cậy không đủ để loại bỏ các luật không quan tâm Để khắc phục điểm yếu này, đã có khoảng 40 phép đo khách quan như lift, cosine, all_confidence, x², laplace, chi-square được đề xuất nhằm tăng cường khung hỗ trợ và tin cậy cho các luật kết hợp.

Trong phần này, luận văn đề cập đến hai độ đo khách quan là độ đo

Tập mục X được coi là độc lập với tập mục Y nếu điều kiện \( P(X \mid Y) = P(X)P(Y) \) được thỏa mãn Ngược lại, nếu không thỏa mãn, X và Y sẽ phụ thuộc lẫn nhau Để đo lường mối quan hệ giữa sự xuất hiện của X và Y, ta có thể tính độ đo Lift.

Nếu giá trị Lift nằm trong khoảng [0,∞), các luật kết hợp với Lift1 được coi là có lợi, vì xác suất của Y khi có X lớn hơn xác suất của Y mà không cần điều kiện nào Khi Lift=1, X và Y là độc lập và không có mối tương quan.

Sử dụng độ đo Lift ta có thể khai phá đƣợc các luật kết hợp mà sử dụng độ tin cậy không thể khai phá đƣợc

Ví dụ: Giả sử giao tác mua hai mặt hàng game và video nhƣ sau: game video 4,000 3,500 7,500

Bảng 4 Bảng dữ liệu giao tác

Trong bài viết này, chúng ta xem xét mối quan hệ giữa các giao tác không chứa video và không chứa game Cụ thể, độ hỗ trợ của game là 0.6, độ hỗ trợ của video là 0.75, và độ hỗ trợ của sự kết hợp giữa game và video là 0.4 Hệ số tin cậy của luật "game dẫn đến video" được tính là 0.4/0.6, nhỏ hơn độ hỗ trợ của video Cuối cùng, chúng ta cũng sẽ tính toán độ đo lift của luật này để đánh giá mức độ mạnh mẽ của mối quan hệ giữa game và video.

“gamevideo” có giá trị: lift(gamevideo)=P({game,video})/(P({game}) x P({video}))

=conf(gamevideo)/supp(video)=0.4/(0.6x0.75)=0.89

Ngày đăng: 31/05/2023, 08:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] R. Agrawal and R. Srikant (1994). “Fast algorithms for mining association rules”. The International Conference on Very Large Databases, pages 487– 499 Sách, tạp chí
Tiêu đề: Fast algorithms for mining association rules
Tác giả: R. Agrawal, R. Srikant
Nhà XB: The International Conference on Very Large Databases
Năm: 1994
[2] R. Agrawal, T. Imielinski, and A. Swami (1993), “Mining association rules between sets of items in large database”, In proc of the ACM SIGMOD Conference on Management of Data, Washington, D.C Sách, tạp chí
Tiêu đề: Mining association rules between sets of items in large database
Tác giả: R. Agrawal, T. Imielinski, A. Swami
Nhà XB: ACM SIGMOD Conference on Management of Data
Năm: 1993
[3] R. Bouckaert, E. Frank (2013), Weka Manual for version 3-7-8, The University of Waikato Sách, tạp chí
Tiêu đề: Weka Manual for version 3-7-8
Tác giả: R. Bouckaert, E. Frank
Nhà XB: The University of Waikato
Năm: 2013
[4] L. Geng and H. J. Hamilton(2006). “Interestingness measures for data mining: A survey”. ACM Comput. Surv., 38(3):9 Sách, tạp chí
Tiêu đề: Interestingness measures for data mining: A survey
Tác giả: L. Geng, H. J. Hamilton
Nhà XB: ACM Comput. Surv.
Năm: 2006
[5] J. Han, M. Kamber, and J. Pei (2011), Data Mining: Concepts and Techniques, 3rd edition, Morgan Kaufmann Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: J. Han, M. Kamber, J. Pei
Nhà XB: Morgan Kaufmann
Năm: 2011
[6] J. Li, N. Cercone(2005), “Discovering and Ranking Important Rules”. Granular Computing, IEEE International Conference on Volume 2 Sách, tạp chí
Tiêu đề: Discovering and Ranking Important Rules
Tác giả: J. Li, N. Cercone
Nhà XB: Granular Computing, IEEE International Conference
Năm: 2005
[7] P.Tan, V.Kumar, J.Sivastava(2002). “Selecting the Right Interestingness Measure for Association Patterns”, in SIGKDD’02 ACM Sách, tạp chí
Tiêu đề: Selecting the Right Interestingness Measure for Association Patterns
Tác giả: P. Tan, V. Kumar, J. Sivastava
Nhà XB: ACM
Năm: 2002

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm