Luận án tiến sĩ phát triển một số thuật toán hiệu quả khai thác tập mục trên cơ sở dữ liệu có sự phân cấp các mục

Luận án tiến sĩ nghiên cứu phát triển thuật toán khai thác tập mục hiệu quả trên cơ sở dữ liệu có phân cấp, nâng cao khả năng xử lý dữ liệu.

Trường đại học

Đại học Quốc gia Hà Nội

Người đăng

Ẩn danh

Thể loại

luận án tiến sĩ

2016

120
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

1. MỞ ĐẦU

2. TỔNG QUAN VỀ KHAI THÁC TẬP MỤC

2.1. Bài toán khai thác tập mục

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

2.3. Bài toán khai thác FI

2.4. Các phương pháp khai thác FI

2.4.1. Phương pháp khai thác FI trên CSDL ngang

2.4.2. Phương pháp khai thác FI trên CSDL dọc dựa trên IT-tree

2.4.3. Một số phương pháp khai thác FWI và FWUI trên CSDL số lượng

2.4.3.1. Khai thác FWI
2.4.3.2. Khai thác FWUI
2.4.3.3. Khai thác TRFIk

2.5. Khai thác FI trên CSDL có sự phân cấp các mục

2.5.1. Tiếp cận bit-vector trong khai thác FI

2.6. Kết luận chương

3. KHAI THÁC TẬP MỤC PHỔ BIẾN TRÊN CƠ SỞ DỮ LIỆU SỐ LƯỢNG

3.1. Thuật toán khai thác tập FWI

3.2. Thuật toán tính giao của hai IWS

3.3. Thuật toán khai thác FWI

3.4. Kết quả thực nghiệm

3.5. Thuật toán khai thác FWUI

3.5.1. Cấu trúc Multi bit segment

3.5.2. Thuật toán xác định giao MBiS

3.5.3. Thuật toán khai thác FWUI dựa trên MBiS-tree

3.5.4. Kết quả thực nghiệm

3.6. Thuật toán khai thác TRFWUIk

3.6.1. Một số khái niệm

3.6.2. Cấu trúc DTab

3.6.3. Cấu trúc TR-tree

3.6.4. Thuật toán khai thác TRFWUIk sử dụng cấu trúc dữ liệu DTab

3.6.5. Thuật toán khai thác nhanh TRFWUIk dựa trên cấu trúc DHeap

3.6.6. Kết quả thực nghiệm

3.7. Kết luận chương

4. KHAI THÁC TẬP MỤC PHỔ BIẾN TRÊN CƠ SỞ DỮ LIỆU SỐ LƯỢNG CÓ SỰ PHÂN CẤP CÁC MỤC

4.1. Giới thiệu bài toán

4.2. Thuật toán khai thác FWUI trên HQDB

4.3. Thuật toán xác định weight cho các mục cha

4.4. Thuật toán thêm mục cha vào CSDL

4.5. Thuật toán khai thác FWUI

4.6. Một số cải tiến nâng cao hiệu quả khai thác FWUI trên HQDB

4.7. Cấu trúc EDBV

4.8. Tính tidset nút cha từ tidset nút con

4.9. Kiểm tra mối quan hệ cha con đối với các mục trong tập mục

4.10. Thuật toán khai thác nhanh FWUI trên HQDB

4.11. Kết quả thực nghiệm

4.12. CSDL thực nghiệm

4.13. Kết quả thực nghiệm

4.14. Kết luận chương

5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN

Tóm tắt

I. Tổng quan về thuật toán khai thác tập mục trong CSDL

Thuật toán khai thác tập mục là một lĩnh vực quan trọng trong khai thác dữ liệu, giúp tìm ra các mẫu và quy luật trong cơ sở dữ liệu. Các thuật toán này thường được áp dụng trong nhiều lĩnh vực như thương mại điện tử, phân tích thị trường và nghiên cứu hành vi người tiêu dùng. Việc phát triển các thuật toán hiệu quả không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc phát hiện các tập mục phổ biến.

1.1. Khái niệm cơ bản về khai thác tập mục

Khai thác tập mục (frequent itemset mining) là quá trình tìm kiếm các tập hợp mục thường xuất hiện cùng nhau trong cơ sở dữ liệu. Các thuật toán như Apriori và FP-Growth đã được phát triển để giải quyết bài toán này, mỗi thuật toán có những ưu điểm và nhược điểm riêng.

1.2. Lịch sử phát triển của thuật toán khai thác tập mục

Thuật toán đầu tiên được biết đến trong lĩnh vực này là Apriori, được đề xuất bởi Agrawal vào năm 1994. Sau đó, nhiều thuật toán khác như FP-Growth và Eclat đã được phát triển nhằm cải thiện hiệu suất và giảm thiểu thời gian xử lý.

II. Vấn đề và thách thức trong khai thác tập mục

Mặc dù có nhiều thuật toán khai thác tập mục, nhưng vẫn tồn tại nhiều thách thức trong việc áp dụng chúng vào các cơ sở dữ liệu lớn và phức tạp. Một trong những vấn đề chính là hiệu suất xử lý và yêu cầu về bộ nhớ. Các thuật toán hiện tại thường gặp khó khăn trong việc xử lý dữ liệu lớn, dẫn đến thời gian xử lý kéo dài.

2.1. Thách thức về hiệu suất trong khai thác dữ liệu lớn

Khi làm việc với các cơ sở dữ liệu lớn, thời gian xử lý của các thuật toán khai thác tập mục có thể tăng lên đáng kể. Điều này đòi hỏi các nhà nghiên cứu phải tìm ra các phương pháp tối ưu hóa để cải thiện hiệu suất.

2.2. Vấn đề về bộ nhớ trong khai thác tập mục

Nhiều thuật toán khai thác tập mục yêu cầu một lượng lớn bộ nhớ để lưu trữ các cấu trúc dữ liệu trung gian. Điều này có thể gây ra các vấn đề về hiệu suất và khả năng mở rộng khi áp dụng vào các cơ sở dữ liệu lớn.

III. Phương pháp khai thác tập mục hiệu quả

Để giải quyết các vấn đề nêu trên, nhiều phương pháp mới đã được phát triển nhằm tối ưu hóa quá trình khai thác tập mục. Các phương pháp này bao gồm việc sử dụng các cấu trúc dữ liệu mới, cải tiến thuật toán hiện có và áp dụng các kỹ thuật học máy.

3.1. Cải tiến thuật toán Apriori

Thuật toán Apriori có thể được cải tiến bằng cách giảm số lần quét cơ sở dữ liệu và sử dụng các cấu trúc dữ liệu hiệu quả hơn để lưu trữ các tập mục. Việc áp dụng các kỹ thuật như pruning có thể giúp giảm thiểu số lượng tập mục cần kiểm tra.

3.2. Sử dụng cấu trúc dữ liệu mới trong khai thác tập mục

Các cấu trúc dữ liệu như FP-tree và IT-tree đã được phát triển để cải thiện hiệu suất khai thác tập mục. Những cấu trúc này cho phép lưu trữ thông tin một cách hiệu quả hơn, từ đó giảm thiểu thời gian xử lý.

IV. Ứng dụng thực tiễn của thuật toán khai thác tập mục

Thuật toán khai thác tập mục đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau, từ thương mại điện tử đến phân tích dữ liệu y tế. Việc khai thác các tập mục phổ biến giúp các doanh nghiệp hiểu rõ hơn về hành vi của khách hàng và tối ưu hóa các chiến lược tiếp thị.

4.1. Ứng dụng trong thương mại điện tử

Trong thương mại điện tử, khai thác tập mục giúp phát hiện các mẫu mua sắm của khách hàng, từ đó đề xuất các sản phẩm phù hợp và tăng cường trải nghiệm người dùng.

4.2. Ứng dụng trong phân tích dữ liệu y tế

Khai thác tập mục cũng có thể được áp dụng trong lĩnh vực y tế để phát hiện các mối liên hệ giữa các triệu chứng và bệnh tật, từ đó hỗ trợ cho việc chẩn đoán và điều trị.

V. Kết luận và tương lai của thuật toán khai thác tập mục

Khai thác tập mục là một lĩnh vực đang phát triển mạnh mẽ với nhiều thách thức và cơ hội. Việc phát triển các thuật toán hiệu quả hơn sẽ giúp cải thiện khả năng khai thác dữ liệu và mở ra nhiều ứng dụng mới trong tương lai.

5.1. Tương lai của khai thác tập mục

Với sự phát triển của công nghệ và dữ liệu lớn, tương lai của khai thác tập mục hứa hẹn sẽ có nhiều cải tiến đáng kể. Các nghiên cứu mới sẽ tập trung vào việc tối ưu hóa thuật toán và phát triển các phương pháp mới để xử lý dữ liệu phức tạp.

5.2. Hướng nghiên cứu tiếp theo trong lĩnh vực này

Các hướng nghiên cứu tiếp theo có thể bao gồm việc áp dụng các kỹ thuật học máy vào khai thác tập mục, cũng như phát triển các thuật toán có khả năng xử lý dữ liệu theo thời gian thực.

16/08/2025

Trích đoạn nội dung tài liệu

Chương 1: “Tổng quan về khai thác tập mục” trình bày các khái niệm về khai thác FI các phƣơng pháp khai thác FI, FWI, FWUI và TRFIk. Phân tích ƣu điểm và hạn chế của các phƣơng pháp này đồng thời đề xuất hƣớng nghiên cứu của luận án. 5 TIEU LUAN MOI download : skknchat@gmail.com Chương 2: “Khai thác tập mục phổ biến trên cơ sở dữ liệu số lƣợng” trình bày một số cấu trúc dữ liệu mới để biểu diễn tidset của các tập mục, trên cơ sở đó đề xuất các phƣơng pháp hiệu quả để khai thác nhanh FWI, FWUI trên CSDL số lƣợng. Đồng thời, trong chƣơng này cũng đề xuất bài toán khai thác k nhóm tập mục phổ biến trọng số hữu ích có thứ hạng cao nhất (TRFWUIk) trên CSDL số lƣợng và thuật toán hiệu quả để giải quyết bài toán này với hai cấu trúc DTab và DHeap.

Chương 3: “Khai thác tập mục phổ biến trên cơ sở dữ liệu số lƣợng có sự phân cấp các mục” đề xuất thuật toán khai thác FWUI trên CSDL số lƣợng có sự phân cấp các mục. Chƣơng này trình bày một mở rộng của cấu trúc dữ liệu trong chƣơng 2 và một số đề xuất nhằm cải tiến thuật toán khai thác hiệu quả FWUI trên CSDL số lƣợng có sự phân cấp các mục. 6 TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG 1. TỔNG QUAN VỀ KHAI THÁC TẬP MỤC Chƣơng này trình bày các nghiên cứu liên quan đến khai thác tập mục phổ biến trên các loại CSDL nhƣ CSDL nhị phân, CSDL số lƣợng, CSDL có sự phân cấp các mục và khai thác k nhóm tập phổ biến có thứ hạng cao nhất (Top-rank-k) từ các nhóm nghiên cứu trong nƣớc và quốc tế.

Phần này cũng trình bày các phân tích về ƣu điểm và hạn chế của các phƣơng pháp khai thác tập mục phổ biến hiện có. Từ cơ sở đó luận án đề ra các thuật toán mới dựa trên các cấu trúc dữ liệu phù hợp hơn cho các bài toán này trong chƣơng 2 và 3 của luận án. Bài toán khai thác tập mục Mục đích của việc khai thác tập mục là để xác định nhóm các mục (item) có tần suất xuất hiện thỏa mãn một ngƣỡng nào đó của ngƣời sử dụng đƣa vào. Trong đó, bài toán khai thác tập mục phổ biến là một bài toán con của bài toán khai thác tập mục với việc khai thác các tập mục có tần suất xuất hiện nhiều trong CSDL.

Tần suất xuất hiện này thỏa mãn ngƣỡng do ngƣời sử dụng đƣa vào (đƣợc gọi là ngƣỡng phổ biến). Từ các FI khai thác đƣợc có thể sinh ra tập luật kết hợp nhằm khám phá mối quan hệ tiềm ẩn, hữu ích giữa các mục trong CSDL, phục vụ các yêu cầu xuất phát từ đòi hỏi của thực tế của ngƣời sử dụng. Có thể nói, từ khi đƣợc giới thiệu đến nay, đã có khá nhiều công trình nghiên cứu liên quan nhằm mục đích giải quyết tốt bài toán này. Hiện nay, bài toán khai thác tập mục đang đƣợc tiếp tục nghiên cứu để tìm ra các giải pháp hiệu quả hơn.

Nội dung chƣơng 1 sẽ trình bày một số định nghĩa và khái niệm liên quan đến bài toán khai thác tập mục trên một CSDL nhƣ CSDL nhị phân, CSDL có sự phân cấp các mục, CSDL số lƣợng và một biến thể của CSDL số lƣợng là CSDL trọng số. Đồng thời chƣơng 1 giới thiệu tổng quát một số tiếp cận chính cho bài toán khai thác tập mục trên các loại CSDL đó. 7 TIEU LUAN MOI download : skknchat@gmail. Một số khái niệm cơ bản Định nghĩa 1.

CSDL nhị phân (binary database) là một bộ gồm hai thành phần: T, I trong đó: T = {t1, t2, ., tm} là tập gồm m giao dịch của CSDL I = {i1, i2, ., in} là tập gồm n mục trong CSDL Với giao dịch thứ k (k = 1.m): ={ } trong đó 0 hoặc 1, với j = Ví dụ 1.1: Cho CSDL DB với tập các mục I = {A, B, C, D, E} và tập các giao dịch T đƣợc biểu diễn bởi Bảng 1.1 nhƣ sau: Bảng 1. Các giao dịch của CSDL nhị phân DB Mục A B C D E Giao dịch t1 1 1 0 1 1 t2 0 1 1 1 0 t3 1 1 0 1 1 t4 1 1 1 0 1 t5 1 1 1 1 1 t6 0 1 1 0 1 Các mục xuất hiện trong một giao dịch của CSDL tƣơng ứng có giá trị 1, ngƣợc lại có giá trị 0. Ví dụ giao dịch t1 = {1, 1, 0, 1, 1} có nghĩa các mục A, B, D, E có trong giao dịch, mục C không có trong giao dịch. CSDL nhị phân là CSDL biểu diễn sự xuất hiện hay không của các mục trong các giao dịch.

Trong nhiều trƣờng hợp, các mục trong CSDL có mối quan hệ với nhau đƣợc thể hiện qua các cây phân cấp, ví dụ "computer" là mức khái quát của "Desktop" và "Notebook", hay "Printer" là mức khái quát 8 TIEU LUAN MOI download : skknchat@gmail.com của "Laser priter", "Ink-Jet printer", v.v… Những CSDL có thể hiện mối quan hệ của các mục thông qua cây phân cấp nhƣ trên đƣợc gọi là CSDL nhị phân có sự phân cấp các mục. CSDL nhị phân có sự phân cấp các mục (hierarchical database) là một bộ gồm ba thành phần: T, I, Tr, trong đó: T = {t1, t2, ., tm} là tập gồm m giao dịch của CSDL I = {i1, i2, ., in} là tập gồm n mục trong CSDL Với giao dịch thứ k (k = 1.m): ={ } trong đó 0 hoặc 1, với j = 1. Tr là cây phân cấp thể hiện mối quan hệ của các mục trong CSDL. Cho CSDL nhị phân có sự phân cấp mục DB với tập các mục I = {Desktop, Dot-matrix printer, Ink-jet printer, Laser printer, Notebook, Scanner}, các giao dịch T đƣợc biểu diễn nhƣ Bảng 1.2 và cây phân cấp thể hiện quan hệ các mục nhƣ Hình 1.

Các giao dịch của CSDL nhị phân có sự phân cấp mục DB Giao dịch Mục t1 Notebook, Laser printer t2 Scanner, Dot-matrix printer t3 Dot-matrix printer, Ink-jet printer t4 Notebook, Dot-matrix printer, Laser printer t5 Scanner t6 Desktop 9 TIEU LUAN MOI download : skknchat@gmail.com Printer Computer Scanner Non – impact Dot – matrix Desktop Notebook Laser Ink – jet Hình 1. Cây phân cấp Tr Để đơn giản, ta gán các mục trên cây phân cấp Tr bằng các ID nhƣ Bảng 1. ID các mục của DB ID mục Tên mục A Desktop B Ink-jet Printer C Laser Printer D Notebook E Scanner F Dot-matrix Printer G Non-impact H Computer K Printer Từ ID đƣợc định nghĩa trong Bảng 1.3, các giao dịch trong Bảng 1.2 và cây phân cấp Tr đƣợc biểu diễn lại nhƣ trong Bảng 1. Các giao dịch của DB bằng ID Giao dịch mục t1 D, C t2 E, F t3 F, B t4 D, F, C t5 E t6 A 10 TIEU LUAN MOI download : skknchat@gmail.

Cây phân cấp Tr biểu diễn theo ID Tập J = {G, K, H} là tập các mục cha của cây phân cấp không xuất hiện trong các giao dịch của DB. Tuy nhiên chúng có vai trò nhất định, thể hiện mối quan hệ của các mục trong DB. Do đó, khi khai thác FI trên CSDL phân cấp đòi hỏi phải khai thác cả tập các mục trên cây phân cấp bao gồm (I J). CSDL nhị phân là CSDL thể hiện sự có mặt hay không của mục trong các giao dịch của CSDL mà không quan tâm đến giá trị (trọng số, lợi ích, số lƣợng, v.v…) của các mục trong các giao dịch.

Trong nhiều ứng dụng thực tế nhƣ CSDL bán hàng trong siêu thị, CSDL đơn thuốc, v.v… mỗi mục trên mỗi đơn hàng thƣờng kèm theo số lƣợng và giá trị của chúng. Các CSDL dạng này đƣợc gọi là CSDL số lƣợng. CSDL số lượng (quantitative database) là một bộ ba thành phần: T, I, W, trong đó: T = {t1, t2, ., tm} là tập gồm m giao dịch của CSDL I = {i1, i2, ., in} là tập gồm n mục trong CSDL W = {w1, w2, …, wn} là tập gồm n trọng số của các mục tƣơng ứng trong tập I Với giao dịch thứ k (k = 1.m): tk = { , , …, }, là số tự nhiên chỉ số lƣợng của mục thứ j trong giao dịch, j = 1.2: Cho CSDL số lƣợng DB với tập các mục I = {A, B, C, D, E}, các giao dịch T đƣợc biểu diễn trong Bảng 1.5, trọng số các mục nhƣ trong bảng 1. 11 TIEU LUAN MOI download : skknchat@gmail.

Giao dịch của CSDL số lƣợng BD Giao dịch A B C D E 1 1 0 4 1 0 1 3 0 1 2 1 0 3 2 3 1 1 0 1 1 2 2 1 3 0 1 1 1 0 Bảng 1. Trọng số các mục trong DB Mục Trọng số A 0,6 B 0,1 C 0,3 D 0,9 E 0,2 Theo Bảng 1.5, DB có sáu giao dịch {t1, t2, t3, t4, t5, t6}, ví dụ giao dịch = {1, 1, 0, 4, 1} có nghĩa là trong giao dịch có một mục A, một mục B, bốn mục D, một mục E, không có mục C. Trong nhiều ứng dựng thực tế, CSDL số lƣợng có thể không quan tâm đến số lƣợng của các mục trong mỗi giao dịch, mà chỉ quan tâm đến trọng số của chúng. Ví dụ CSDL vi phạm giao thông, ngƣời ta chỉ quan tâm là ngƣời vi phạm lỗi gì và mức tiền phạt tƣơng ứng cho từng lỗi ấy, hay CSDL khám bệnh, ngƣời ta quan tâm đến bệnh nhân có những triệu chứng gì mức độ nặng nhẹ (trọng số) của từng triệu chứng ấy, v.v… Các CSDL đó đƣợc gọi là CSDL có trọng số hay CSDL trọng số - một biến thể của CSDL số lƣợng với số lƣợng của các mục xuất hiện trong CSDL là 1.

12 TIEU LUAN MOI download : skknchat@gmail.com Định nghĩa 1. CSDL trọng số (weighted database) là một bộ gồm ba thành phần: T, I, W, trong đó: T = {t1, t2, ., tm} là tập gồm m giao dịch của CSDL I = {i1, i2,., in} là tập gồm n mục trong CSDL W = {w1, w2, …, wn} là tập gồm n trọng số của các mục tƣơng ứng trong tập I Ví dụ 1.3: Cho CSDL trọng số DB với tập mục I = {A, B, C, D, E}, các giao dịch đƣợc biểu diễn trong Bảng 1.7, trọng số các mục đƣợc thể hiện trong Bảng 1. Các giao dịch của CSDL trọng số DB Giao dịch Mục A, B, D, E B, C, E A, B, D, E A, B, C, E A, B, C, D, E B, C, D Bảng 1. Trọng số của các mục của DB mục Trọng số A 0,6 B 0,1 C 0,3 D 0,9 E 0,2 Định nghĩa 1.

Tidset của tập mục X là tập hợp các giao dịch chứa X. Nhƣ vậy: tidset(X) = {t|t T  X  t} 13 TIEU LUAN MOI download : skknchat@gmail.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ