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

Khai thác top rank k tập xóa được

98 4 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 đề Khai Thác Top - Rank - K Tập Xóa Được
Tác giả Châu Trần Trúc Ly
Người hướng dẫn TS. Tô Hoài Việt
Trường học Trường Đại Học Công Nghệ TP. HCM
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 2015
Thành phố TP. HỒ CHÍ MINH
Định dạng
Số trang 98
Dung lượng 1,45 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: GIỚI THIỆU (20)
    • 1.1 Khai thác dữ liệu (20)
    • 1.2 Khai thác tập xóa được (20)
    • 1.3 Khai thác Top – Rank – K tập xóa được (21)
    • 1.4 Giới thiệu đề tài (21)
      • 1.4.1 Mục tiêu và nội dung nghiên cứu (23)
      • 1.4.2 Cấu trúc luận văn (23)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (24)
    • 2.1 Bài toán khai thác tập xóa được (25)
      • 2.1.1 Phát biểu và mở đầu vấn đề (25)
      • 2.1.2 Các định nghĩa (26)
    • 2.2 Một số thuật toán khai thác tập xóa được (28)
      • 2.2.1 Thuật toán META (28)
      • 2.2.2 Thuật toán VME (29)
      • 2.2.3 Thuật toán MERIT/MERIT+ (30)
      • 2.2.4 Thuật toán dMERIT+ (32)
      • 2.2.5 Thuật toán MEI (32)
    • 2.3 Thuật toán Top – Rank – K (33)
      • 2.3.1 Các định nghĩa (33)
      • 2.3.2 Phát biểu bài toán và cơ sở lý thuyết (35)
    • 2.4 Một số thuật toán Top – Rank – k tập xóa được (35)
      • 2.4.1 Thuật toán MIKE (35)
        • 2.4.1.1 Định nghĩa và bổ đề (36)
        • 2.4.1.2 Phương pháp (38)
        • 2.4.1.3 Minh họa (39)
        • 2.4.1.4 Nhận xét (44)
      • 2.4.2 Thuật toán I-MIKE (44)
        • 2.4.2.1 Phương pháp (44)
        • 2.4.2.2 Minh họa (46)
        • 2.4.2.3 Nhận xét (48)
      • 2.4.3 Thuật toán VM (49)
        • 2.4.3.1 Định nghĩa và tính chất của PID_List (49)
        • 2.4.3.2 Phương pháp (54)
        • 2.4.3.3 Minh họa (60)
        • 2.4.3.4 Nhận xét (64)
      • 2.4.4 Thuật toán dVM (65)
        • 2.4.4.1 PID_List (65)
        • 2.4.4.2 Khai thác Top – Rank – K tập xóa được sử dụng dPID_List (66)
        • 2.4.4.3 Thuật toán dVM (68)
        • 2.4.4.4 Minh họa (71)
        • 2.4.4.5 Nhận xét (76)
  • CHƯƠNG 3: THUẬT TOÁN IdVM CHO KHAI THÁC TOP – RANK – K TẬP XÓA ĐƯỢC (24)
    • 3.1 Giới thiệu (77)
    • 3.2 Các khái niệm (77)
      • 3.2.1 Khai thác tập xóa được Top – Rank – K (77)
        • 3.2.1.1 PID_List cho thuật toán IdVM (79)
        • 3.2.1.2 Thuật toán IdVM áp dụng cấu trúc dPID_List (80)
      • 3.2.2 Phương pháp sinh tập ứng viên (80)
    • 3.3 Thuật toán IdVM (81)
      • 3.3.1 Ý tưởng (81)
      • 3.3.2 Phương pháp (82)
      • 3.3.3 Mã giả (83)
      • 3.3.4 Minh họa (86)
      • 3.3.5 Nhận xét (91)
    • 3.4 Thử nghiệm và đánh giá (91)
    • 3.5 Thời gian thực hiện (92)
    • 3.6 Bộ nhớ sử dụng (94)
    • 3.7 Tổng kết (95)
  • CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (24)
    • 4.1 Kết luận (97)

Nội dung

GIỚI THIỆU

Khai thác dữ liệu

Ngày nay, khối lượng dữ liệu đang bùng nổ và ngày càng gia tăng, đặc biệt là từ các cơ sở dữ liệu thương mại của các công ty đa quốc gia Sự tràn ngập thông tin này khiến chúng ta cần đến khai phá dữ liệu, một quá trình giúp chắt lọc và trích xuất những thông tin giá trị từ khối dữ liệu thô khổng lồ, đồng thời loại bỏ những thông tin không cần thiết.

Khai thác dữ liệu là quá trình chuyển đổi dữ liệu thô thành thông tin hữu ích, giúp doanh nghiệp hiểu rõ hơn về khách hàng và phát triển chiến lược kinh doanh hiệu quả Bằng cách sử dụng phần mềm để tìm kiếm các mẫu trong dữ liệu lớn, các công ty có thể tăng doanh thu và giảm chi phí Hiệu quả của khai thác dữ liệu phụ thuộc vào việc thu thập dữ liệu, kho dữ liệu và khả năng xử lý của máy tính.

Khai thác tập xóa được

Khai thác tập xóa được, do Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2009, liên quan đến lập kế hoạch sản xuất trong các nhà máy sản xuất lớn với nhiều loại sản phẩm Các nhà máy cần đầu tư một số tiền lớn để mua hoặc dự trữ các thành phần cần thiết cho sản phẩm Trong bối cảnh khủng hoảng tài chính, việc lập kế hoạch sản xuất trở nên quan trọng hơn bao giờ hết, vì họ không thể mua tất cả các nguyên liệu như trước Do đó, câu hỏi then chốt cho các nhà quản lý là làm thế nào để lập kế hoạch sản xuất trong điều kiện tài chính hạn chế, đồng thời kiểm soát sự mất mát lợi nhuận từ việc ngừng sản xuất một số sản phẩm do thiếu nguyên liệu Chìa khóa cho vấn đề này là tìm ra cách hiệu quả để xác định các thành phần cần thiết mà không làm giảm lợi nhuận vượt quá ngưỡng cho phép, và những thành phần này được gọi là “tập có thể xóa được”.

Thuật toán META, do Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2009, là thuật toán đầu tiên cho khai thác tập có thể xóa được Sau đó, nhóm tác giả này tiếp tục phát triển một loạt thuật toán khác, bao gồm VME, MERIT và MEI.

Khai thác Top – Rank – K tập xóa được

Bài báo META [2] được giới thiệu vào năm 2009 đã đề xuất sử dụng ngưỡng phần trăm để tạo ra các tập có thể xóa được đầy đủ và đúng đắn Tuy nhiên, việc thiết lập ngưỡng này gặp khó khăn vì người dùng không thể xác định tỷ lệ chính xác trước Một tỷ lệ quá nhỏ có thể dẫn đến hàng ngàn tập xóa được, trong khi ngưỡng quá lớn chỉ tạo ra vài tập Ngoài ra, vấn đề khai thác top-rank-k tập xóa được, được trình bày vào năm 2011, đã đề xuất một thuật toán hiệu quả mang tên MIKE để thực hiện nhiệm vụ này.

VM và dVM có khả năng tìm kiếm tất cả các tập top-rank-k xóa được trong thời gian hợp lý, nhưng gặp hai điểm yếu chính Thời gian hiệu quả của các thuật toán này thường lâu do phải duyệt cơ sở dữ liệu liên tục, và chi phí tính toán để đạt được các ứng cử viên tập phổ biến là cao Trong bài viết này, chúng tôi giới thiệu một thuật toán mới nhằm khắc phục những nhược điểm này, giúp khai thác top-rank-k tập xóa được một cách hiệu quả hơn.

Giới thiệu đề tài

Khai thác dữ liệu là tập hợp các kỹ thuật tự động tìm kiếm mối quan hệ và mẫu tiềm ẩn trong tập dữ liệu lớn và phức tạp Các vấn đề nghiên cứu trong khai thác dữ liệu bao gồm phân lớp, phân cụm, khai phá chuỗi và luật kết hợp Mặc dù đã có nhiều nghiên cứu về khai thác mẫu, việc khai thác tập xóa được vẫn còn là thách thức Khai thác dữ liệu không chỉ mang lại lợi ích vượt trội so với các công cụ phân tích truyền thống mà còn đặc biệt hữu ích trong bối cảnh khủng hoảng tài chính, giúp các tổ chức duy trì lợi nhuận trong quá trình hoạt động.

Trong hoạt động sản xuất kinh doanh, con người tạo ra nhiều dữ liệu nghiệp vụ từ việc lập kế hoạch sản xuất, ví dụ như khi một nhà máy sản xuất một tập lớn các sản phẩm Các sản phẩm này được tạo ra từ nhiều thành phần nguyên vật liệu, và để sản xuất, nhà máy cần một số vốn lớn để mua hoặc dự trữ nguyên liệu Tuy nhiên, trong trường hợp khủng hoảng tài chính, nhà máy cần có kế hoạch sản xuất để giải quyết vấn đề tài chính do không đủ tiền mua nguyên liệu, dẫn đến việc phải ngừng sản xuất một số sản phẩm Việc ngừng sản xuất này có thể gây mất lợi nhuận, do đó, nhà máy cần kiểm soát mức độ mất mát này Để giải quyết vấn đề hiệu quả mà nhà máy gặp phải, đã có nhiều thuật toán như META, VME, MERIT+, MEI và MIKE được áp dụng.

Trong lĩnh vực khai thác tập xóa được, các nghiên cứu trước đây như của Deng, Fang, Wang và Xu đã sử dụng ngưỡng phần trăm để đảm bảo tính chính xác và hoàn chỉnh của tập các item có thể xóa, nhưng việc thiết lập ngưỡng này gặp khó khăn do người dùng không thể xác định chính xác Một ngưỡng quá nhỏ có thể dẫn đến việc tạo ra hàng ngàn tập các thành phần có thể xóa Zhihong Deng, Xiaoran Xu và các đồng tác giả đã giới thiệu một tác vụ mới gọi là khai thác k thứ hạng đầu tập các thành phần có thể xóa, với k là giá trị thứ hạng lớn nhất Họ đã phát triển nhiều thuật toán như MIKE, I-MIKE, VM và dVM, đồng thời tiến hành thử nghiệm trên các cơ sở dữ liệu tổng hợp để đánh giá hiệu quả Để cải thiện tính hiệu quả của các thuật toán, tôi đề xuất một thuật toán mới mang tên IdVM, kết hợp giữa dVM và I-MIKE, nhằm làm phong phú thêm các giải pháp cho bài toán khai thác này.

1.4.1 Mục tiêu và nội dung nghiên cứu

 Tổng hợp và phân tích những kết quả nghiên cứu hiện nay trong khai thác top – rank – k tập xóa được

Thuật toán mới IdVM được đề xuất nhằm nâng cao hiệu quả của phương pháp khai thác k thứ hạng đầu của các thành phần có thể xóa (Top-Rank-K).

Khai thác dữ liệu là một lĩnh vực quan trọng trong khoa học máy tính, bao gồm nhiều tác vụ khác nhau, trong đó có khai thác tập xóa được và khai thác top-rank-k tập xóa được Mục đích của nghiên cứu này là làm rõ các phương pháp và ứng dụng của các kỹ thuật khai thác dữ liệu, đồng thời trình bày nội dung chi tiết của đề tài luận văn nhằm cung cấp cái nhìn sâu sắc về vấn đề này.

CƠ SỞ LÝ THUYẾT

Bài toán khai thác tập xóa được

2.1.1 Phát biểu và mở đầu vấn đề

Cho 𝐼 = (𝑖 1 , 𝑖 2 , … 𝑖 𝑚 ) là một tập hợp các thành phần đại diện cho các thành phần của sản phẩm

Tập 𝐷𝐵 = (𝑃 1 , 𝑃 2 , … 𝑃 𝑛 ) trong đó 𝑃 𝑖 ( 𝑖 ∈ [1 … 𝑛] ) là một loại sản phẩm được trình bày dưới hình thức 〈𝑃𝐼𝐷, 𝐼𝑡𝑒𝑚𝑠, 𝑉𝑎𝑙〉 Trong đó:

 PID là định danh của 𝑃 𝑖 hay còn gọi là mã loại sản phẩm

 Items là tất cả các thành phần (hoặc các thành phần) tạo thành 𝑃 𝑖

Lợi nhuận của một xí nghiệp sản xuất hay nhà máy được xác định từ việc bán tất cả các sản phẩm loại 𝑃𝑖 Ngưỡng 𝜉 là mức giảm phần trăm lợi nhuận đã được xác định trước.

Dưới đây là cơ sở dữ liệu thí dụ DB sẽ được dùng để làm ví dụ và minh họa trong luận văn

Bảng 2.1: Cơ sở dữ liệu DB

Loại Sản Phẩm PID Items Val( Nghìn Đô La)

Cơ sở dữ liệu trong bảng 2.1 liệt kê 11 loại sản phẩm, bao gồm các thành phần 𝒶, 𝑏, 𝑐, 𝑑, ℯ, 𝑓, ℊ, ℎ Một ví dụ điển hình là sản phẩm 𝑃 7, cần năm thành phần 𝒸, 𝑑, 𝑒, 𝑓, ℊ để sản xuất Việc bán tất cả sản phẩm loại 𝑃 7 có thể mang lại lợi nhuận lên tới 200 nghìn đô la.

Một tập hợp 𝐴 ⊆ 𝐼 được định nghĩa là một tập thành phần (nguyên liệu) Nếu tập A chỉ có một phần tử, nó được gọi là 1-thành phần Ngược lại, nếu A có k phần tử (với 2 ≤ k ≤ m), thì A được gọi là k-thành phần.

Lợi nhuận của một tập thành phần được xác định là tổng lợi nhuận của tất cả các sản phẩm chứa ít nhất một phần tử trong tập thành phần đó Theo định nghĩa 2.1, nếu 𝐴 ⊆ 𝐼 là một tập hợp các thành phần (Items), thì lợi nhuận của A được định nghĩa dựa trên các sản phẩm liên quan.

Lợi nhuận của tập thành phần A được tính bằng tổng lợi nhuận của tất cả các sản phẩm có ít nhất một thành phần thuộc A Với P (= {ℯ, ℎ}) là một tập phổ biến, từ bảng 2.1, chúng ta xác định các sản phẩm chứa ℯ hoặc 𝒽 bao gồm 𝑃 7 , 𝑃 8 , 𝑃 9 , 𝑃 10 và 𝑃 11 Do đó, lợi nhuận của P là tổng của 𝑃 7 𝑉𝑎𝑙, 𝑃 8 𝑉𝑎𝑙, 𝑃 9 𝑉𝑎𝑙, 𝑃 10 𝑉𝑎𝑙 và 𝑃 11 𝑉𝑎𝑙 Từ đó, ta có thể tính được Gain (A).

Gain(A) = 𝑃 7 Val + 𝑃 8 Val + 𝑃 9 Val + 𝑃 10 Val + 𝑃 11 Val

= 200 + 100 + 50 + 150 + 100 = 600 nghìn đô la Định nghĩa 2.2: Cho một ngưỡng 𝜉 được xác định trước và một cơ sở dữ liệu sản phẩm DB, một tập xóa được A nếu

Dựa vào các định nghĩa trên, vấn đề khai thác tập xóa được có thể được mô tả như sau:

Trong bối cảnh một cơ sở dữ liệu sản phẩm DB và ngưỡng 𝜉, việc tìm kiếm tập hợp đầy đủ các tập xóa được, hay còn gọi là vấn đề khai thác tập có thể xóa được, trở nên quan trọng Tập xóa được bao gồm các thành phần mà mức giảm lợi nhuận không vượt quá 𝜉, ví dụ như 16% Khi một nhà máy sản xuất không thể mua nguyên liệu ℯ và ℎ do khủng hoảng kinh tế, điều này dẫn đến việc họ không thể sản xuất các sản phẩm liên quan.

Lợi nhuận bị mất không vượt quá 16% so với lợi nhuận ban đầu, điều này cho thấy tầm quan trọng của việc lập kế hoạch Tập xóa giúp các nhà sản xuất đưa ra quyết định về việc mua nguyên liệu thô và tổ chức quy trình sản xuất sản phẩm trong bối cảnh khủng hoảng kinh tế.

Ví dụ 1: cho 𝜉 = 16%, tập 2 - thành phần A = {𝑒, ℎ} trong DB là tập xóa được do Gain(A) = 600 ≤ 16% × 5000 = 800

Trong bài viết này, chúng ta sẽ xem xét các cơ sở dữ liệu liên quan đến ví dụ sản phẩm được trình bày trong bảng 2.1 Với 𝜉 được đặt là 16%, theo định nghĩa 2.2, toàn bộ tập phổ biến sẽ bị xóa như sau.

Bảng 2.2: Các Tập Xóa Được Trong DB với 𝜉 = 16%

STT Tập Xóa Được Lợi Nhuận STT Tập Xóa Được Lợi Nhuận

Một số thuật toán khai thác tập xóa được

META (Khai thác các tập thành phần có thể xóa với thuộc tính chống đơn điệu) là thuật toán đầu tiên được giới thiệu bởi Zhi-Hong Deng và các cộng sự vào năm 2009, nhằm khai thác các tập thành phần không hữu ích Thuật toán này dựa trên ý tưởng của thuật toán Apriori trong việc khai thác mẫu phổ biến Kết quả của META là các tập có thể xóa, tuy nhiên, thời gian khai thác của thuật toán này tương đối dài.

META đã tiến hành duyệt cơ sở dữ liệu lần đầu tiên để xác định tổng số lợi nhuận của các nhà máy và thực hiện k lần để thu thập thông tin liên quan đến mỗi EI, trong đó k là mức tối đa của các kết quả EIs Ví dụ, nếu META phát hiện ra một tập hợp hoặc loại bỏ hơn 5 tập, thì mức tối đa của EIs sẽ được xác định là 6, dẫn đến việc META duyệt các cơ sở dữ liệu tổng cộng 6 lần.

Chiến lược META được áp dụng để tạo ra các tập ứng cử viên thông qua một phương pháp ngây thơ, trong đó tập xóa được (k - 1) được xem là tất cả phần xóa được còn lại Từ đó, nó kết hợp các phần này để tạo ra tập xóa được k Chỉ một số lượng nhỏ phần còn lại của tập xóa được (k - 1) có tiền tố giống như của X được sử dụng để kết hợp Ví dụ, với tập xóa được 2 thành phần {ab, ac, ad, bc, bd, cd}, META sẽ xem xét yếu tố đầu tiên {ab} và kết hợp nó với tất cả các phần còn lại {ac, ad, bc, bd, cd} Trong trường hợp này, chỉ {ac, ad} được sử dụng để kết hợp với {ab}, trong khi {bc, bd, cd} không cần thiết.

VME (Thuật toán dựa trên định dạng dọc để khai thác các tập hợp có thể xóa) được Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2010, với phương pháp tiếp cận cơ sở dữ liệu theo định dạng chiều dọc và cấu trúc dữ liệu PID-list để khai thác hiệu quả các tập không hữu ích và tự động loại bỏ dữ liệu dư thừa Kết quả thực nghiệm cho thấy thuật toán VME có thời gian thực hiện trung bình nhanh hơn gấp hai lần so với thuật toán META, nhờ vào việc chỉ duyệt cơ sở dữ liệu hai lần Tuy nhiên, một số điểm yếu liên quan đến VME cũng đã được chỉ ra.

VME thực hiện việc duyệt cơ sở dữ liệu để xác định tổng lợi nhuận của các nhà máy, sau đó tiếp tục duyệt để tìm tất cả các tập xóa được một thành phần và PID_Lists tương ứng Tuy nhiên, quá trình duyệt cơ sở dữ liệu tiêu tốn nhiều thời gian và bộ nhớ, do đó cần phải thực hiện một cách cẩn thận để đảm bảo hiệu quả.

VME áp dụng chiến lược tìm kiếm theo chiều rộng, trong đó tất cả các tập xóa được (k – 1) được sử dụng để tạo ra tập k Phân loại các tập xóa được (k – 1) có cùng tiền tố với tập xóa được (k) là một phần quan trọng trong quy trình này.

2) mất rất nhiều thời gian và quá trình hoạt động Ví dụ tập xóa được 2 thành phần là {ab, ac, ad, bc, bd, cd} trong đó có 3 tiền tố là tập 1- thành phần cụ thể là {a}, {b} và {c} Thuật toán này chia phần tử thành các nhóm xóa được 2 thành phần, nó giống tiền tố như tập xóa được một thành phần Đặc biệt tập xóa được 2 - thành phần được phân thành 2 nhóm {ab, ac, ad}, {bc, bd}, and {cd} Sau đó, thuật toán này kết hợp từng phần tử của mỗi nhóm để tạo ra các ứng cử viên xóa được 3 thành phần đó là {abc}, {abd}, {acd}, và {bcd}

VME áp dụng các chiến lược liên minh, trong đó danh sách PID của X là một tập con của danh sách PID của Y khi X là tập con của Y Chiến lược này yêu cầu một lượng lớn bộ nhớ và quy trình hoạt động cho nhiều EIs.

VME lưu trữ lợi nhuận của mỗi sản phẩm (Val) trong cặp thuộc PID_List, dẫn đến tình trạng trùng lặp dữ liệu khi một cặp có thể xuất hiện trong nhiều PID_List Điều này làm tăng yêu cầu về bộ nhớ cho thuật toán Tuy nhiên, việc sử dụng bộ nhớ có thể được tối ưu hóa thông qua việc áp dụng chỉ số đạt được.

MERIT (Fast Mining ERasable ITemsets) was introduced by Zhi-Hong Deng and colleagues in 2011 This method presents a data representation structure that enhances the efficiency of itemset mining processes.

NC-set cho phép lưu trữ toàn bộ thông tin cần thiết từ cơ sở dữ liệu, phục vụ cho việc khai thác các tập không hữu ích Cấu trúc của NC-set được xác định dựa trên cấu trúc dữ liệu cụ thể.

WPPC_tree là một cấu trúc cây dựa trên ý tưởng của cây FP MERIT có khả năng khai thác hiệu quả các tập không hữu ích thông qua cấu trúc NC-set nhờ vào các kỹ thuật tiên tiến.

 NC-set là một cấu trúc chặt chẽ và tự động loại bỏ dữ liệu thừa

 Lợi nhuận của một tập thành phần được tính dựa trên kết hợp các NC- set lại một cách khéo léo, với độ phức tạp tuyến tính

 MERIT hạn chế phát sinh các tập ứng viên

Thuật toán MERIT đã được đánh giá qua nhiều thí nghiệm trên các cơ sở dữ liệu tổng hợp, cho thấy hiệu suất vượt trội với tốc độ trung bình nhanh gấp hai lần so với thuật toán META.

Tuy nhiên, tương tự như VME, MERIT vẫn có ba điểm yếu sau đây:

MERIT áp dụng các chiến lược liên minh, trong đó tập hợp con NC_Set của X sẽ được bao gồm trong NC_Set của Y nếu X là tập con của Y Kết quả là việc sử dụng bộ nhớ của MERIT trở nên lớn hơn, đặc biệt khi xử lý một số lượng lớn các EIs.

MERIT thực hiện việc duyệt cơ sở dữ liệu ba lần để xây dựng cây WPPC Sau đó, nó tiếp tục duyệt cây WPPC hai lần nhằm tạo ra các NC_Set cho tập xóa được một thành phần Các bước này tiêu tốn nhiều thời gian và yêu cầu quá trình hoạt động phức tạp.

 MERIT lưu trữ các giá trị lợi nhuận của sản phẩm trong mỗi NC của NC_Set, dẫn đến trùng lắp dữ liệu

MERIT có một số vấn đề mà nó là nguyên nhân gây ra sự mất mát số lượng lớn EIs:

Thuật toán Top – Rank – K

Một kỹ thuật quan trọng trong khai thác dữ liệu, đặc biệt là trong việc xử lý tập không hữu ích, là "khai thác các tập top-rank-k" Kỹ thuật này tập trung vào việc xác định giá trị "hạng" cao nhất k, từ đó giúp tìm ra các tập có thể loại bỏ.

2.3.1 Các định nghĩa Định nghĩa 2.3:(Lợi nhuận) Cho một tập hợp các thành phần A (⊆ 𝐼), lợi nhuận của A được định nghĩa như sau:

Lợi nhuận của tập các thành phần A được xác định là tổng giá trị của các sản phẩm có ít nhất một thành phần thuộc tập A Theo định nghĩa, rank của tập các item A trong cơ sở dữ liệu sản phẩm DB được ký hiệu là RA, thể hiện vị trí hoặc thứ hạng của A trong bối cảnh dữ liệu sản phẩm.

Chú ý rằng |Y| là số phần tử của Y Định nghĩa 2.5: Một tập các thành phần A (⊆ 𝐼) được gọi là k thứ hạng đầu tập các thành phần có thể xóa khi giao tác cơ sở dữ liệu DB và ngưỡng k thỏa mãn điều kiện RA không lớn hơn k (RA ≤ k).

Bài toán khai thác k thứ hạng đầu tập các thành phần có thể xóa được liên quan đến việc tìm kiếm một tập hợp hoàn chỉnh các thành phần có thể xóa trong một giao tác cơ sở dữ liệu DB, với điều kiện rằng thứ hạng của tập hợp này không vượt quá ngưỡng k.

Bảng 2.1 trình bày một ví dụ với 8 thành phần khác nhau và 11 sản phẩm, mỗi sản phẩm bao gồm 3 trường: PID, Items và Val Với ngưỡng k là 5, bảng 2.3 sẽ thể hiện 5 thứ hạng hàng đầu của các thành phần có thể xóa.

Bảng 2.3: Các tập top – 5 có thể xóa được trong DB e

Rank Tập xóa được Lợi Nhuận

Kỹ thuật khai thác top-rank-k giúp người dùng xác định và loại bỏ các tập không hữu ích, từ đó hỗ trợ trong việc đưa ra quyết định chính xác hơn.

Phần này sử dụng ký hiệu l-thành phần (l ≥ 2) cho các tập có nhiều thành phần

Một phương pháp cơ bản mà các thuật toán hiện nay thường áp dụng để khai thác các tập top-k là tìm kiếm theo từng cấp độ Phương pháp này dựa vào các tập không hữu ích top-k của thành phần (l-1) để xác định các tập không hữu ích top-k của thành phần l.

1 Duyệt cơ sở dữ liệu tìm các 1-thành phần không hữu ích top-k và lợi nhuận tương ứng Đưa các tập vào Bảng top-rank-k ký hiệu 𝑇𝑎𝑏 𝑘 là một bảng các bộ (tuples) có cấu trúc gồm hai trường: Gain và List lưu trữ lợi nhuận và danh sách các tập thành phần tương ứng Nghĩa là mọi tập thành phần trong List (danh sách) của một bộ có cùng lợi nhuận (Gain) Số bộ trong 𝑇𝑎𝑏 𝑘 không vượt quá ngưỡng k và được sắp tăng theo giá trị lợi nhuận

2 Dựa trên các 1-thành phần trong 𝑇𝑎𝑏 𝑘 để tìm các ứng viên 2-thành phần Nếu lợi nhuận của một ứng viên 2-thành phần không vượt quá giá trị lợi nhuận lớn nhất trong 𝑇𝑎𝑏 𝑘 thì chèn vào bảng 𝑇𝑎𝑏 𝑘 Sau mỗi lần chèn tập thành phần vào 𝑇𝑎𝑏 𝑘 , kiểm tra nếu số bộ trong 𝑇𝑎𝑏 𝑘 vượt quá k thì xóa các bộ nằm sau bộ thứ k

3 Lặp lại (2) sinh các tập xóa được top-k (l+1)-thành phần dựa trên các l- thành phần tập xóa được top-k cho đến khi không còn tìm được tập nào nữa

2.3.2 Phát biểu bài toán và cơ sở lý thuyết

Cho 𝐼 = (𝑖 1 , 𝑖 2 , … 𝑖 𝑚 ) là một tập hợp các thành phần đại diện cho các thành phần của sản phẩm

Tập 𝐷𝐵 = (𝑃 1 , 𝑃 2 , … 𝑃 𝑛 ) trong đó 𝑃 𝑖 ( 𝑖 ∈ [1 … 𝑛] ) là một loại sản phẩm được trình bày dưới hình thức 〈𝑃𝐼𝐷, 𝐼𝑡𝑒𝑚𝑠, 𝑉𝑎𝑙〉 Trong đó:

 PID là định danh của 𝑃 𝑖 hay còn gọi là mã loại sản phẩm

 Items là tất cả các thành phần ( hoặc các thành phần ) tạo thành 𝑃 𝑖

Lợi nhuận của một xí nghiệp sản xuất được xác định bởi doanh thu từ việc bán tất cả các sản phẩm loại 𝑃 𝑖 Một ngưỡng k và tập hợp các thành phần A (⊆ 𝐼) được xem là k thứ hạng đầu nếu tổng lợi nhuận RA không vượt quá k (RA ≤ 𝑘).

THUẬT TOÁN IdVM CHO KHAI THÁC TOP – RANK – K TẬP XÓA ĐƯỢC

Giới thiệu

Các phương pháp khai thác Top-Rank-K tập xóa hiện nay áp dụng kỹ thuật tìm kiếm theo từng cấp độ từ cơ sở dữ liệu Chúng sử dụng l-thành phần trong danh sách Top-Rank-K để tạo ra các ứng cử viên (l + 1)-thành phần Một số thuật toán tiêu biểu trong lĩnh vực này bao gồm MIKE và I-MIKE.

[7], VM [8], dVM [9] và các phương pháp khai thác tập xóa được tương ứng

Các phương pháp hiện tại không chỉ chú trọng vào việc giảm thiểu số lần truy xuất cơ sở dữ liệu mà còn tập trung vào việc tối ưu hóa quá trình tính toán độ phức tạp của bài toán khai thác Top – Rank – K, nhằm đạt được tốc độ xử lý nhanh nhất.

Để giải quyết vấn đề này, việc sử dụng các cấu trúc dữ liệu phù hợp là rất quan trọng, nhằm lưu trữ thông tin cần thiết từ cơ sở dữ liệu cho việc khai thác Hiện nay, các thuật toán hiệu quả bao gồm VM với cấu trúc PID_List, dVM sử dụng PID_List và dPID_List.

Luận văn này đề xuất một phương pháp khai thác Top – Rank – K tập xóa được, ưu tiên khai thác trên top “n” thành phần đầu tiên và dPID_List.

Các khái niệm

3.2.1 Khai thác tập xóa được Top – Rank – K

Cho 𝐼 = (𝑖 1 , 𝑖 2 , … 𝑖 𝑚 ) là một tập hợp các thành phần đại diện cho các thành phần của sản phẩm

Tập 𝐷𝐵 = (𝑃 1 , 𝑃 2 , … 𝑃 𝑛 ) trong đó 𝑃 𝑖 ( 𝑖 ∈ [1 … 𝑛] ) là một loại sản phẩm được trình bày dưới hình thức 〈𝑃𝐼𝐷, 𝐼𝑡𝑒𝑚𝑠, 𝑉𝑎𝑙〉 Trong đó:

 PID là định danh của 𝑃 𝑖 hay còn gọi là mã loại sản phẩm

 Items là tất cả các thành phần ( hoặc các thành phần ) tạo thành 𝑃 𝑖

Lợi nhuận của một xí nghiệp sản xuất được xác định qua việc bán tất cả các sản phẩm loại 𝑃 𝑖 Một ngưỡng k và tập hợp các thành phần A (⊆ 𝐼) được gọi là k thứ hạng đầu nếu và chỉ nếu RA không vượt quá k (RA≤ 𝑘) Định nghĩa lợi nhuận của một tập hợp các thành phần X (⊆ 𝐼) được đưa ra như sau: [8]

Lợi nhuận của tập hợp các thành phần X được tính bằng tổng giá trị của các sản phẩm có ít nhất một thành phần thuộc X Định nghĩa 3.2 về rank của tập các thành phần X trong cơ sở dữ liệu sản phẩm DB được xác định như sau: [8]

R X được định nghĩa là số lượng tập hợp con Y của I mà có lợi nhuận không vượt quá lợi nhuận của tập hợp X Định nghĩa 3.3 cho biết rằng trong một giao tác cơ sở dữ liệu DB, một tập hợp các thành phần A (thuộc I) được gọi là k thứ hạng đầu tập các thành phần có thể xóa nếu lợi nhuận của A không lớn hơn ngưỡng k (RA ≤ k).

Bài toán khai thác k thứ hạng đầu tập các thành phần có thể xóa được định nghĩa là tìm kiếm một tập hợp hoàn chỉnh các thành phần có thể xóa trong cơ sở dữ liệu DB, với điều kiện rằng thứ hạng của tập hợp này không vượt quá ngưỡng k.

3.2.1.1 PID_List cho thuật toán IdVM

Trong bài viết của Zhihong Deng, cấu trúc hiệu quả của PID_List được trình bày để khai thác top – rank – k tập xóa được Bài báo tóm tắt một số khái niệm cơ bản, trong đó có định nghĩa về các PID_List của 1-thành phần 𝐴 ⊆ 𝐼.

Ví dụ 9: Cho cơ sở dữ liệu DB bảng 2.1, chúng ta có PID_List (f)={ < 7, 200

Định lý 3.1 nêu rằng cho hai tập xóa được k-thành phần là XA và XB, ta có thể xác định PID_List(XAB) dựa trên sự kết hợp của PID_List(XA) và PID_List(XB).

Ví dụ 10: Từ ví dụ 9 và định lý 3 1 Chúng ta có PID_List(fd) = PID_List (f)

>} Định lý 3.2: Lợi nhuận của một tập phổ biến X có thể được tính như sau:

Ví dụ 11: Từ ví dụ 10 và định lý 3 2 Chúng ta có PID_List(fd) = PID_List (f)

>} khi đó lợi nhuận của 𝑔(𝑓𝑑) =150+50+100+200+100+50e0 đô la

3.2.1.2 Thuật toán IdVM áp dụng cấu trúc dPID_List: Định nghĩa 3.5 ( dPID_List): Cho XA và XB là hai tập xóa được k - thành phần Giả sử PID_List(XA) và PID_List(XB) là sự kết hợp tương ứng PID_List của

XA và XB Các dPID_List của XAB được xác định như sau:

Ví dụ 12: Từ ví dụ 9 và định nghĩa 3.4, chúng ta có dPID_List (df)=PID_List(f)

Định lý 3.3 nêu rằng, cho hai tập XA và XB có khả năng xóa k-thành phần, dPID_List(XA) và dPID_List(XB) sẽ là sự kết hợp tương ứng của dPID_List từ hai tập này.

XB Các dPID_List của XAB được xác định như sau:

Định lý 3.4 nêu rằng với hai tập xóa được k-thành phần là XA và XB, lợi nhuận của XA được ký hiệu là g(XA) Để tính lợi nhuận của tập hợp XAB, ta sử dụng công thức dPID_List, trong đó dPID_List (XAB) được xác định bằng dPID_List(XB) trừ đi dPID_List(XA).

Ví dụ 13: Từ ví dụ 12, chúng ta có g(d)50 đô la và dPID_List( df)= { < 9,

50 > } Vì thế, g(df)=g(d)+∑ 𝑛 𝑗=1 𝑑𝑃𝐼𝐷_𝐿𝑖𝑠𝑡 (𝑋𝐴𝐵) 𝑗 𝑉𝑎𝑙= 350+50@0 đô la

3.2.2 Phương pháp sinh tập ứng viên

Sau khi duyệt cơ sở dữ liệu để tính toán lợi nhuận của từng thành phần, danh sách I1 sẽ được tạo ra với các thành phần sắp xếp theo lợi nhuận tăng dần Toàn bộ top-rank-k 1-thành phần sẽ được chèn vào bảng top-rank-k Những thành phần này sẽ được sử dụng để sinh ra các ứng viên 2-thành phần, nhưng không phải tất cả đều đủ điều kiện để vào bảng top-rank-k Quá trình này tiếp tục, với top-rank-k l-thành phần được sử dụng để tạo ra tập ứng viên (l+1)-thành phần, trong đó nhiều thành phần cũng sẽ bị loại bỏ do không đáp ứng tiêu chí.

Khi l tăng lên, các ứng viên có thể được chèn vào hoặc loại bỏ khỏi bảng top-rank-k Nhiều ứng viên đã được sinh ra nhưng không đáp ứng đủ điều kiện để gia nhập bảng top-rank-k, hoặc đã bị loại bỏ mặc dù trước đó đã được chèn vào.

Nhận thấy những hạn chế hiện tại và lấy cảm hứng từ I-MIKE [7], bài viết này đề xuất một phương pháp cải tiến nhằm tạo ra tập hợp các ứng viên một cách tiết kiệm thời gian hơn.

Từ danh sách I1, chúng ta chọn ra top “n” thành phần để ưu tiên xét duyệt và tạo ra các ứng viên, với điều kiện n trong khoảng 2 n ≥ k và n < |I1|, n < k, đảm bảo số lượng ứng viên lớn hơn hoặc bằng rank-k Sau khi ưu tiên xét duyệt các ứng viên từ top “n”, các thành phần còn lại trong I1 mới được xem xét Điều này cho thấy nếu các top-rank-k thành phần chỉ nằm trong tập ứng viên từ top “n”, thời gian xử lý sẽ được tiết kiệm đáng kể Vấn đề đặt ra là tìm cách xác định “n” một cách hiệu quả.

Thuật toán IdVM

Từ những khái niệm nêu trên, luận văn đề xuất một thuật toán IdVM (Improved dVM) khai thác top – rank – k tập xóa được

Thuật toán IdVM sử dụng cách tiếp cận để khởi tạo ra tập ứng cử viên

Candidate_ được thiết lập bằng cách sử dụng l - thành phần để tạo ra (l+1) - thành phần từ top n các thành phần sản phẩm, với n trong khoảng 2 n ≥ 𝑘 và n < |Ithành phần|, n < k Thuật toán tính toán lợi nhuận của các tập ứng cử viên dựa trên cấu trúc dPID_List và ưu tiên tìm top-rank-k tập có thể xóa trên tập ứng cử viên từ top n thành phần Nếu vẫn còn kết quả, thuật toán sẽ xem xét các thành phần khác để chèn vào top-rank-k Phương pháp này cho phép khởi tạo ứng cử viên thành công hơn so với các phương pháp chọn tập ứng cử viên trước đây như MIKE và VM.

1 Duyệt cơ sở dữ liệu DB để tính toán lợi nhuận của mỗi thành phần và sắp xếp tất cả các thành phần có lợi nhuận đạt được theo thứ tự tăng dần, được

2 Chọn top “n” thành phần từ danh sách sắp xếp I1 với n sao cho 2 n ≥ 𝑘 và n < | I1 | , n < k Ở đây, chúng tôi chọn n = n’ + ∆ Trong đó n’ ceil(log 2 𝑘+0.1) và ∆ = (min(| I1 |, k) – n’)/2 vẫn thỏa điều kiện trên, vừa mong đợi không chọn thiếu thành phần

3 Sử dụng l - thành phần trong top-rank-k để tạo ra ứng cử viên (l+1) - thành phần từ top “n” thành phần trên Mỗi ứng cử viên có lợi nhuận bé hơn giá trị lợi nhuận lớn nhất trong top-rank-k sẽ được chèn vào top-rank-k và loại bỏ đi phần tử cuối cùng trong top-rank-k nếu cần Lưu lại các ứng viên 1- thành phần đã được thêm vào danh sách top-rank-k vào danh sách selected Lặp lại bước này cho đến khi không tìm được thành phần mới để chèn vào danh sách top-rank-k

4 Thực hiện n++ để chọn thành phần kế tiếp từ I1 để kiểm tra với giá trị Gain của hàng cuối cùng trong bảng top-rank-k a Nếu giá trị lợi nhuận của hàng cuối cùng trong bảng top-rank-k lớn hơn hoặc bằng giá trị của I1[n] thì tìm tập ứng viên tạo ra từ I1[n] và các thành phần đã chọn trong danh sách selected Nếu tập ứng viên này rỗng thì giải thuật kết thúc Ngược lại, tiếp tục duyệt trên tập ứng viên này theo cách kiểm tra lợi nhuận như bước 3 để thêm kết quả vào danh sách top-rank-k (nếu ứng viên đó chưa tồn tại trong top-rank-k) Lặp lại bước này cho đến khi giải thuật ngưng b Ngược lại, giải thuật kết thúc

Input: Tập dữ liệu sản phẩm DB và một ngưỡng k

Output: Danh sách chứa toàn bộ tập các top-rank-k thành phần có thể xóa được

TR ← ∅ // top-rank-k các itemset - k thành phần tạm thời

Selected_List ← ∅ // danh sách chứa các 1-itemsets đã được chọn

NextItemN ← Null // Itemset thứ N từ I1 sắp được thêm vào tập ứng cử viên

Duyệt qua DB để tính toán Gain và PID_List của từng item, ký hiệu là danh sách I1

Sắp xếp I1 theo thứ tự Gain tăng dần

Trong đó N’ = ceil(log 2 𝑘+0.1) và ∆ = (min(I1.Count, K) – N’)/2

R.gain = I1[j].gain and R.list.add(I1[j]) Add R to Tab

Add I1[j] to TR and Selected_List Else if Tab.last_tuple.gain = I1[j].gain

Add I1[j] to Tab.last_tuple.list Add I1[j] to TR and Selected_List

R.gain = I1[j].gain and R.list.add(I1[j]) Add R to Tab

Add I1[j] to TR and Selected_List While TR ≠ ∅ do

Sort CR in gain ascending order

TR ← ∅ Let x = 0 and l = 0 While (l < |CR| and x < |Tab|) do

If Tab[x].gain = CR[l].gain then

// Just add item to Tab if Tab doesn’t contain that item Add CR[l] to Tab[x].list and TR l++;

Else if Tab[x].gain > CR[l].gain then

R.gain = CR[l].gain and R.list.add(CR[l])

Insert R to TR into position which satisfy the gain ascending order

// Just add item to Tab if Tab doesn’t contain that item

Remove the last tuple in Tab Add CR[l] to TR l++;

If (N = I1[N - 1].Gain))

Add NextItemN to Selected_List // TR = list of 1-Itemsets from Selected_List

TR = Selected_List.GetRange(0,Selected_List.Count) isAdded = false

For (int jj = 0; jj < Tab.Count; jj++) do

If (NextItemN.Gain == Tab[jj].Gain)

Add NextItemN to Tab[jj].list isAdded = true and break

// Do nothing Else If Tab.Count < k then

R.gain = NextItemN.gain and R.list.add(NextItemN) Add R to Tab

Else If Tab[Tab.Count - 1].Gain > NextItemN.gain then

Remove last row in Tab R.gain = NextItemN.gain and R.list.add(NextItemN)

// Stop NextItemN = Null Function Candidate_Generation(TR)

For each Cu ∈ TR do

For each Cv ∈ TR (Cu ≠ Cv) do

If Cu and Cv trên cùng lớp tương đương then

C.PID_List = Cv.PID_List \ Cu.PID_List; // Định nghĩa 4 và định lý 3

C.gain = Cu.gain + ∑𝑃𝑗 ∈𝑃𝐼𝐷_𝐿𝑖𝑠𝑡(𝐶𝑣)𝑃𝑗 𝑉𝑎𝑙 // Định lý 4 Add C to CR

Cho DB e hình 2.1 và k = 5 Sử dụng thuật toán IdVM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa

Bước 1: Duyệt cơ sở dữ liệu để tính lợi nhuận mỗi thành phần của tập 1 - thành phần được sắp xếp theo thứ tự

Bảng 3.1: Bảng tập 1 – thành phần có lợi nhuận tăng dần

Bước 2: Chọn top n, với k =5 ta có n’ = ceil(log 2 5+0.1) và ∆ = (min(8,5) – n’)/2 khi đó n=n’+ ∆ =4

So sánh từng thành phần trong bảng top n nếu lợi nhuận nhỏ hơn hay bằng

Tabk thì chèn vào bảng Tabk và bảng TR

Phần Danh Sách Đảo Lợi

Bước 3: Tìm ứng cử viên thứ hai từ bảng TR1 và khởi tạo TR rỗng Các ứng cử viên có lợi nhuận thấp hơn giá trị lợi nhuận lớn nhất trong danh sách top-rank-k sẽ được thêm vào danh sách này, đồng thời loại bỏ phần tử cuối cùng trong top-rank-k nếu cần thiết.

Phần Danh Sách Đảo Lợi

So sánh lợi nhuận CR2 với lợi nhuận trong bảng Tabk ta có kết quả

Chèn các thành phần {𝑓, 𝑔}, {ℊ, ℎ}, {𝑓, ℎ} vào bảng TR2, lặp lại bước 3

Phần Danh Sách Đảo Lợi

Từ tập 2-thành phần trong bảng TR2 tạo ta tập 3-thành phần

Phần Danh Sách Đảo Lợi

So sánh lợi nhuận CR3 với lợi nhuận trong bảng Tabk ta có kết quả

{𝑓, ℎ}, { 𝑓, ℊ, ℎ} 500 Đến đây không thể sinh ra được tập ứng cử viên 4 – thành phần

Khi tăng n lên 5, tại vị trí thứ 5 ta có giá trị i[e] = 600, lớn hơn giá trị cuối cùng trong bảng Tabk, do đó thuật toán sẽ dừng lại.

Bảng 3.10: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa

Luận văn trình bày việc sử dụng cấu trúc dPID_List và top “n” để tạo ra tập ứng cử viên, nhằm cải thiện thuật toán dVM về thời gian khai thác và bộ nhớ Dựa trên cấu trúc và định lý của dVM, luận văn đề xuất phương pháp khai thác top – rank – k tập xóa một cách hiệu quả Để chứng minh tính hiệu quả của thuật toán IdVM so với dVM, các thí nghiệm về thời gian khai thác đã được thực hiện trên ba bộ dữ liệu Kết quả thực nghiệm cho thấy thuật toán IdVM vượt trội hơn hẳn dVM về thời gian và cải thiện đáng kể về bộ nhớ sử dụng.

Thử nghiệm và đánh giá

Thử nghiệm thuật toán IdVM được thực hiện để so sánh thời gian xử lý và bộ nhớ sử dụng với thuật toán dVM tương đồng.

Các thuật toán được phát triển bằng ngôn ngữ C# trong môi trường NET 4.0, chạy trên máy tính xách tay HP với cấu hình CPU Intel Core i5-4200M, 4GB RAM, và hệ điều hành Microsoft Windows 8.1, 64-bit.

Các thử nghiệm được thực hiện trên các cơ sở dữ liệu tổng hợp như Chess, Mushroom và T10I4D100K Để các bộ dữ liệu này tương tự như dữ liệu sản phẩm, một cột đã được thêm vào để biểu diễn giá trị lợi nhuận Giá trị cho cột này được tạo ra bằng một hàm phân phối N(100, 50), với giá trị trung bình là 100 và phương sai là 50 Bảng tóm tắt các đặc điểm của các cơ sở dữ liệu thử nghiệm cũng đã được trình bày.

Bảng 3.11:Cơ sở dữ liệu thử nghiệm

Tập Data Số Sản Phẩm Số Thành Phần

Thời gian thực hiện

Các hình 3-1 đến 3-3 minh họa thời gian thực hiện của dVM và IdVM trên các cơ sở dữ liệu Chess, Mushroom và T10I4D100K với các ngưỡng k khai thác khác nhau Thời gian thực hiện được đo từ khi thuật toán nhận tham số đầu vào đến khi có kết quả Kết quả cho thấy IdVM có hiệu suất nhanh hơn so với dVM.

Hình 3.1:Thời gian thực hiện trên dữ liệu Chess

Hình 3.2: Thời gian thực hiện trên dữ liệu Mushroom

Hình 3.3: Thời gian thực hiện trên dữ liệu T10I4D100k

Bộ nhớ sử dụng

Các hình 3-4 đến 3-6 minh họa mức độ sử dụng bộ nhớ của IdVM và dVM trên các cơ sở dữ liệu Chess, Mushroom, và T10I4D100K với các ngưỡng k khai thác khác nhau Biểu đồ cho thấy rằng thuật toán IdVM tiêu tốn ít bộ nhớ hơn so với dVM.

Hình 3.4: Bộ nhớ sử dụng trên dữ liệu Chess

Hình 3.5: Bộ nhớ được sử dụng trên dữ liệu Mushroom

Hình 3.6: Bộ nhớ được sử dụng trên dữ liệu T10I4D100K

Ngày đăng: 11/07/2021, 16:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Agrawal, R., Imielinski, T., Swami, A., (1993). “Mining Association Rules Between Sets of Items in Large Databases”. Proceedings of the 1993 ACM SIGMOD Conference Washington DC, USA, May 1993 Sách, tạp chí
Tiêu đề: Mining Association Rules Between Sets of Items in Large Databases
Tác giả: Agrawal, R., Imielinski, T., Swami, A
Năm: 1993
[2] Deng, Z., Fang, G., Wang, Z., Xu, X., (2009). “Mining erasable itemsets”. Proceedings of the Eighth International Conference on Machine Learning and Cybernetics, Baoding, 12-15 July 2009 Sách, tạp chí
Tiêu đề: Mining erasable itemsets
Tác giả: Deng, Z., Fang, G., Wang, Z., Xu, X
Năm: 2009
[3] Deng, Z., Xu, X., (2010). “An Efficient Algorithm for Mining Erasable Itemsets”. L. Cao, J. Zhong, and Y. Feng (Eds.): ADMA 2010, Part I, LNCS 6440, pp. 214–225, 2010 Sách, tạp chí
Tiêu đề: An Efficient Algorithm for Mining Erasable Itemsets
Tác giả: Deng, Z., Xu, X
Năm: 2010
[4] Deng, Z., Xu, X., (2011). “Fast mining erasable itemsets using NC-sets”. Expert Systems with Applications, Vol. 39, Issue 4, March 2012, pp. 4453–4463 Sách, tạp chí
Tiêu đề: Fast mining erasable itemsets using NC-sets
Tác giả: Deng, Z., Xu, X
Năm: 2011
[5] Deng, Z., Xu, X., (2011). “Mining Top-Rank-k Erasable Itemsets”. ICIC Express Letters, Vol. 5, Number 1, January 2011, pp. 15-20 Sách, tạp chí
Tiêu đề: Mining Top-Rank-k Erasable Itemsets
Tác giả: Deng, Z., Xu, X
Năm: 2011
[6] Deng, Z., (2013). “Mining Top-Rank-k Erasable Itemsets by PID-lists”. International Journal Of Intelligent Systems, Vol. 28, 2013, pp. 366–379 Sách, tạp chí
Tiêu đề: Mining Top-Rank-k Erasable Itemsets by PID-lists
Tác giả: Deng, Z
Năm: 2013
[7] Gargi Narula, Sunita Parashar, (2013). “Improving Efficiency of MIKE Algorithm by Reducing Set Size”. International Journal of Advanced Research in Computer and Communication Engineering, Vol. 2, Issue 7, July 2013 Sách, tạp chí
Tiêu đề: Improving Efficiency of MIKE Algorithm by Reducing Set Size
Tác giả: Gargi Narula, Sunita Parashar
Năm: 2013
[8] Giang Nguyen, Tuong Le, Bay Vo, Bac Le (2014), “A New Approach for Mining Top – Rank – k Erasable Itemsets”. ACIIDS 2014, Part I, LNAI 8397, 2014, pp.73–82 Sách, tạp chí
Tiêu đề: A New Approach for Mining Top – Rank – k Erasable Itemsets
Tác giả: Giang Nguyen, Tuong Le, Bay Vo, Bac Le
Năm: 2014
[9] Tuong Le, Bay Vo, (2013). “MEI: An efficient algorithm for mining erasable itemsets”. Engineering Applications of Artificial Intelligence, Vol. 27, January 2014, pp. 155–166 Sách, tạp chí
Tiêu đề: MEI: An efficient algorithm for mining erasable itemsets
Tác giả: Tuong Le, Bay Vo
Năm: 2013

HÌNH ẢNH LIÊN QUAN

được trình bày dưới hình thức 〈 - Khai thác top rank k tập xóa được
c trình bày dưới hình thức 〈 (Trang 25)
Xem xét các cơ sở dữ liệu trong ví dụ sản phẩm được thể hiện trong bảng 2.1. Cho  - Khai thác top rank k tập xóa được
em xét các cơ sở dữ liệu trong ví dụ sản phẩm được thể hiện trong bảng 2.1. Cho (Trang 28)
Bước 2: Duyệt cơ sở dữ liệu sản phẩm DB, thu được bảng 1– thànhphần có thể xóa  - Khai thác top rank k tập xóa được
c 2: Duyệt cơ sở dữ liệu sản phẩm DB, thu được bảng 1– thànhphần có thể xóa (Trang 39)
Bước 3: Từ bảng tạm 1– thànhphần cho ra tập ứng cử viên 2– thànhphần - Khai thác top rank k tập xóa được
c 3: Từ bảng tạm 1– thànhphần cho ra tập ứng cử viên 2– thànhphần (Trang 41)
Bước 5: Khởi tạo bảng selected_candidate =∅ - Khai thác top rank k tập xóa được
c 5: Khởi tạo bảng selected_candidate =∅ (Trang 47)
// Chèn top –rank –k k-thànhphần vào bảng top –rank –k  - Khai thác top rank k tập xóa được
h èn top –rank –k k-thànhphần vào bảng top –rank –k (Trang 57)
Cho DBe hình 2.1 và k= 5. Sử dụng thuật toán VM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa  - Khai thác top rank k tập xóa được
ho DBe hình 2.1 và k= 5. Sử dụng thuật toán VM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa (Trang 60)
Bước 2: Tìm tập xóa được 2-thành phần, khởi tạo TR2 rỗng và tạo bảng Candidate_set  - Khai thác top rank k tập xóa được
c 2: Tìm tập xóa được 2-thành phần, khởi tạo TR2 rỗng và tạo bảng Candidate_set (Trang 61)
So sánh lợi nhuận trong bảng CR2 với giá trị lợi nhuận trong bảng Tabk ta có: - Khai thác top rank k tập xóa được
o sánh lợi nhuận trong bảng CR2 với giá trị lợi nhuận trong bảng Tabk ta có: (Trang 62)
Bảng 2.24: Bảng Tabk – R2 - Khai thác top rank k tập xóa được
Bảng 2.24 Bảng Tabk – R2 (Trang 63)
Bảng 2.27: Bảng Tabk – R3 - Khai thác top rank k tập xóa được
Bảng 2.27 Bảng Tabk – R3 (Trang 64)
Cho DBe hình 2.1 và k= 5. Sử dụng thuật toán dVM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa  - Khai thác top rank k tập xóa được
ho DBe hình 2.1 và k= 5. Sử dụng thuật toán dVM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa (Trang 71)
Bảng 2.29:Bảng PID_List 1– thànhphần - Khai thác top rank k tập xóa được
Bảng 2.29 Bảng PID_List 1– thànhphần (Trang 71)
So sánh lợi nhuận CR2 với lợi nhuận trong bảng Tabk ta có kết quả - Khai thác top rank k tập xóa được
o sánh lợi nhuận CR2 với lợi nhuận trong bảng Tabk ta có kết quả (Trang 74)
Bảng 2.33: Bảng Tabk – R2 - Khai thác top rank k tập xóa được
Bảng 2.33 Bảng Tabk – R2 (Trang 74)
Bảng 2.35:Bảng CR3 - Khai thác top rank k tập xóa được
Bảng 2.35 Bảng CR3 (Trang 75)
Cho DBe hình 2.1 và k= 5. Sử dụng thuật toán IdVM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa  - Khai thác top rank k tập xóa được
ho DBe hình 2.1 và k= 5. Sử dụng thuật toán IdVM để tìm 5 thứ hạng đầu của tập thành phần có thể xóa (Trang 86)
Bảng 3.2: Bảng Top n, với n=4 - Khai thác top rank k tập xóa được
Bảng 3.2 Bảng Top n, với n=4 (Trang 87)
Bảng 3.1: Bảng tập 1– thànhphần có lợi nhuận tăng dần - Khai thác top rank k tập xóa được
Bảng 3.1 Bảng tập 1– thànhphần có lợi nhuận tăng dần (Trang 87)
So sánh từng thànhphần trong bảng top n nếu lợi nhuận nhỏ hơn hay bằng Tab k thì chèn vào bảng Tabk  và bảng TR  - Khai thác top rank k tập xóa được
o sánh từng thànhphần trong bảng top n nếu lợi nhuận nhỏ hơn hay bằng Tab k thì chèn vào bảng Tabk và bảng TR (Trang 88)
Bảng 3.5: Bảng CR2 - Khai thác top rank k tập xóa được
Bảng 3.5 Bảng CR2 (Trang 89)
So sánh lợi nhuận CR2 với lợi nhuận trong bảng Tabk ta có kết quả - Khai thác top rank k tập xóa được
o sánh lợi nhuận CR2 với lợi nhuận trong bảng Tabk ta có kết quả (Trang 89)
Từ tập 2-thành phần trong bảng TR2 tạo ta tập 3-thành phần - Khai thác top rank k tập xóa được
t ập 2-thành phần trong bảng TR2 tạo ta tập 3-thành phần (Trang 90)
Hình 3.2: Thời gian thực hiện trên dữ liệu Mushroom - Khai thác top rank k tập xóa được
Hình 3.2 Thời gian thực hiện trên dữ liệu Mushroom (Trang 93)
Hình 3.1:Thời gian thực hiện trên dữ liệu Chess - Khai thác top rank k tập xóa được
Hình 3.1 Thời gian thực hiện trên dữ liệu Chess (Trang 93)
Hình 3.3: Thời gian thực hiện trên dữ liệu T10I4D100k - Khai thác top rank k tập xóa được
Hình 3.3 Thời gian thực hiện trên dữ liệu T10I4D100k (Trang 94)
Hình 3.5: Bộ nhớ được sử dụng trên dữ liệu Mushroom - Khai thác top rank k tập xóa được
Hình 3.5 Bộ nhớ được sử dụng trên dữ liệu Mushroom (Trang 95)
Hình 3.6: Bộ nhớ được sử dụng trên dữ liệu T10I4D100K - Khai thác top rank k tập xóa được
Hình 3.6 Bộ nhớ được sử dụng trên dữ liệu T10I4D100K (Trang 95)

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

w