HCM ĐỒ ÁN HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài số 23 : THUẬT TOÁN MENU KHAI THÁC CÁC TẬP MỤC CÓ ĐỘ HỮU ÍCH TRUNG BÌNH CAO VỚI NHIỀU NGƯỠNG KHÁC NHAU TRONG CƠ SỞ DỮ LIỆU Ngành: Công nghệ thôn
GIỚI THIỆU
Mục tiêu của khai thác dữ liệu là tìm ra những thông tin quan trọng và hữu ích từ các cơ sở dữ liệu thỏa mãn yêu cầu của các ứng dụng khác nhau Có thể thực hiện các nhiệm vụ khai thác dữ liệu khác nhau trên cơ sở dữ liệu để trích xuất các mẫu hoặc mô hình hữu ích như:
Khai thác luật liên kết (ARM)
Khai thác mẫu tuần tự (SPM)
Khai thác tập hợp mặt hàng có giá trị cao (HUIM)
Phân loại, và phân cụm
Apriori và FP-growth là hai thuật toán phổ biến nhất để khai thác Luật liên kết (ars) và các tập hợp mặt hàng thường xuyên ( ) trong cơ sở fis dữ liệu
Nhiều phương pháp mở rộng của khai thác mẫu đã được nghiên cứu, như khai thác tăng dần và khai thác dựa trên ràng buộc Để giải quyết vấn đề này, nhiệm vụ khai thác tập hợp các mục có giá trị cao (HUIM) đã được trình bày để khai thác tập hợp các tập hợp các mục có giá trị cao, trong đó một tập hợp mặt hàng được coi là tập hợp mặt hàng có giá trị cao nếu giá trị hữu ích của nó không thấp hơn một ngưỡng giá trị hữu ích cao tối thiểu do người dùng xác định (số lượng)
Tuy nhiên, các thuật toán trên gặp vấn đề về phức tạp bộ nhớ cao vì chúng giữ các tập hợp các mục có giá trị cao trong bộ nhớ Để tránh vấn đề này, một số thuật toán đã được trình bày để khai thác các tập hợp các mục có giá trị cao mà không cần tạo ra các thành phần mới Do đó, việc sử dụng một ngưỡng giá trị hữu ích cao tối thiểu duy nhất có thể dẫn đến vấn đề "mặt hàng hiếm" Ví dụ, tập hợp mặt hàng {kim cương} có thể được coi là một HUI trong một cửa hàng chuỗi nếu lợi nhuận của nó cao hơn 5,000$, trong khi tập hợp mặt hàng {sữa, bánh mì} có thể được xem xét là một HUI nếu lợi nhuận của nó cao hơn 100$ Điều này bởi vì doanh số bán hàng của kim cương nên được đánh giá khác biệt so với sữa và bánh mì, vì chúng có tầm quan trọng khác nhau đối với người bán lẻ Việc sử dụng một ngưỡng giá trị hữu ích cao tối thiểu duy nhất có thể gây ra hai vấn đề:
1) Nếu ngưỡng giá trị hữu ích cao tối thiểu được đặt quá cao, sẽ có ít tập hợp mặt hàng được khám phá
2) Nếu ngưỡng giá trị hữu ích cao tối thiểu được đặt quá thấp, có thể khám phá một số lượng lớn các tập hợp mặt hàng không có ý nghĩa
Khai thác tập hợp mục tiện ích cao với nhiều ngưỡng giá trị hữu ích tối thiểu (HUIM- MMU) đã được đề xuất để cho phép người dùng gán một ngưỡng giá trị hữu ích tối thiểu riêng cho từng mục
Mặc dù thuật toán này là đúng và hoàn chỉnh, nó vẫn gặp nhược điểm như các phương pháp tương tự Apriori, đó là thực hiện nhiều lần quét cơ sở dữ liệu và xem xét một số lượng lớn các mục không triển vọng Nhược điểm này có thể dẫn đến hiệu suất khai thác kém Để cải thiện hiệu suất của HAUIM, bài viết này trình bày một thuật toán dựa trên cấu trúc danh sách hiệu quả để khai thác HAUIs mà không cần tạo ra các mục và không cần thực hiện nhiều lần quét cơ sở dữ liệu Một mô hình giới hạn trên mới được sử dụng thay vì mô hình truyền thống auub và ba chiến lược cắt tỉa hiệu quả được phát triển để giảm không gian tìm kiếm, cũng như loại bỏ nhiều tập mục không triển vọng Các đóng góp chính của nghiên cứu này được tóm tắt như sau
1) Một thuật toán hiệu quả hơn để khám phá tất cả các HAUIs bằng cách sử dụng nhiều ngưỡng trung bình độ hữu ích cao tối thiểu dựa trên khuôn khổ tập mục trung bình độ hữu ích (AU) Mỗi tập mục có thể được liên kết với một ngưỡng trung bình độ hữu ích cao tối thiểu do người dùng xác định, điều này thực tế hơn so với nhiệm vụ ban đầu của HAUIM
2) Một mô hình giới hạn trên được cải thiện, một cây liệt kê được sắp xếp để biểu diễn không gian tìm kiếm để khai thác HAUI, và ba chiến lược cắt tỉa được phát triển để giảm không gian tìm kiếm bằng cách loại bỏ các tập mục không triển vọng
3) Thực hiện một loạt thử nghiệm trên một số bộ dữ liệu thực tế và dữ liệu mô phỏng để so sánh hiệu suất của thuật toán được đề xuất với thuật toán tiên tiến nhất về thời gian chạy, sử dụng bộ nhớ, số lượng ứng viên và khả năng mở rộng.
ỨNG DỤNG
Là một trong những thuật toán quan trọng trong lĩnh vực khai thác dữ liệu và quản lý dữ liệu Dưới đây là một số ứng dụng của thuật toán MEMU:
Khai thác sở thích của khách hàng: Trong lĩnh vực thương mại điện tử, MEMU có thể được sử dụng để khai thác thông tin về sở thích và hành vi của khách hàng Bằng cách tìm các tập mục có giá trị trung bình cao dựa trên mức độ hữu ích của các mặt hàng cho khách hàng, doanh nghiệp có thể tạo ra các đề xuất sản phẩm cá nhân hóa và chiến dịch tiếp thị
Quản lý tồn kho: Trong ngành công nghiệp và chuỗi cung ứng, MEMU có thể được sử dụng để tối ưu hóa việc quản lý tồn kho Bằng cách xác định tập mục có giá trị trung bình cao dựa trên dữ liệu lịch sử và các ngưỡng khác nhau, các doanh nghiệp có thể dự đoán nhu cầu của khách hàng và quản lý tồn kho một cách hiệu quả
Phát hiện hành vi gian lận: MEMU có thể được sử dụng để phát hiện hành vi gian lận trong các giao dịch tài chính hoặc giao dịch trực tuyến Bằng cách theo dõi và phân tích các tập mục có giá trị trung bình cao, thuật toán có thể xác định các mô hình không bình thường hoặc hành vi gian lận
Nghiên cứu y tế và khoa học: MEMU có thể được áp dụng trong lĩnh vực y tế để tìm hiểu mối quan hệ giữa các yếu tố y tế khác nhau và các kết quả lâm sàng Bằng cách tìm các tập mục có giá trị trung bình cao dựa trên dữ liệu bệnh án hoặc dữ liệu y tế, nghiên cứu y tế có thể tìm ra những thông tin quý báu về sức khỏe con người.
Phân tích dữ liệu xã hội: Trong việc phân tích dữ liệu xã hội và hành vi trực tuyến, MEMU có thể được sử dụng để tìm hiểu sở thích, tương tác và xu hướng của người dùng trên các mạng xã hội hoặc trang web Bằng cách xác định các tập mục có giá trị trung bình cao, doanh nghiệp có thể thực hiện chiến dịch quảng cáo hoặc cải thiện trải nghiệm người dùng
Thuật toán MEMU có nhiều ứng dụng trong khai thác dữ liệu và quản lý dữ liệu, giúp tìm ra các tập mục có giá trị trung bình cao trong nhiều ngữ cảnh khác nhau, từ thương mại điện tử đến quản lý tồn kho, y tế và phân tích dữ liệu xã hội.
CÁC ĐỊNH NGHĨA VÀ KHÁI NIỆM
Bài toán nghiên cứu
Cho 𝐼 = {, 𝑖2, 𝑖 , … , 𝑖 }3 𝑚 là một tập hữu hạn với m phần tử riêng biệt Cơ sở dữliệu định lượng là tập hợp các giao dịch 𝐷 = {𝑇1, 𝑇2, … , 𝑇𝑛} ,trong đó mỗi giao dịch 𝑇𝑞 ∈
𝐷 (1 ≤ 𝑞 ≤ 𝑚) là t p con cậ ủa 𝐼 và có mã định danh duy nhất 𝑞, gọi là TID của nó Ngoài ra, mỗi mặt hàng 𝑖𝑗 trong giao dịch 𝑇𝑞đều có số lượng mua (được xác định là số nguyên dương) và được ký hiệu là 𝑞(𝑖𝑗, 𝑇𝑞). Bảng lợi nhuận ptable = {𝑝(𝑖1),𝑝(𝑖 ), … , 𝑝(𝑖2 𝑚)} thể hiện giá trị lợi nhuận của từng mặt hàng 𝑖𝑗.Một tập hợp k phần t riêng biệt ử 𝑋 = {𝑖 ,𝑖 , … , 𝑖1 2 𝑘} sao cho 𝑋 ⊆ 𝐼được g i là ọ tập mục 𝑘, trong đó 𝑘 là độ dài c a t p m c T p mủ ậ ụ ậ ục 𝑋 được coi là có trong giao dịch
Nhiệm vụ khai thác tập mục có lợi ích trung bình cao (HAUIM) được đề xuất như một biến thể của nhiệm vụ khai thác tập mục có lợi ích cao (HUIM) Các định nghĩa về HUIM có thể được tìm thấy trong các định nghĩa liên quan đến HAUIM được trình bài trong các giai đoạn sau
Bảng 1: Cơ sở dữ liệu mẫu
Bảng 2: Lợi nhuận đơn vị
Các định nghĩa
Định nghĩa 1(Tiện ích của vật phẩm) Tiện ích của mục ij trong giao dịch Tq được ký hiệu là u(ij , Tq) và được định nghĩa là
𝑢(𝑖, 𝑇) = 𝑞(𝑖, 𝑇) × 𝑝(𝑖) trong đó𝑞(𝑖𝑗, 𝑇𝑞) thể hiện số lượng (𝑖 )𝑗 trong giao dịch 𝑇𝑞 và 𝑝(𝑖𝑗) thể hiện giá trị lợi nhuận của (𝑖𝑗) Ví dụ trong Bảng I, hữu dụng của (𝑎)trong giao dịch 𝑇1 được tính bằng 𝑢(𝑎)(= 1 × 7)(= 7) Định nghĩa 2 (Tiện ích trung bình của một hạng mục trong một giao dịch) Tiện ích trung bình của một hạng mục (𝑖 )𝑗 trong giao dịch 𝑇𝑞 được ký hi u là ệ 𝑎𝑢(𝑖𝑗, 𝑇𝑞) và được định nghĩa
Ví d : trong B ng I, l i ích trung bình c a mụ ả ợ ủ ục (𝑎)trong giao dịch T1 được tính là (𝑎, 𝑇1) = 7 1 = 7 bằng giá 1trị tiện ích của nó trong HUIM truyền thống
Từ định nghĩa trên, có thể thấy rằng tiện ích trung bình của một mặt hàng không khác gì tiện ích của nó trong HUIM Lý do là kích thước của một tập mục chứa một mục duy nhất là 1 Bằng cách chia tiện ích của nó cho 1, người ta thấy rằng tiện ích trung bình của một mục bằng với tiện ích của nó trong HUIM Định nghĩa 3 (Tiện ích trung bình của một tập mục trong một giao dịch) Tiện ích trung bình của 𝑘-itemset 𝑋 trong giao dịch 𝑇 𝑞 được ký hiệu là 𝑎𝑢(𝑋, 𝑇 𝑞 ) và được định nghĩa là:
Ví dụ:trongBảng I,tiệních trung bình của tập mục (𝑎𝑏)trong giao dịch 𝑇3được tính là 𝑎𝑢 𝑎𝑏( , 𝑇3) = 7+20 2 = 13.5 Định nghĩa 4 (Tiện ích trung bình c a m t t p m c trong D) Ti n ích trung bình ủ ộ ậ ụ ệ của t p mậ ục 𝑋 trong cơ sở ữ liệu d 𝐷 được ký hi u là ệ 𝑎𝑢(𝑋), và được định nghĩa là:
Ví dụ: trong Bảng I, tiện ích trung bình của tập mục (𝑎𝑐) được tính nhưsau:
𝑎𝑢 𝑎𝑐( ) 5 + 9.5 + 15 38 Định nghĩa 5 (Số lượng tiện ích trung bình cao tối thiểu)
Ngưỡng tiện ích trung bình cao tối thiểu của một mục 𝑖𝑗 trong cơ sở dữ liệu 𝐷được ký hiệu là 𝑚𝑎𝑢(𝑖 )𝑗 Cấu trúc dữ liệu đặc bi t có tên ệ 𝑀𝐴𝑈 − 𝑡𝑎𝑏𝑙𝑒lưu trữ ậ t p h p s ợ ố lượng ti n ích trung bình cao t i thi u ệ ố ể tương ứng v i t t c các m c trong ớ ấ ả ụ 𝐷 Bảng này được định nghĩa là:
Ví d : sụ ố lượng ti n ích trung bình cao t i thi u ệ ố ể (𝑚𝑎𝑢) của từng hạng mục trong ví dụ minh họa có thể được xác định như trong Bảng 3 Định nghĩa 6 (Số lượng tiện ích trung bình cao tối thiểu tối thiểu, LMAU) Số lượng tiện ích trung bình cao tối thiểu tối thiểu là
MAU 80 41 42 75 68 41 giá trị mau tối thiểu cho các mục trong D, được ký hiệu là LMAU và được định nghĩa là
Trong ví d minh h a, ụ ọ 𝐿𝑀𝐴𝑈 được tính là
Giá tr ị𝐿𝑀𝐴𝑈 là gi i hớ ạn dướ ủi c a giá tr ị𝑚𝑎𝑢 c a các t p mủ ậ ục được phát hi n Mệ ột tập m c không th là HAUI n u ti n ích trung bình c a nó nhụ ể ế ệ ủ ỏ hơn 𝐿𝑀𝐴𝑈 Do đó, 𝐿𝑀𝐴𝑈 đóng một vai trò quan trọng trong việc cắt bớt các tập mục không hứa hẹn dựa trên mô hình 𝑎𝑢𝑢𝑏 ho c mô hình ặ 𝑟𝑡𝑢𝑏được đề xuất, điều này sẽ được giải thích ở phần sau Định nghĩa 7 (Số lượng ti n ích trung bình cao t i thi u c a m t t p mệ ố ể ủ ộ ậ ục) Số lượng tiện ích trung bình cao t i thi u c a a t p mố ể ủ 𝑘 ậ ục 𝑋 trong 𝐷 được ký hi u là ệ 𝑚𝑎𝑢(𝑋) và được định nghĩa là:
|𝑋| = 𝑘 Trong ví dụ trên𝑚𝑎𝑢(𝑎𝑏) = 80+41 2 = 60.5 và 𝑚𝑎𝑢(𝑎𝑏𝑐) = 80 41 + +42 3 = 54.3
Trong công vi c khung khai thác ti n ích trung bình cao t i thi u duy nh t, mô ệ ệ ố ể ấ hình gi i h n trên ti n ích trung bình (ớ ạ ệ 𝑎𝑢𝑢𝑏) đã được thiết kế để cung cấp thuộc tính đóng cửa giảm tiện ích tối đa giao dịch (TMUDC) của các tập mục giới hạn trên tiện ích trung bình cao (HAUUBI), có thể được sử dụng để giảm không gian tìm kiếm Các định nghĩa được đưa ra dưới đây Định nghĩa 8 (Tiện ích giao dịch tối đa, 𝑡𝑚𝑢) Tiện ích giao dịch tối đa của giao dịch 𝑇 𝑞 được ký hi u là ệ 𝑡𝑚𝑢(𝑇 𝑞 )và được định nghĩa là:
Ví dụ: 𝑡𝑚(𝑇 1 )được tính là 𝑡𝑚𝑢(𝑇 1 ) 𝑚𝑎𝑥 7, ,= ( 30 15) 0, là gi i h n trên c a bớ ạ ủ ất k t p mỳ ậ ục (𝑋)nào có trong giao dịch 𝑇1.Dựa trên tiện ích tối đa giao dịch, có thể thu được giới hạn trên c a tiện ích trung bình ủ (𝑎𝑢𝑢𝑏)của các tập mục để khai thác HAUI
Nó được định nghĩa như sau Định nghĩa 9 (Giới h n trên c a ti n ích trung bình c a mạ ủ ệ ủ ột t p m c trong ậ ụ 𝐷, 𝑎𝑢𝑢𝑏) Giới h n trên c a ti n ích trung bình c a t p mạ ủ ệ ủ ậ ục 𝑋 trong cơ sở ữ liệ d u 𝐷 được ký hiệu là 𝑎𝑢𝑢𝑏(𝑋) và được định nghĩa là:
Ví dụ: trong Bảng I, giới hạn trên của tiện ích trung bình của tập mục 𝑎𝑐 trong cơ sở dữ liệu được tính như sau:
𝑎𝑢𝑢𝑏(𝑎𝑐) = 30 20+ + 12 b không nhỏ hơn mức trung bình cao tối thiểu - số lượng tiện ích (> 41).
Định lý
Định lý 1 (Tính chất chống đơn điệu của 𝑎𝑢𝑢𝑏) Gọi 𝑌 là ph n mầ ở rộng c a t p mủ ậ ục
𝑋sao cho 𝑋 ⊆ 𝑌 Mối quan hệ sau đây giữ:
B ng chằ ứng Đặ ật t p ID giao d ch c a t p mị ủ ậ ục 𝑋 và 𝑌được ký hi u lệ ần lượt là 𝑡𝑖𝑑𝑠(𝑋) và 𝑡𝑖𝑑𝑠(𝑌) Bởi vì 𝑋 ⊆ 𝑌 nó tuân theo 𝑡𝑖𝑑𝑠(𝑌) ⊆ 𝑡𝑖𝑑𝑠(𝑋).Vì vậy, chúng ta có thể thu được Y rằng:
Dựa trên mô hình auub này, t t c các t p h p con (nút con) c a t p m c X có th ấ ả ậ ợ ủ ậ ụ ể được cắt bớt tr c ti p nự ế ếu 𝑎𝑢𝑢𝑏(𝑋) < 𝐿𝑀𝐴𝑈 hoặc 𝑎𝑢𝑢𝑏(𝑋) nhỏ hơn số lượng tiện ích trung bình cao tối thiểu trong khung khai thác HAUI truyền thống ( sử dụng một ngưỡng duy nhất) Vì vậy, một phần lớn không gian tìm kiếm có thể được cắt bớt Thuộc tính này đã được sử dụng trong các nghiên cứu trước đây để hạn chế việc khám phá không gian tìm kiếm để khai thác HAUI Dựa trên mô hình auub, thuộc tính đóng cửa hướng xuống tiện ích tối đa giao dịch (TMUDC) được thiết kế để duy trì một tập hợp nhỏ các tập mục giới hạn trên có tiện ích trung bình cao (HAUUBI).Nó được định nghĩa như sau Định nghĩa 10 (Tập mục giới hạn trên có tiện ích trung bình cao, HAUUBI) Một tập mục X được gọi là tập mục hữu ích trung bình cao (HAUUBI) nếu giới hạn trên của tiện ích trung bình của nó không nhỏ hơn số lượng tiện ích trung bình cao tối thiểu, được định nghĩa là:
Ví d trong B ng I, t p mụ ả ậ ục (𝑎𝑏)không được coi là HAUUBI vì giới hạn trên c a ti n ích trung bình c a nó là ủ ệ ủ 𝑎𝑢𝑢𝑏(𝑎𝑏) = 40 < 60.5 Định lý 2 (HAUIs HAUUBIs) Thuộc tính TMUDC đảm bảo rằng HAUIs HAUUBIs Do đó, nếu một tập mục không phải là HAUUBI thì không có siêu tập hợp nào của nó sẽ là HAUI Báo cáo vấn đề: Tập mục X được coi là HAUI nấu tiện ích trung bình của nó không nhỏ hơn số lượng tiện ích trung bình cao tối thiểu nghĩa là:
THUẬT TOÁN KHAI THÁC HAUIS
Mô tả thuật toán khai thác
Trước đây, thuật toán HAUIM MMAU giống Apriori lần đầu tiên được đề xuất để - khám phá tất cả các HAUI có số lượng tiện ích trung bình cao tối thiểu Để cải thiện việc khai thác trên mỗi hình thức, một thuật toán hiệu quả hơn với nhiều số lượng tiện ích trung bình cao tối thiểu (được gọi là MEMU) được đề xuất trong bài viết này Nó phát hiện HAUI một cách hiệu quả mà không cần tạo ứng viên và không thực hiện quét cơ sở dữ liệu nhiều lần.
Đề xuất sắp xếp cây liệt kê chặt chẽ hơn
Các nghiên cứu trước đây chủ yếu tập trung vào việc khám phá các HAUI có một ngưỡng tiện ích trung bình tối thiểu duy nhất dựa trên giới hạn trên của tiện ích trung bình (𝑎𝑢𝑢𝑏) Tuy nhiên, thuộc tính downward closure này không đúng khi xem xét nhiều ngưỡng tiện ích trung bình tối thiểu Lý do là vì mỗi tập mục được phát hiện có một ngưỡng tiện ích trung bình tối thiểu duy nhất và do đó thuộc tính này không thể đảm bảo rằng tất cả các siêu tập hợp của tập mục X sẽ có ngưỡng tiện ích trung bình tối thiểu thấp hơn ngưỡng tiện ích trung bình tối thiểu của mau(X), điều này có thể dẫn đến việc không khám phá được bộ HAUI hoàn chỉnh Để khôi phục khả năng cắt bớt thuộc tính TMUDC trong trường hợp có nhiều ngưỡng tiện ích trung bình cao tối thiểu, chiến lược sắp xếp được phát triển dựa trên việc sử dụng cây liệt kê được sắp xếp để khám phá không gian tìm kiếm của HAUI Thông tin chi tiết được cung cấp tiếp theo Định nghĩa 11 (Chiến lược sắp xếp) Các mục trong Bảng MAU được sắp xếp theo thứ tự tăng dần ≺ của ngưỡng tiện ích trung bình cao tối thiểu
Tính ch t 1ấ Giả sử Y là một ph n mở rộng (siêu t p) c a X trong cây SE sao ầ ậ ủ cho 𝑋 ⊆ 𝑌 M i quan h ố ệ𝑚𝑎𝑢(𝑌 ) ≥ 𝑚𝑎𝑢(𝑋) được gi nguyên.ữ Bằng ch ng ứ Đặt 𝑌 \𝑋 biểu th các m c còn l i trong Y sao cho ị ụ ạ (𝑌 \𝑋 = 𝑌 − 𝑋) Không mất tính t ng quát, coi t t c các m c trong t p mổ ấ ả ụ ậ 𝑌 ục và 𝑋 đều được sắp xếp và biết rằng 𝑋 ⊆ 𝑌 Vì vậy, chúng ta có thể có được điều đó:
|𝑌| Định lý 3 (Thuộc tính đóng được sắp xếp hướng xu ng c a thu c tính auub, SDC) ố ủ ộ Đặt ≺ là th t x lý và là phứ ự ử 𝑌 ần mở r ng của tập m c ộ ụ 𝑋 sao cho 𝑋 ⊆ 𝑌 Nếu 𝑌 là HAUUBI thì 𝑋 cũng là HAUUBI.
B ng chằ ứng Theo Định lý 1 và Tính chất 1, mối quan hệ 𝑎𝑢𝑢𝑏(𝑋 ) > 𝑎𝑢𝑢𝑏(𝑌 ) 𝑣à 𝑚𝑎𝑢(𝑌 ) ≥ 𝑚𝑎𝑢(𝑋 ) giữ nguyên Do đó, nếu 𝑌 là HAUUBI (𝑎𝑢𝑢𝑏(𝑌 ) ≥ 𝑚𝑎𝑢(𝑌 )), 𝑡ℎì 𝑎𝑢𝑢𝑏(𝑋) > 𝑎𝑢𝑢𝑏(𝑌 ) ≥ 𝑢(𝑌 ) > 𝑚𝑎𝑢(𝑋)𝑚𝑎 , và X cũng là HAUUBI
Dựa trên thuộc tính SDC, không gian tìm kiếm của cây liệt kê đã đặt có thể được giảm bớt một cách an toàn trong khi vẫn đảm bảo tính đầy đủ và chính xác cho việc khai thác HAUI Ngoài ra, trong quá trình tìm kiếm, mục đang được xử lý chỉ được mở rộng với các mục tiếp theo theo thứ tự ≺ trong cây liệt kê Định nghĩa 12 (Các tập mục không liên quan trong cơ sở dữ liệu) Một tập mục không liên quan là một tập mục không nên mở rộng bằng các mục khác theo thứ tự xử lý ≺. Định nghĩa 13 (Tiện ích tối đa giao dịch được sửa đổi, rmu) Tiện ích tối đa giao dịch đã sửa đổi của tập mục X trong giao dịch Tq′ được ký hiệu là rmu(X,Tq′) và được định nghĩa là:
Rmu là giá trị giới hạn trên cho các giao dịch được sửa đổi Ngoài ra, vì các mục không liên quan sau X sẽ tạm thời bị xóa để có được giá trị giao dịch tối đa được cập nhật tiện ích của tập tin X, nó gắn kết theo mối quan hệ 𝑟𝑚𝑢(𝑋, 𝑇𝑞′ ) ≤ 𝑡𝑚𝑢(𝑋, )𝑇𝑞 và đảm bảo tính chính xác và đầy đủ c a công vi c tìm ki m HAUI Dủ ệ ế ựa trên định nghĩa này, chúng ta có th hể ạ thấp hơn nữa gi i h n giá tr trên c a t p tin ớ ạ ị ủ ậ 𝑋 như sau. Định nghĩa 14 (Mô hình giới hạn trên được sửa đổi chặt chẽ hơn, rtub) Giới hạn trên chặt chẽ hơn đã được sửa đổi của tập mục X được ký hiệu là rtub(X) và được định nghĩa là:
Trong ví dụ đang chạy, hãy xem xét rằng tất cả các tập h p con c a t p mợ ủ ậ ục (b) đã được x lý Do đó, tậử p mục (b) đã trở thành m t m c không liên quan và nó có thể bị ộ ụ xóa t m th i khạ ờ ỏi cơ sở dữ liệu gốc Sau đó 𝑟𝑚𝑢(𝑇2)(= ) < 𝑡𝑚𝑢(𝑇2)( 40), 𝑟𝑚𝑢(𝑇3)(= ) < 𝑡𝑚𝑢(𝑇3)(= ), 𝑟𝑚𝑢(𝑇6)(= ) < 𝑡𝑚𝑢(𝑇6)(= 12 20 15 20)
Do đó, giá trị𝑟𝑡𝑢𝑏của các tập mục có trong các giao dịch được sửa đổi có thể giảm đi rất nhiều Định lý 4 Đối với tập mục 𝑋, mối quan hệ 𝑎𝑢(𝑋) ≤ 𝑟𝑡𝑢𝑏(𝑋) ≤ 𝑎𝑢𝑢𝑏(𝑋)đúng. Bằng ch ngứ Vì 𝑟𝑚𝑢(𝑋, 𝑇𝑞′) ≤ 𝑡𝑚𝑢(𝑋, 𝑇𝑞) đúng nên 𝑟𝑡𝑢𝑏(𝑋) ≤ 𝑎𝑢𝑢𝑏(𝑋) đúng Ngoài ra, 𝑎𝑢(𝑋) ≤ 𝑟𝑡𝑢𝑏(𝑋) vì rtub là gi i h n trên cớ ạ ủa độ thỏa d ng trung bình ụ của X Khi đó chúng ta có thể thu được 𝑎𝑢(𝑋) ≤ 𝑟𝑡𝑢𝑏(𝑋) ≤ 𝑎𝑢𝑢𝑏(𝑋)
Do đó, mô hình 𝑟𝑡𝑢𝑏được đề xuất có gi i h n trên ch t chớ ạ ặ ẽ hơn mô hình 𝑎𝑢𝑢𝑏
Vì vậy, không gian tìm kiếm có thể được giảm đi rất nhiều Do các siêu tập của một tập phổ biến được tạo ra bằng cách hợp nhất tập mục này với một tập mục khác có chung tập mục (k 1) làm tiền tố, nên đị- nh lý này s ẽgiảm đáng kể không gian tìm ki m n u các ế ế siêu t p không h a h n có thậ ứ ẹ ể được xác định s m Ti p theo, tính ch t chớ ế ấ ống đơn điệu cho gi i h n trên cớ ạ ủa 𝑟𝑡𝑢𝑏 được rút ra.
Tính ch t 2 ấ (Tính ch t chấ ống đơn điệu của 𝑟𝑡𝑢𝑏) Giả sử tập mục 𝑌 là ph n m ầ ở rộng c a t p mủ ậ ục 𝑋 Theo đó, 𝑟𝑡𝑢𝑏(𝑋) ≥ 𝑟𝑡𝑢𝑏(𝑌 )
Bằng ch ngứ Vì 𝑋 ⊆ 𝑌 , 𝑡𝑖𝑑𝑠(𝑌 ) ⊆ 𝑡𝑖𝑑𝑠(𝑋).Do đó, 𝑟𝑡𝑢𝑏(𝑋) ≥ 𝑟𝑡𝑢𝑏(𝑌 ) đúng theo định nghĩa của 𝑟𝑡𝑢𝑏
Thuộc tính chống đơn điệu của 𝑟𝑡𝑢𝑏 g i ý r ng n u giá tr ợ ằ ế ị𝑟𝑡𝑢𝑏 c a mủ ột tập mục nhỏ hơn số lượng ti n ích trung bình cao t i thi u, thì các t p siêu c a nó không th là ệ ố ể ậ ủ ể HAUI vì 𝑎𝑢(𝑌 ) ≤ 𝑟𝑡𝑢𝑏(𝑌 ) ≤ 𝑟𝑡𝑢𝑏(𝑋) Dựa trên đặc tính này, có thể tránh được khối lượng tính toán lớn và hiệu suất khai thác HAUI có thể được cải thiện. Định nghĩa 15 (Tập mục giới hạn trên được sửa đổi chặt chẽ hơn, HRTUBI) Một tập mục X được gọi là tập mục có giới hạn trên chặt chẽ hơn được sửa đổi cao (HRTUBI) nếu tập mục đó có giới hạn trên chặt chẽ hơn được sửa đổi. giá trị không nhỏ hơn số lượng tiện ích trung bình cao tối thiểu, được xác định là:
HRTUBI là một tập mục có thể là HAUI thực tế Dựa trên mô hình rtub, không gian tìm kiếm có thể giảm do mô hình rtub có thể cung cấp giới hạn trên thấp hơn về tiện ích trung bình của các tập mục so với mô hình auub Định lý 5(Thuộc tính đóng được sắp xếp hướng xu ng cố ủa rtub) Đặt ≺ là th t xứ ự ử lý và đặt tập m c Y là ph n m r ng c a t p mụ ầ ở ộ ủ ậ ục X sao cho 𝑋 ⊆ 𝑌 Nếu Y là HRTUBI thì X cũng là HRTUBI
Bằng ch ngứ Theo Tính ch t 1 và 2, chúng ta có thấ ể thu được 𝑟𝑡𝑢𝑏(𝑋) > 𝑟𝑡𝑢𝑏(𝑌 ) và 𝑚𝑎𝑢(𝑋) < 𝑚𝑎𝑢(𝑌 ) đúng Do đó, nếu Y là HRTUBI (𝑟𝑡𝑢𝑏(𝑌 ) ≥ 𝑚𝑎𝑢(𝑌 )), thì 𝑟𝑡𝑢𝑏(𝑋) > 𝑟𝑡𝑢𝑏(𝑌 ) ≥ 𝑚𝑎𝑢(𝑌 ) > 𝑚𝑎𝑢(𝑋), và X cũng là HRTUBI Định nghĩa 16 (Danh sách ti n ích trung bình nh g n (CAU)) C u trúc danh sách ệ ỏ ọ ấ tiện ích trung bình nh gỏ ọn (CAU) được đề xuất c a m t t p mủ ộ ậ ục X lưu trữ thông tin liên quan v t p mề ậ ục đó và mỗi giao dịch 𝑇𝑞 có chứa (𝑋) M i giao dỗ ịch 𝑇𝑞 chứa 𝑋 được thể hiện bằng m t m c trong danh sách (CAU) c a ộ ụ ủ 𝑋 có ba trường:
(1) id giao d ch cị ủa 𝑇𝑞 (𝑡𝑖𝑑);
(2) công d ng cụ ủa (𝑋) trong 𝑇𝑞 (𝑖𝑢𝑡𝑖𝑙);
(3) ti n ích tệ ối đa được sửa đổ ủa i c (𝑋) tính bằng 𝑇𝑞 (𝑟𝑚𝑢)
Lưu ý r ng cằ ấu trúc danh sách CAU được đề xuất khác v i c u trúc danh sách tiớ ấ ện ích trung bình (AU) được thuật toán HAUI-Miner s d ng do ti n ích tử ụ ệ ối đa đã sửa đổi (𝑟𝑚𝑢) của (X) trong mỗi giao dịch được lưu trữ thay vì giao dịch hữu dụn- g tối đa (𝑡𝑚𝑢) Do đó, có thể dễ dàng đạt được giới hạn trên (𝑟𝑡𝑢𝑏)chặt chẽ hơn cho tập mục
X b ng cách tính t ng ằ ổ 𝑟𝑚𝑢của mỗi mục Đối với ví dụ đang chạy, danh sách CAU được xây dựng theo thứ tự tăng dần của các mục, như trong Hình 2.
THUẬT TOÁN VÀ CHIẾN LƯỢC CẮT TỈA
Chiến lược cắt tỉa 1
(Xóa các m c không h a h n khụ ứ ẹ ỏi cơ sở ữ liệu, RUI): M i m c ij không h a h n, d ỗ ụ ứ ẹ chẳng hạn như 𝑎𝑢𝑢𝑏(𝑖𝑗) < 𝐿𝑀𝐴𝑈, s b xóa khẽ ị ỏi cơ sở ữ d liệu để có được tiện ích tối đa giao dịch (𝑡𝑚𝑢)thấp hơn cho mỗi giao dịch, có thể được sử dụng để giảm không gian tìm kiếm một cách an toàn đồng thời đảm bảo rằng tất cả các HAUI vẫn có thể được phát hiện
Bằng ch ng.ứ Giả s Y là ph n m r ng c a tử ầ ở ộ ủ ập mục (ij ) Theo Định lý 1, ta thấy 𝑎𝑢𝑢𝑏(𝑌 ) ≤ 𝑎𝑢𝑢𝑏( ).𝑖𝑗 Theo định nghĩa của LMAU, có thể k t lu n r ng LMAU là s ế ậ ằ ố lượng ti n ích trung bình cao t i thi u th p nhệ ố ể ấ ất trong cơ sở ữ liệu D Do đó, nếu d
Do đó, tất cả các phần mở rộng của tập mục không triễn vọng đều không phải là HAUI Định nghĩa 17 (Ma tr n tiậ ện ích trung bình ước tính, EAUM) Cấu trúc EAUM là m t ma tr n nh gộ ậ ỏ ọn, ch a mộứ t phần t có dạng ử < 𝐼𝑥 𝐼𝑦, , 𝑎𝑢𝑢𝑏(𝐼𝑥 ∪ ) >𝐼𝑦 cho mỗi cặp mục Ix và Iy cùng xuất hiện trong cơ sở dữ liệu
EAUM cho ví dụ đang chạy được hi n th trong B ng 4 Ví dể ị ả ụ, 𝑎𝑢𝑢𝑏 của (𝑎𝑏) được tính như sau 𝑎𝑢𝑢𝑏(𝑎𝑏) = 𝑡𝑚𝑢(𝑇3) + 𝑡𝑚𝑢(𝑇6) = + (= 20 20 40).Do đó, giá trị 𝑎𝑢𝑢𝑏 của ( )𝑎𝑏 được đặt thành 40.
Bảng 4 : Giá trị EAUM của ví dụ trên b c d e a 40 62 52 50 b - 60 80 60 c - - 72 85 d - - - 60
Chiến lược cắt tỉa 2
(Chiến lược ma trận tiện ích trung bình ước tính, EAUMS): Nếu auub của tập hợp
2 mục theo EAUM nhỏ hơn 𝐿𝑀𝐴𝑈, thì tất cả các siêu tập hợp của tập mục này không phải là HAUI và có thể được cắt tỉa trực tiếp
Bằng ch ngứ Gi s Y là t p siêu h ng c a t p m c X sao cho ả ử ậ ạ ủ ậ ụ 𝑋 ⊆ 𝑌 D a vào ự Địnhlý1,
𝑎𝑢(𝑋) ∆ 𝑎𝑢𝑢𝑏(𝑋) 𝑎𝑢𝑢𝑏(𝑌) ∆ 𝑎𝑢𝑢𝑏(𝑋) ∙ 𝐿𝑀𝐴𝑈 < 𝑚𝑎𝑢(𝑌) < 𝑚𝑎𝑢(𝑋).và Do đó, bất kỳ siêu tập hợp nào của tập hợp 2 mục không hứa hẹn đều có thể được cắt bớt trực tiếp và tính chính xác cũng như tính đầy đủ được bảo toàn để khai thác HAUI
Do đó, EAUMS có thể được sử dụng để loại bỏ sớm các tập mục k không tri n vễ ọng (𝑘 3) Lưu ý rằng EAUMS không b o toàn gi i h n trên ả ớ ạ (𝑟𝑡𝑢𝑏) chặt chẽ hơn đã được sửa đổi cho các tập hợp 2 mục do tiện ích tối đa còn lại (𝑟𝑚𝑢) của mỗi giao dịch được giữ trong mỗi mục
Gần đây, thuật toán HUP Miner đã được đề xuất để cải thiện hiệu suất của HUI- -Miner cho HUIM Hai chiến lược cắt tỉa mới, được gọi là PU-Prune và LA-Prune, đã được đề xuất để tiếp tục giảm không gian tìm kiếm LA Prune cung cấp giá trị giới hạn - trên của tiện ích chặt chẽ hơn cho từng tập mục được sử dụng khi th c hi n thao tác nự ệ ối trong khi t o t p mạ ậ ục mới và danh sách ti n ích c a chúng ệ ủ Ở đây, chúng tôi tiếp tục m ở rộng mô hình 𝑎𝑢𝑢𝑏 và 𝑟𝑡𝑢𝑏 để áp dụng chiến lược LA-Prune trong HAUIM.
Chiến lược cắt tỉa 3
(Chiến lược LA-Prune): Cho 𝑃𝑥 và 𝑃𝑦 là hai tập mục Thao tác nối không cần phải được thực hiện nếu bất kỳ phương trình nào sau đây nhỏ hơn số tiện ích trung bình cao tối thiểu khi thực hiện thao tác nối:
Bằng chứng: chúng ta có
Theo Định lý 1 và Tính ch t 2, nấ ếu 𝐿𝐴𝑃𝐴(𝑃𝑥) và/hoặc 𝐿𝐴𝑃𝑅(𝑃𝑥) nhỏ hơn LAMU trong danh sách CAU quá trình xây dựng, tất cả các siêu tập hợp của Px không thể là HAUI và hoạt động nối có thể bị dừng
Chiến lược cắt tỉa này có tác dụng mạnh mẽ trong việc cải thiện hiệu suất của HAUIM vì nó giảm chi phí cho các hoạt động nối bằng cách dừng sớm một số phép nối
Do đó, dựa trên mô hình giới hạn trên được đề xuất và ba chiến lược cắt tỉa, thuật toán khai thác tập mục trung bình cao hiệu quả hơn được đề xuất với nhiều số lượng tiện ích trung bình tối thiểu (MEMU) được mô tả trong Thuật toán 1
5.3.1 Thuật toán 1: Thuật toán MEMU
Input: D, cơ sở dữ liệu giao dịch; 𝑝𝑡𝑎𝑏𝑙𝑒, lợi nhuận bàn; Bảng
𝑀𝐴𝑈 − 𝑡𝑎𝑏𝑙𝑒 = {𝑚𝑎𝑢(𝑖1),𝑚𝑎𝑢(𝑖 ), , 𝑚𝑎𝑢(𝑖2 𝑟)}, nhiều số lượng tiện ích trung bình cao tối thiểu do người dùng chỉ định
Output: Tập các tập mục có lợi ích trung bình cao, HAUI
// 𝑋.𝐴𝑈𝐿, danh sách tiện ích trung bình của một itemset(𝑋);
// 𝐼 ∗ 𝐴𝑈𝐿𝑠, tập hợp tiện ích trung bình danh sách các m c trong ; ụ 𝐷
1 tính toán 𝑎𝑢𝑢𝑏 của từng hạng mục;
5 tính lại 𝑎𝑢𝑢𝑏 của từng hạng mục còn lại ở D;
6 sắp xếp các mục trong mỗi giao dịch theo thứ tự tăng dần;
Như thể hiện trong thuật toán 1, thuật toán đề xuất đầu tiên tính toán 𝑎𝑢𝑢𝑏 của từng mục bằng cách quét cơ sở dữ liệu một lần
(Dòng 1) tính ti n ích trung bình t i thi u nh nhệ ố ể ỏ ất (𝐿𝑀𝐴𝑈) bằng Bảng MAU (Dòng 2) Chiến lược cắt tỉa 1 sau đó được áp dụng để loại bỏ các mục không có triển vọng khỏi D như rằng mỗi mục trong I sẽ bị loại bỏ nếu nó có giá trị auub nhỏ ∗ hơn LMAU
(Dòng 3) Theo Định lý 1 và cuộc thảo luận trước đó, sẽ rất hữu ích khi áp dụng chiến lược này để cắt bỏ sớm những khoản không có triển vọng Sau đó, cơ sở dữ liệu được quét lại để tính toán lại auub của từng mục còn lại và xây dựng danh sách CAU và cấu trúc EAUM
(Dòng 4) Để khám phá tất cả HUAI một cách hiệu quả, tất cả các mục sau đó sẽ được sắp xếp theo thứ tự tăng dần
(Dòng 5) Quá trình này đảm bảo thuộc tính đóng xuống của mô hình auub và mô hình rtub được đề xuất Sau khi có được danh sách CAU của mỗi tìm kiếm theo chiều sâu, Được thực hiện đề quy tới mục 𝐼 ∗ Tìm kiếm theo chiều sâu được thực hiện đệ quy để tìm tất cả HAUI Quá trình này được mô tả trong Thuật toán 2
(Dòng 6) Như được hiển thị trong Thuật toán 2, quy trình Tìm kiếm lấy một tập mục và một tập hợp các phần mở rộng 1 của tập mục đó làm đối số Sau đó, quy trình xử lý tuần tự từng tập mục (𝑋 𝑎 ) trong t p h p ph n m r ng 1 c a t p mậ ợ ầ ở ộ ủ ậ ục (𝑋) (Dòng 1) Đối với mỗi tập mục (𝑋𝑎)tiện ích của từng mục trong danh sách CAU của Xa được tổng hợp và nếu tổng đó lớn hơn tiện ích trung bình t i thi u ố ể 𝑚𝑎𝑢( )𝑋𝑎 thì Xa là cao 5.3.2 Thuật toán 2: Thuật toán tìm kiếm
Input: X, m t t p mộ ậ ục; 𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑠𝑂𝑓𝑋, một bộ
Danh sách CAU c a t t c 1 m c trong ủ ấ ả ụ 𝐼 ∗ 𝐴𝑈𝐿; 𝐸𝐴𝑈𝑀, ma trận tiện ích trung bình ước tính; LMAU, số lượng tiện ích trung bình cao tối thiểu tối thiểu
Output: Tập các tập mục có lợi ích trung bình cao, HAUI
(Dòng 3) tập mục tiện ích trung bình
(Dòng 4) Sau đó, giới hạn trên (𝑟𝑡𝑢𝑏) đã được sửa đổi chặt chẽ hơn của 𝑋𝑎 được kiểm tra để xác định xem các siêu tập hợp của Xa có nên được xử lý bằng tìm kiếm theo chiều sâu đệ quy hay không
(Dòng 6 đến 11) Nếu 𝑟𝑡𝑢𝑏(𝑋 𝑎 ) lớn hơn mau (𝑋 𝑎 ), tập danh sách CAU của tất cả các phần mở rộng 1 của Xa được xây dựng bằng cách mở rộng từng tập mục (𝑋 𝑏 ) sao cho 𝑎 ≺ 𝑏
(Dòng 7 đến 9) Để tránh thao tác nối tốn kém đối với các tập mục không hứa hẹn, mỗi phần mở rộng 1 của 𝑋𝑎 sẽ được kiểm tra trước khi xây d ng danh sách CAU ự của nó Nếu 𝐸𝐴𝑈𝑀(𝑎, 𝑏) ≥ 𝐿𝑀𝐴𝑈,𝑋𝑎𝑏 được coi là tập mục đầy hứa hẹn và do đó danh sách CAU của nó được xây dựng
(Dòng 10 đến 11) Nếu 𝑋_𝑎𝑏 𝐴𝑈𝐿 được trả về không trống thì nó phải được đặt vào t p h p ậ ợ 𝐸𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑂𝑓𝑋𝑎 để xử lý tiếp
(Dòng 12) Sau đó, tập hợp 𝐸𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 𝑋𝑂𝑓 𝑎 được tiếp tục xử lý để tìm HAUI bằng cách thực thi đệ quy thuật toán Tìm kiếm Thuật toán xây dựng cho danh sách CAU- được thể hiện trong Thuật toán 3
Một trong những thao tác quan trọng nhất trong MEMU là thao tác nối được thực hiện bằng thủ tục Xây dựng để xây dựng danh sách CAU của một tập mục Quy trình , xây dựng danh sách CAU của tập mục - 𝑋𝑎𝑏 mới bằng cách sử dụng tập hợp con 𝑋𝑎 và
𝑋𝑏 là ph n mầ ở r ng c a t p mộ ủ ậ ục 𝑋 Đầu tiên, danh sách CAU của - 𝑋𝑎𝑏 được khởi tạo là trống (Dòng 1) và bi n t m thế ạ ời 𝑟𝑡𝑢𝑏𝑂𝑓𝑋 𝑎 được đặt thành 𝑟𝑡𝑢𝑏(𝑋 𝑎 ) (Dòng 2) Đối với mỗi mục nhập 𝐸 𝑎 trong 𝑋 𝑎 𝐴𝑈𝐿, quy trình tìm kiếm mục nhập 𝐸 𝑏 trong 𝑋 𝐴𝑈𝐿 𝑏 sao cho 𝐸 𝑎 𝑡𝑖𝑑 == 𝐸 𝑏 𝑡𝑖𝑑 Nếu 𝐸 𝑏 không t n t i, Chiồ ạ ến lược c t t a 3 (ắ ỉ 𝐿𝐴𝑃𝑅) được áp dụng để tránh xây dựng một số lượng l n các m c cho m t t p m c không h a hớ ụ ộ ậ ụ ứ ẹn (Dòng 11 đến 14) Mặt khác, nếu một mục 𝐸 tồn tại trong 𝑋 𝐴𝑈𝐿 sao cho
𝐸 𝑡𝑖𝑑 == 𝐸𝑎 𝑡𝑖𝑑, thì một mục 𝐸𝑎𝑏 mới được xây dựng trong danh sách CAU
5.3.3 Th uật toán 3: Xây dựng thuật toán
Input: 𝑋, một tập mục; 𝑋𝑎, ph n m r ng cầ ở ộ ủa 𝑋 với một mục 𝑎; ph n m r ng cầ ở ộ ủa 𝑋 v i mớ ục 𝑏; 𝐿𝑀𝐴𝑈, số lượng tiện ích trung bình cao tối thiểu tối thiểu
Output: 𝑋𝑎𝑏 , danh sách CAU của 𝑋𝑎𝑏
𝑋𝑎𝑏 Nếu danh sách CAU của 𝑋 trống thì giao dịch chứa cả 𝑋𝑎và 𝑋𝑏 không chứa
𝑋 Do đó, mục nhập mới 𝑋𝑎𝑏 do đó đượ ạo như trong Dòng 9 Lưu ý rằc t ng 𝑟𝑚𝑢 của
𝐸𝑎𝑏 phải được gán làm giá trị cho 𝐸𝑎 vì 𝑎 ≺ 𝑏 và các mục trong giao dịch được sắp xếp theo th t ứ ự≺ Tiện ích tối đa sửa đổi (𝑟𝑚𝑢) của 𝑋𝑎𝑏 giống với Tiện ích tối đa của
𝑋𝑎 trong các giao dịch tương ứng chứa cả 𝑋𝑎𝑏 và 𝑋𝑎
VÍ DỤ MINH HỌA
Ví dụ chi tiết được cung cấp để minh họa từng bước thuật toán được đề xuất bằng cách sử dụng cơ sở dữ liệu của ví dụ đang chạy được trình bày trong Bảng 1 và 2 Trong ví dụ này, số lượng tiện ích trung bình cao tối thiểu được chỉ định cho từng hạng mục, như được hiển thị trong Bảng 3 Đầu tiên, 𝑎𝑢𝑢𝑏 của m i mục đượỗ c tính bằng cách quét cơ sở dữ liệu m t l n và các ộ ầ m c không h a h n (có giá trụ ứ ẹ ị 𝑎𝑢𝑢𝑏 nhỏ hơn 𝐿𝑀𝐴𝑈) được xác định và xóa khỏi cơ sở dữ liệu Ví d : mụ ục (𝑓) trong 𝑇6 b xóa khị ỏi cơ sở ữ liệu Sau đó, giá trị d 𝑡𝑚𝑢 của 𝑇6 được cập nhật và trở thành 20 Giá tr ị𝑎𝑢𝑢𝑏 của t ng mừ ục sau đó được tính toán lại và cập nh t Giá tr ậ ị𝑎𝑢𝑢𝑏 ban đầu và cập nhật của các hạng mục được thể hiện trong Bảng
Bảng 5: Giá trị𝑎𝑢𝑢𝑏ban đầu của mỗi tập 1 mục. sẽ được th t c Tìm ki m theo chi u sâu s dủ ụ ế ề ử ụng để xử lý các mục trong tập hợp (𝐼 ∗ 𝐴𝑈𝐿𝑠) Ví d : mụ ục (𝑏) sẽ được xử lý đầu tiên và 𝑟𝑡𝑢𝑏(𝑏) sẽ được tính là 𝑟𝑡𝑢𝑏(𝑏) = + + = 40 20 20 80), lớn hơn 𝑚𝑎𝑢(𝑏) = 41) Đồng th i, ờ 𝐸𝐴𝑈𝑀 được xây dựng để lưu trữ thông tin về mối quan hệ giữa 2 tập mục EAUM được xây dựng được thể hiện trong Bảng 4
Có thấy rằng tất cả các mục còn lại đều thỏa mãn điều kiện và quá trình xây dựng được th c hiự ện để ạo danh sách CAU c a tất c các m t ủ ả ục Để thêm mục (𝑎) vào mục (𝑏) xây d ng 1-ự extension của nó, sau đó giá trị 𝑎𝑢𝑢𝑏 của (𝑏𝑎) trong EAUM được so sánh với 𝐿𝐴𝑀𝑈 Trong ví d này, vì ụ 𝑎𝑢𝑢𝑏(𝑏𝑎) = < 40 41), danh sách CAU c a 1-ủ extension ( )𝑏𝑎 không được xây d ng Tuy nhiên, danh sách CAU cự ủa (𝑏𝑐) có th ể được xây d ng vì ự 𝑎𝑢𝑢𝑏(𝑏𝑐) = 60) lớn hơn 𝐿𝑀𝐴𝑈 Quá trình này có thể được thực hiện bằng cách ki m tra các ID giao d ch phù h p trong danh sách CAU cể ị ợ ủa (𝑏) và (𝑐) Các danh sách CAU c a t p mủ ậ ục ( )( )( )𝑏𝑐 𝑏𝑒 𝑏𝑑 được xây d ng mự ột cách tương ứng Chiến lược 𝐿𝐴𝑃𝑅 sau đó được áp dụng để tránh quá trình xây dựng nếu không có mục 1-extension nào Trong ví d này, t p h p mụ ậ ợ ục (𝑏𝑐𝑒) là m t t p h p m c không tri n vộ ậ ợ ụ ể ọng (được phát hi n bệ ởi 𝐿𝐴𝑃𝑅), vì giao dịch 3 (𝑡𝑖𝑑 = 3) không được tìm thấy trong 𝑡𝑖𝑑𝑠𝑒𝑡 của tập h p mợ ục ( )𝑏𝑒 Giá trị 𝑟𝑡𝑢𝑏 c a t p h p mủ ậ ợ ục (𝑏𝑐) sau đó được cập nhật là 40, nh ỏ hơn 𝐿𝑀𝐴𝑈 = 41).Do đó, tập hợp mục (𝑏𝑐𝑒) và các tập con của nó không phải là HAUIs Tìm ki m theo chi u sâu t t p h p mế ề ừ ậ ợ ục (𝑏𝑐) sau đó dừng lại Sau đó, thủ ục t
Tìm ki m theo chiế ều sâu được áp dụng đệ quy để tìm các t p con cậ ủa ( )𝑏𝑒 cho đến khi không t o ra thêm ạ ứng viên nào Cùng quy trình này cũng được áp d ng cho các t p hụ ậ ợp m c khác Cây li t kê c a các mụ ệ ủ ục (𝑏) và (𝑐), ví dụ, được minh họa trong Hình 4 Hình 4: Cây liệt kê các mục (b) và (c)
Trong ví d này, có thụ ể thấy được hi u qu c a mô hình ệ ả ủ 𝑟𝑡𝑢𝑏 được đề xu t và các ấ chiến lược cắt tỉa Ví dụ, nếu không s d ng mô hình ử ụ 𝑟𝑡𝑢𝑏, các t p mậ ục (𝑐𝑒) và (𝑐𝑑) và các siêu t p h p c a chúng không thậ ợ ủ ể được c t t a s m b ng cách s d ng ắ ỉ ớ ằ ử ụ 𝑎𝑢𝑢𝑏 truyền th ng ố Ngoài ra, EAUM đóng một vai trò quan tr ng trong vi c c t b t các tọ ệ ắ ớ ập m c không h a hụ ứ ẹn như tập mục ( )𝑏𝑎 và các tập siêu của nó, những tập này có thể được cắt tỉa trực tiếp trước khi xây dựng danh sách CAU của chúng Quá trình này sau đó - được th c hiện lặp đi lặ ại cho đếự p l n khi không có ứng viên nào đượ ạo ra Sau đó, đã c t thu được bộ HAUI cu i cùng khi xem xét nhiố ều ngưỡng B này ch a ba t p mộ ứ ậ ục: {𝑏: , 𝑐:80 84 𝑏𝑐:41.5}.
Hiệu suất của thuật toán MEMU được đề xuất được so sánh với thuật toán HAUIM- MMAU tiên tiến để khai thác các tập phần tử tối ưu về giá trị trung bình cao nhất (HAUI) trong khi xem xét nhiều giá trị tối thiểu về sự xuất hiện trung bình cao nhất Hơn nữa, để đánh giá hiệu suất của các chiến lược cắt tỉa, hai phiên bản của thuật toán MEMU được so sánh Phiên bản không sử dụng chiến lược cắt tỉa được đặt tên là MEMU-, trong khi phiên bản có tất cả ba chiến lược cắt tỉa được gọi là MEMỰ Tất cả các thuật toán trong các thử nghiệm được triển khai bằng Java và các thử nghiệm được thực hiện trên một máy tính trang bị bộ vi xử lý Intel(R) Core(TM) i3 2350 2.3GHz và 6 GB bộ nhớ - chính, chạy trên hệ điều hành Microsoft Windows 10 64 bit Các thử nghiệm đã được tiến hành trên năm bộ dữ liệu thực tế và một bộ dữ liệu tổng hợp Một mô hình mô phỏng đã được phát triển để tạo ra số lượng mua và lợi nhuận đơn vị của các mục trong các giao dịch cho tất cả các bộ dữ liệu Phân phối log normal được sử dụng để ngẫu - nhiên gán số lượng mua trong khoảng [1, 5] và giá trị lợi nhuận của mục trong khoảng [1, 1000] Mô tả tham số và đặc điểm của sáu bộ dữ liệu được hiển thị trong Bảng 6 và Bảng 7
Bảng 6: Tham số của dữ liệu
Bảng 7: Giá trị của dữ liệu
Dataset #|D| #|I| AvgLen MaxLen Type retail 88,162 16,407 10 76 Spares kosarak 900,002 41,270 8 2,498 Spares accidents 340,183 469 51 33,8 Spares
T40I10D100K 100,00 1,000 39,6 77 Spares chess 3,196 76 37 37 Dense mushroom 8,124 120 23 23 Dense Để tạo giá trị mau của từng mục cho thuật toán đề xuất, chúng tôi đã lấy cảm hứng từ giải pháp được đề xuất trong [10] để gán nhiều ngưỡng tối thiểu cho các mục trong HUIM Phương trình sau đây được sử dụng để tự động đặt giá trị mau của từng mục:
𝑚𝑎𝑢(𝑖 𝑗 ) = max (𝛽 × 𝑝(𝑖 𝑗 ), 𝑔𝑙𝑚𝑎𝑢) trong đó 𝛽 là giá trị không đổi, được dùng để nhân lợi nhuận của hạng mục 𝑝(𝑖𝑗) Tiện ích trung bình t i thi u t i thi u toàn c u là tham số ể ố ể ầ ố do người dùng xác định, được ký hi u là ệ 𝑔𝑙𝑚𝑎𝑢 Khi 𝛽 được đặt thành 0, 𝑔𝑙𝑚𝑎𝑢giống với số lượng tiện ích trung bình cao tối thiểu duy nhất Trong trường hợp này, vấn đề của HAUIM với nhiều ngưỡng tiện ích trung bình cao tối thiểu bằng với vấn đề truyền thống của HAUIM với một ngưỡng tiện ích trung bình cao tối thiểu duy nhất Để đảm bảo tính ngẫu nhiên, β được chọn ngẫu nhiên từ khoảng thời gian do người dùng xác định, ví dụ: khoảng [100, 1000] được sử dụng cho bộ dữ liệu bán lẻ và bộ dữ liệu T10I4D100K; khoảng [7000, 70000] được sử dụng cho tập dữ liệu kosarak và khoảng [1000, 10000] được sử dụng cho các tập dữ liệu khác
#|I| Số lượng mặt hàng riêng biệt
AveLen Độ dài trung bình của giao dịch
MaxLen Thời gian giao dịch tối đa
Type Loại cơ sở dữ liệu(Spares hoặc Dense)
Trong phần này, trước tiên chúng ta so sánh thời gian chạy của tất cả các thuật toán để đánh giá hiệu quả của chúng đối với các glmau khác nhau và một khoảng cố định mà từ đó β được chọn ngẫu nhiên Thời gian chạy bao gồm cả thời gian xử lý cho giai đoạn khai thác và chi phí I/O Các kết quả được hiển thị trong Hình 5 cho giá trị β được tạo ngẫu nhiên cố định và các giá trị glmau khác nhau
Thời gian chạy cho giá trị β cố định và các giá trị glmau khác nhau
Trong Hình 5, có thể thấy rằng thuật toán được đề xuất vượt trội hơn thuật toán HAUIM-MMAU hiệnđại và mô hình 𝑟𝑡𝑢𝑏được đề xuất có hiệu quả hơn trong việc giảm không gian tìm ki m so v i mô hình ế ớ 𝑎𝑢𝑢𝑏 truyền th ng S d ng mô hình ố ử ụ 𝑟𝑡𝑢𝑏 được đề xuất và ba chiến lược cắt tỉa, thuật toán MEMU+ thường nhanh hơn tới một hoặc hai bậc độ lớn so với thuật toán HAUIM-MMAU Ví dụ: trong Hình 5(a), khi 𝑔𝑙𝑚𝑎𝑢 được đặt thành 9000K, thời gian chạy của HAUIM-MAU để khám phá toàn bộ HAUI cần 500 giây trong khi thuật toán MEMU+ cần ít hơn 24 giây Lý do là HAUIM-MMAU là một cách tiếp cận giống Apriori, thực hiện nhiều lần quét cơ sở dữ liệu để tìm các ứng viên ở mỗi cấp độ (các tập mục thuộc mỗi kích cỡ) và phải giữ nhiều tập mục trong số đó ởbộ nhớ trong quá trình tìm kiếm Thuật toán đề xuất sử dụng cấu trúc danh sách để biểu diễn cơ sở dữ liệu theo chiều dọc và khám phá các tập mục tiếp theo trong cây liệt kê, hiệu quả hơn so với cách tiếp cận theo cấp độ Do đó, MEMU tốt hơn - HAUIM-MMAU, như có thể thấy trong Hình 5(a) đến 5(f) Ngoài ra, ba chiến lược cắt tỉa đóng vai trò thiết yếu trong việc nâng cao hiệu suất khai thác của thuật toán được đề xu t vì các t p mấ ậ ục không h a h n có th b b qua trứ ẹ ể ị ỏ ực ti p trong cây li t kê Th i gian ế ệ ờ chạy cho m t glmau cộ ố định và các giá trị 𝛽khác nhau được hiển thị trong Hình 6
Có thể thấy trong Hình 6 rằng mô hình 𝑟𝑡𝑢𝑏được đề xuất được thuật toán đề xuất sử d ng hi u qu ụ ệ ả hơn mô hình 𝑎𝑢𝑢𝑏 truyền thống được sử dụng bởi thuật toán HAUIM- MAU hiện đại Lý do giống như lý do giải thích kết quả ở Hình 5 Hơn nữa, người ta nhận thấy rằng
Thời gian chạy cho một 𝑔𝑙𝑚𝑎𝑢cố định và các giá trị β khác nhau. thời gian ch y gi m khi ạ ả 𝛽 tăng do 𝑚𝑎𝑢 c a m i m c tr nên lủ ỗ ụ ở ớn hơn và số lượng HAUI giảm cũng như phần không gian tìm kiếm được khám phá Tóm lại, thuật toán MEMU được đề xuất với mô hình 𝑟𝑡𝑢𝑏(có hoặc không có chiến lược c t t a) hi u qu ắ ỉ ệ ả hơn thuật toán HAUIM-MMAU d a trên mô hình ự 𝑎𝑢𝑢𝑏 truyền thống.
Phần này so sánh việc sử dụng bộ nhớ của các thuật toán Mức sử dụng bộ nhớ được đo bằng API Java tiêu chuẩn và mức sử dụng bộ nhớ cao nhất của từng thuật toán được so sánh được coi là mức sử dụng bộ nhớ cuối cùng cho mỗi tập dữ liệu Kết quả của sáu bộ dữ liệu và các giá trị glmau khác nhau cũng như β cố định được hiển thị trong Hình
Trong Hình 7, có thể thấy r ng thuằ ật toán MEMU+ được đề xuất có hi u su t b ệ ấ ộ nhớ cao hơn thuật toán HAUIM-MMAU hiện đại Mô hình 𝑟𝑡𝑢𝑏 có thể giảm mức sử dụng bộ nhớ của thuật toán một cách hiệu quả do số lượng nút được MEMU+ khám phá trong cây liệt kê nhỏ hơn nhiều so với thuật toán HAUIM-MMAU d a trên mô hình ự 𝑎𝑢𝑢𝑏 Do đó, tránh được việc quét nhiều lần cơ sở dữ liệu và thuật toán đề xuất không cần phải duy trì một số lượng lớn các tập mục hứa hẹn trong bộ nhớ trong giai đoạn khai thác Ví dụ trong Hình 7(a), thu t toán HAUIM-MMAU yêu c u 3.370 MB b nhậ ầ ộ ớ trong khi MEMU- và MEMU+ lần lượ ử ụt s d ng b ộnhớ 602 MB và 539 MB khi 𝑔𝑙𝑚𝑎𝑢được đặt thành 9000K
Như vậy, có thể thấy rằng phương pháp đề xuất có thể giảm mức sử dụng bộ nhớ tới 5 lần so với mô hình truyền thống Kết quả trên sáu bộ dữ liệu với các giá tr khác ị𝛽 nhau và glmau cố định được hiển thị trong Hình 8