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

Luận văn Thạc sĩ Công nghệ thông tin: Khai thác dàn tập phổ biến đóng sử dụng cấu trúc DSBV

72 8 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khai Thác Dàn Tập Phổ Biến Đóng Sử Dụng Cấu Trúc DSBV
Tác giả Trần Phú Dư
Người hướng dẫn PGS.TS. Lê Hoài Bắc
Trường học Trường Đại Học Ngoại Ngữ Tin Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn
Năm xuất bản 2019
Thành phố Tp. HCM
Định dạng
Số trang 72
Dung lượng 1,35 MB

Cấu trúc

  • 1. Mở đầu (12)
  • 2. Bố cục đề tài (14)
  • Chương 1: TỔNG QUAN (15)
    • 1. Khai thác dữ liệu (15)
    • 2. Ứng dụng của khai thác dữ liệu (16)
    • 3. Khai thác dàn các tập phổ biến đóng (18)
    • 4. Ý nghĩa khoa học và thực tiễn của đề tài (19)
    • 5. Phương pháp nghiên cứu và đối tượng nghiên cứu (19)
    • 6. Khó khăn và Thách thức (20)
    • 7. Mục tiêu và phạm vi của luận văn (20)
    • 8. Đóng góp của luận văn (21)
  • Chương 2: CƠ SỞ LÝ THUYẾT (22)
    • 1. Khái quát bài toán (22)
    • 2. Hướng tiếp cận khai thác tập phổ biến đóng (23)
    • 3. Hướng tiếp cận khai thác tập sinh (Minimal Generator) (27)
    • 4. Hướng tiếp cận khai thác Dàn các tập phổ biến đóng (27)
    • 5. Đề xuất cấu trúc dữ liệu (28)
      • 5.1 Superset bit-vector (28)
      • 5.2 Dynamic superset bit-vector (29)
        • 5.2.1 Tìm FCS từ cấu trúc DSBV (30)
        • 5.2.2 Tìm minimal FCS từ cấu trúc DSBV (31)
        • 5.2.3 Giao 2 DSBVs (32)
        • 5.2.4 Cập nhật 1 DSBV (33)
  • Chương 3: ĐỀ XUẤT THUẬT TOÁN KHAI THÁC DÀN CÁC TẬP PHỔ BIẾN ĐÓNG VÀ CẢI TIẾN (35)
    • 1. Phát biểu bài toán khai thác Dàn các tập phổ biến đóng (35)
    • 2. Thuật Toán BVCL (36)
      • 2.1 Lưu đồ tổng quát của thuật toán (41)
      • 2.2 Các bước chính của thuật toán (42)
    • 3. Đặc tả và phân tích thuật toán (47)
    • 4. Cải tiến thuật toán gốc (54)
      • 4.1 Cơ sở lý thuyết (54)
        • 4.1.1 Kết nối Galois (54)
        • 4.1.2 Định nghĩa toán tử đóng (54)
        • 4.1.3 Các tính chất của IT-pair (54)
        • 4.1.4 Minimal Generator (mG) (55)
        • 4.1.5 Một số nhận xét về mG (55)
      • 4.2 Thuật toán (55)
    • 5. Kết quả thực nghiệm và so sánh (57)
      • 5.1 Bộ dữ liệu Chess (58)
      • 5.2 Bộ dữ liệu Mushroom (60)
      • 5.3 Bộ dữ liệu Pumsb (61)
      • 5.4 Bộ dữ liệu Retail (63)
      • 5.5 Bộ dữ liệu T10I4D100K (65)
    • 1. Kết luận (68)
    • 2. Hướng phát triển (68)
  • TÀI LIỆU THAM KHẢO (70)

Nội dung

Mục tiêu của luận văn này hướng tới cách giải quyết bài toán: Từ cơ sở dữ liệu có sẵn, làm sao để khai thác toàn bộ các tập phổ biến đóng, quan hệ cha – con giữa các tập này, cải tiến giải thuật khai thác dàn các tập phổ biến đóng để việc khai thác tập luật kết hợp sau này được dễ dàng và hiệu quả hơn.

Bố cục đề tài

Luận văn trình bày trong 03 chương:

Chương 1 của bài viết giới thiệu tổng quan về khai thác dữ liệu, nhấn mạnh ý nghĩa và ứng dụng của nó trong thực tiễn Bài viết cũng đề cập đến khai thác tập phổ biến đóng, xác định rõ phạm vi, mục tiêu và phương pháp nghiên cứu Đặc biệt, phần này làm nổi bật ý nghĩa khoa học và thực tiễn của nghiên cứu, cùng với các kết quả dự kiến Đóng góp quan trọng của luận văn là đề xuất cải thiện khai thác dàn các tập phổ biến đóng của thuật toán BVCL.

Chương 2 trình bày cơ sở lý thuyết về các khái niệm và kỹ thuật khai thác dàn tập phổ biến đóng, tập sinh, cùng với các giai đoạn tổ chức bài toán Bài viết mô tả và phân tích những ưu điểm và nhược điểm của các thuật toán trước đó, từ đó hình thành hướng đi mới cho việc cải tiến thuật toán khai thác dàn tập phổ biến đóng.

Chương 3 trình bày đề xuất thuật toán cải tiến nhằm khai thác dàn các tập phổ biến đóng, nêu rõ các bước cải tiến so với thuật toán BVCL Bên cạnh đó, chương cũng so sánh kết quả thực nghiệm của thuật toán mới với thuật toán gốc và các thuật toán đã có, nhằm đánh giá hiệu quả và độ chính xác của phương pháp cải tiến này.

Kết luận và Hướng phát triển của luận văn tóm tắt những kết quả đạt được, đồng thời đề xuất các hướng nghiên cứu và ứng dụng tiềm năng trong tương lai, nhằm mở rộng và phát triển những thành tựu đã có.

Cuối cùng, phần Tài liệu tham khảo, liệt kê danh sách các tài liệu tham khảo sử dụng trong luận văn

TỔNG QUAN

Khai thác dữ liệu

Mỗi ngày, hàng terabyte (hoặc petabyte) dữ liệu được thu thập từ nhiều nguồn khác nhau trên toàn cầu, bao gồm dữ liệu kinh tế, khoa học kỹ thuật, y tế, internet, mạng xã hội và các hệ thống truyền dữ liệu tự động, phản ánh sự phong phú trong cuộc sống hàng ngày của con người.

Từ những năm 60 đến cuối thập kỷ 80, công nghệ thu thập, lưu trữ và phân tích dữ liệu đã có những bước tiến vượt bậc nhờ xu hướng tin học hóa toàn cầu Ban đầu, việc thu thập dữ liệu chỉ dừng lại ở việc truy xuất file thô sơ, nhưng đến những năm 70 và đầu 80, hệ thống quản lý cơ sở dữ liệu (CSDL) đã được phát triển, bao gồm công cụ phân tích dữ liệu giao dịch trực tuyến (OLTP) Từ giữa đến cuối thập kỷ 80, hệ thống CSDL nâng cao và các công cụ phân tích dữ liệu cũng được cải tiến, trong đó nổi bật là kiến trúc kho dữ liệu mới và kỹ thuật OLAP, cho phép khai thác dữ liệu đa chiều và phân tích sâu với nhiều góc độ khác nhau.

Khối dữ liệu khổng lồ đang ngày càng gia tăng trong các kho dữ liệu lớn, khiến việc hiểu và rút trích kiến thức ẩn trở nên khó khăn hơn đối với con người Để khám phá và phân tích các mẫu dữ liệu đặc biệt, cần có một công cụ mạnh mẽ và linh hoạt, giúp khai thác thông tin và kiến thức giá trị từ khối dữ liệu này.

Cuối những năm 1980, khai thác dữ liệu đã ra đời, đánh dấu một bước tiến quan trọng trong công nghệ thông tin Các chức năng chính của khai thác dữ liệu bao gồm mô tả đặc tính và phân biệt dữ liệu, phát hiện các mẫu phổ biến, phân tích sự kết hợp và tương quan, phân lớp và hồi quy, phân tích gom cụm, cùng với việc nhận dạng các ngoại lệ.

Trong tương lai, sự xuất hiện của nhiều kiểu dữ liệu mới, ứng dụng mới và nhu cầu phân tích dữ liệu sẽ dẫn đến việc phát triển các thao tác khai thác dữ liệu mới.

Ứng dụng của khai thác dữ liệu

Khai phá dữ liệu là một lĩnh vực đang được ứng dụng rộng rãi trong nhiều ngành nghề, với sự hỗ trợ của nhiều công cụ thương mại và phi thương mại nhằm thực hiện các nhiệm vụ liên quan đến khai thác và phân tích dữ liệu.

Sau đây là một số lĩnh vực mà khai phá dữ liệu đang được ứng dụng rộng rãi:

• Phân tích dữ liệu tài chính

• Phân tích dữ liệu sinh học

• Một số ứng dụng trong khoa học

Phân tích dữ liệu tài chính

Dữ liệu tài chính trong ngân hàng và ngành tài chính thường có độ tin cậy và chất lượng cao, giúp cho việc khai thác dữ liệu trở nên hiệu quả Một số ứng dụng điển hình trong khai phá dữ liệu tài chính bao gồm phân tích rủi ro tín dụng, phát hiện gian lận, tối ưu hóa danh mục đầu tư và dự đoán xu hướng thị trường.

• Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sách tín dụng đối với khách hàng

• Phân tích hành vi khách hàng (vay, gửi tiền)

• Phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị tài chính

• Phát hiện các hoạt động rửa tiền và tội phạm tài chính khác

Khai phá dữ liệu đóng vai trò thiết yếu trong ngành công nghiệp bán lẻ, nhờ vào lượng dữ liệu khổng lồ được thu thập từ doanh số bán hàng, lịch sử mua hàng của khách hàng, vận chuyển hàng hóa, tiêu thụ và dịch vụ Việc phân tích dữ liệu này giúp 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 kinh doanh.

Ngành công nghiệp bán lẻ đang chứng kiến sự gia tăng nhanh chóng trong việc ứng dụng khai phá dữ liệu, nhờ vào tính sẵn có của thông tin trên môi trường Web Việc này giúp xây dựng các mô hình phân tích xu hướng mua sắm của khách hàng, từ đó cải thiện chất lượng sản phẩm và dịch vụ, nâng cao sự hài lòng và giữ chân khách hàng hiệu quả Dưới đây là một số ứng dụng nổi bật của khai phá dữ liệu trong lĩnh vực bán lẻ.

• Khai phá dữ liệu trên kho dữ liệu khách hàng

• Phân tích đa chiều trên kho dữ liệu khách hàng về doanh số bán hàng, khách hàng, sản phẩm, thời gian và khu vực

• Phân tích hiệu quả của các chiến dịch bán hàng, Marketing

• Quản trị mối quan hệ khách hàng

• Giới thiệu và tư vấn sản phẩm phù hợp cho khách hàng

Ngành công nghiệp viễn thông đang nổi lên nhanh chóng, cung cấp đa dạng dịch vụ như điện thoại di động, internet và truyền hình Sự phát triển mạnh mẽ của công nghệ máy tính và mạng đã thúc đẩy tốc độ tăng trưởng của viễn thông Do đó, việc khai thác dữ liệu trở thành yếu tố quan trọng trong lĩnh vực này.

Khai phá dữ liệu trong ngành công nghiệp viễn thông đóng vai trò quan trọng trong việc xác định các mô hình viễn thông, phát hiện gian lận, tối ưu hóa nguồn tài nguyên và nâng cao chất lượng dịch vụ Dưới đây là một số ứng dụng nổi bật của khai phá dữ liệu trong lĩnh vực này.

• Phân tích dữ liệu đa chiều viễn thông

• Xây dựng các mô hình phát hiện gian lận

• Phát hiện bất thường trong giao dịch viễn thông

• Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng

• Sử dụng các công cụ trực quan trong phân tích dữ liệu viễn thông

Phân tích dữ liệu sinh học

Khai phá dữ liệu sinh học đóng vai trò quan trọng trong lĩnh vực Tin - Sinh học Dưới đây là một số ứng dụng nổi bật của khai phá dữ liệu trong sinh học.

• Lập chỉ mục, tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen

• Xây dựng mô hình khai phá các mạng di truyền và cấu trúc của Gen, protein

• Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền

Phát hiện xâm nhập bất hợp pháp

Xâm nhập bất hợp pháp đe dọa tính toàn vẹn, bảo mật và tính sẵn sàng của tài nguyên mạng, khiến bảo mật trở thành vấn đề sống còn cho hệ thống trong thế giới kết nối hiện nay Sự phát triển của internet và các công cụ hỗ trợ xâm nhập đã làm tăng yêu cầu kiểm soát truy cập bất hợp pháp, điều này rất quan trọng để đảm bảo sự ổn định của hệ thống.

Dưới đây là một số ứng dụng của khai phá dữ liệu có thể được áp dụng để phát hiện xâm nhập:

- Phát triển các thuật toán khai phá dữ liệu để phát hiện xâm nhập

- Phân tích kết hợp, tương quan và khác biệt để phát hiện xâm nhập

- Phân tích dòng dữ liệu để phát hiện bất thường.

Khai thác dàn các tập phổ biến đóng

Việc tìm kiếm luật kết hợp từ hàng triệu giao dịch trong các cơ sở dữ liệu lớn hiện nay trở nên khó khăn trong lĩnh vực khai thác dữ liệu Tập phổ biến và tập phổ biến đóng đóng vai trò quan trọng trong việc khai thác các luật kết hợp Các luật kết hợp có thể được khai thác hiệu quả thông qua Dàn các tập phổ biến đóng.

Trong quá trình phát triển thuật toán tìm kiếm các luật kết hợp hữu ích, cần chú ý đến ba yếu tố quan trọng: tính chính xác, thời gian xử lý và mức độ chiếm dụng bộ nhớ Việc xây dựng dàn tập phổ biến đóng giúp thiết lập mối quan hệ cha con trực tiếp giữa các tập này, từ đó tiết kiệm thời gian trong quá trình duyệt dàn để sinh ra các luật.

Ý nghĩa khoa học và thực tiễn của đề tài

Thuật toán BVCL vượt trội hơn thuật toán CHARML và các thuật toán duyệt tuần tự tập hạng mục nhờ vào hai điểm chính: đầu tiên, cấu trúc DSBV lưu trữ thông tin tập cha dưới dạng bit, giúp truyền thông tin cho các tập trong dàn một cách nhanh chóng; thứ hai, việc tổ chức hai danh sách subsume list và non-subsume list cho phép thuật toán bỏ qua nhiều bước khi thực hiện đệ quy với các tập trong subsume list.

Thuật toán mới này nâng cao hiệu suất khai thác các tập phổ biến, giúp giải quyết vấn đề trong việc khai thác luật kết hợp Nó có ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm phân tích hành vi mua sắm của khách hàng, chuỗi truy xuất web, thực nghiệm khoa học, điều trị bệnh, ngăn chặn thiên tai và nghiên cứu sự hình thành protein.

Phương pháp nghiên cứu và đối tượng nghiên cứu

Phương pháp nghiên cứu tài liệu được thực hiện thông qua việc phân tích các tài liệu đã công bố của các nhà nghiên cứu về các thuật toán khai thác tập phổ biến, bao gồm Apriori-Gen, FP-tree, Charm, CharmL, MG-Charm, DCI-Closed, LCM, DBV-Miner, GENCLOSE và NAFCP Nghiên cứu này tập trung vào việc sử dụng cấu trúc dữ liệu DBV và DSBV, cách tổ chức cơ sở dữ liệu (ngang hay dọc), cũng như quy trình phát sinh mẫu ứng viên mới và các kỹ thuật khai thác Dàn Ngoài ra, bài viết cũng đề cập đến xu hướng phát triển của các thuật toán trong lĩnh vực này.

Phương pháp thực nghiệm được thực hiện nhằm kiểm tra tính chính xác và khả thi của các phương pháp đề xuất trong luận văn Qua đó, việc so sánh với các phương pháp đã được công bố bởi các tác giả trong và ngoài nước sẽ giúp xác định sự phát triển và cải tiến của các phương pháp này.

Phương pháp thống kê và phân tích dữ liệu là quá trình thu thập, tổng hợp và đánh giá số liệu từ thực nghiệm Qua đó, chúng ta có thể nhận thức và phát hiện những ưu điểm để phát huy, đồng thời tìm cách khắc phục các hạn chế Việc kết hợp các thông tin liên quan đã thu thập được giúp nâng cao hiệu quả phân tích và đưa ra những quyết định chính xác hơn.

Bài viết đề xuất một thuật toán mới nhằm tối ưu hóa thời gian khai thác đồng thời, đồng thời cải thiện tốc độ và hiệu quả sử dụng bộ nhớ cho các tập phổ biến đóng và tập sinh của chúng Kết quả thực nghiệm cho thấy sự tiến bộ rõ rệt trong việc giảm thiểu tài nguyên cần thiết so với các phương pháp hiện tại.

Nghiên cứu tập trung vào thuật toán BVCL, khai thác các tập phổ biến đóng và cấu trúc vectơ bit động (DBV), cùng với cấu trúc superset vectơ bit động (DSBV) để lưu trữ và truyền tải thông tin của các tập superset Bên cạnh đó, các kỹ thuật ánh xạ và chỉ mục cũng được áp dụng nhằm tăng tốc độ tìm kiếm cho thuật toán.

Khó khăn và Thách thức

Việc tìm kiếm các tập phổ biến đóng trong cơ sở dữ liệu D với ngưỡng minSup do người dùng xác định là một thách thức lớn về thời gian do độ phức tạp khai thác hàm mũ Độ dài của vector bit tăng theo số lượng giao dịch trong cơ sở dữ liệu, dẫn đến việc tiêu tốn nhiều bộ nhớ Mặc dù cấu trúc bit vector động giúp tiết kiệm đáng kể bộ nhớ cho cơ sở dữ liệu thưa, nhưng hiệu quả tiết kiệm không đáng kể đối với cơ sở dữ liệu đặc Trong các bộ dữ liệu được sử dụng trong luận văn này, việc áp dụng cấu trúc bit vector động đã tiết kiệm hơn 50% bộ nhớ so với cấu trúc bit vector tĩnh.

Mục tiêu và phạm vi của luận văn

Mục đích cuối cùng của quá trình khai thác tập phổ biến là khai thác tập luật kết hợp và ứng dụng các kết quả vào trong thực tế.

Việc khai thác luật kết hợp từ cơ sở dữ liệu (CSDL) với các ngưỡng minSup và minConf gặp khó khăn khi số lượng tập phổ biến lớn Do đó, cần một phương pháp hiệu quả để giảm thiểu số lượng luật mà vẫn đảm bảo tính toàn diện của các luật trong phương pháp khai thác truyền thống Một trong những giải pháp là tập trung vào việc khai thác các luật thiết yếu nhất, chỉ giữ lại những luật có vế trái tối thiểu và vế phải tối đại, dựa trên mối quan hệ cha – con.

Mục tiêu của luận văn là nghiên cứu và phân tích các ưu điểm cũng như hạn chế của các thuật toán khai thác tập phổ biến đóng trên Dàn Luận văn nhằm mục đích giảm thời gian khai thác luật bằng cách sử dụng quan hệ cha – con trên Dàn, từ đó giảm chi phí xét quan hệ này và tối ưu hóa quy trình khai thác luật.

Thuật toán BVCL, cùng với các cấu trúc dữ liệu DBV và DSBV, đã chứng minh được hiệu quả và sức mạnh, phù hợp cho nghiên cứu và ứng dụng Đề xuất tích hợp và cải tiến thuật toán gốc nhằm khai thác đồng thời Dàn tập phổ biến đóng và tập sinh là cần thiết để phục vụ cho việc khai thác tập luật kết hợp sau này Cuối cùng, kết quả thực nghiệm cho thấy thuật toán BVCL cải tiến có hiệu suất vượt trội so với thuật toán gốc cũng như các thuật toán CharmL và MGCharm trên các cơ sở dữ liệu tổng hợp và thực tế.

Đóng góp của luận văn

Đề tài này đã cải tiến thuật toán gốc của tác giả bằng cách tối ưu hóa việc khai thác đồng thời tập sinh trong thuật toán Mặc dù thuật toán cải tiến không nhanh hơn thuật toán gốc trong việc khai thác dàn các tập phổ biến đóng, nhưng việc khai thác tập sinh là rất quan trọng trong quá trình tìm kiếm tập luật kết hợp Nếu thuật toán gốc khai thác riêng rẽ dàn tập phổ biến đóng và tập sinh, thì thuật toán cải tiến cho thấy hiệu suất nhanh và hiệu quả hơn đáng kể Vấn đề so sánh sẽ được thảo luận chi tiết trong phần đánh giá.

CƠ SỞ LÝ THUYẾT

Khái quát bài toán

D: là các giao dịch trong Database

Với một tập các giao dịch T = {t 1, t2 t n } Mỗi giao dịch ti (1 ≤ i ≤ n) được xác định bởi khóa được gọi là Tid

Tidset(X): Một tập các giao dịch chứa tập X

Itemset(Y): Biễu diễn một tập các Items xuất hiện trong các giao dịch của Tidset (Y)

Số giao dịch trong tidset (X) tương ứng với độ hỗ trợ của X được biểu diễn bởi sup (X)

Itemset X được coi là phổ biến khi độ hỗ trợ Sup(X) lớn hơn hoặc bằng mức tối thiểu Minsup Độ hỗ trợ (Support) của luật kết hợp X => Y được xác định bằng tần suất giao dịch chứa tất cả các items trong cả hai tập X và Y Chẳng hạn, nếu độ hỗ trợ của luật X => Y là 5%, điều này có nghĩa là 5% các giao dịch đã mua cả X và Y cùng nhau.

Minsup: là độ hỗ trợ nhỏ nhất phải xác định trước khi sinh luật kết hợp

Tập phổ biến X được xem là tập phổ biến đóng khi không có tập nào lớn hơn nó mà có cùng độ phổ biến Cụ thể, không tồn tại tập phổ biến X’ với X là tập con của X’ và sup(X) = sup(X’).

Xét X và Y là 2 tập phổ biến đóng

- Y được gọi là bao (frequent closed superset (FCS)) X nếu X ⊂ Y

- Y là bao tối tiểu (minimal closed superset) của X nếu không tồn tại tập phổ biến đóng Z mà X ⊂ Z ⊂ Y

- Tập G được gọi là tập sinh (Generator) của tập đóng X, nếu và chỉ nếu G ⊆ X và Sup(G) = Sup(X)

Nếu Y là bao tối tiểu của tập đóng X thì node Y được xem là con node X, và có 1 cạnh từ X → Y

Một luật kết hợp (AR) được biểu diễn X ⇒ (Y − X): X, Y là 2 tập phổ biến và X ⊂ Y

Khai thác Dàn các tập phổ biến đóng (Frequent Closed Itemset Lattice - FCIL) là quá trình tổ chức các Node của các tập phổ biến đóng, kết nối chúng theo cặp và thiết lập quan hệ Cha - Con Đồng thời, quá trình này cũng khai thác các tập sinh tương ứng với các tập phổ biến đóng trong Dàn.

Hướng tiếp cận khai thác tập phổ biến đóng

Nhiều nghiên cứu đã tập trung vào việc phát triển các thuật toán nhằm khai thác các tập phổ biến đóng, và các kỹ thuật này thường được phân loại thành bốn loại dựa trên chiến lược cụ thể của chúng.

- Đầu tiên là chiến lược thử nghiệm và phát triển theo APRIORI-GEN [19] Thủ tục kiểm tra tính đóng của 1 tập hạng mục

- Thứ 2 là sử dụng cấu trúc dữ liệu theo FP-tree [20]

Kỹ thuật tìm kiếm lai, như CHARM, là một phương pháp hiệu quả, tận dụng cả không gian item và không gian tid để cải thiện kết quả tìm kiếm.

DCI-Closed và LCM là hai phương pháp khác biệt so với ba loại trước đó, giúp vượt qua vấn đề chi phí kiểm tra và loại bỏ việc phát sinh các bản sao của các tập đóng Cả hai phương pháp này duyệt không gian tìm kiếm theo chiều sâu và tạo ra tập phổ biến đóng mới bằng cách mở rộng các tập đóng đã được khai thác Đặc biệt, chúng không yêu cầu bộ nhớ lưu trữ cho các tập đóng đã phát hiện trước đó LCM áp dụng các kỹ thuật diffset để tính toán độ phổ biến và tính đóng dựa trên các đặc tính của bộ dữ liệu.

Các thuật toán khai thác FCI được phân loại thành hai loại chính dựa trên cách biểu diễn cơ sở dữ liệu: theo chiều ngang (tid × itemset) và theo chiều dọc (item × tidset) Nghiên cứu cho thấy rằng các thuật toán sử dụng biểu diễn theo chiều dọc thường mang lại hiệu quả tốt hơn so với các phương pháp theo chiều ngang.

Bảng 2.2 trình bày một biểu diễn mã hóa của Bảng 2.1, trong đó các Item được biểu diễn bằng các chữ cái theo chiều ngang ECLAT [10] được giới thiệu bởi Zaki, với việc sử dụng cơ sở dữ liệu theo chiều dọc.

Bảng 2.1: Cơ sở dữ liệu giao dịch book store

TID Itemset t1 Algorithms, Logic Design, Data Mining, Programming in C,

Networking t2 Logic Design, Compiler, Programming in C, Microprocessor t3 Algorithms, Logic Design, Data Mining, Networking, Programming in C t4 Algorithms, Logic Design, Compiler, Programming in C,

Microprocessor, Networking t5 Algorithms, Logic Design, Compiler, Data Mining, Programming in

C, Microprocessor, Networking t6 Compiler, Data Mining, Microprocessor, Networking, Human

Bảng 2.2: Cơ sở dữ liệu giao dịch của bảng 2.1 được mã hóa

BitTableFI [24] thay thế tidset với bit - vector, nơi mỗi bit tương ứng với một tid

Index-BitTableFI [25] áp dụng biểu diễn bit-vector để hỗ trợ cho các tập thừa Tuy nhiên, vẫn còn một lượng lớn không gian bị lãng phí cho những tập phổ biến, do kích thước của vector-bit luôn tương đương với tổng số giao dịch.

DBV-Miner [6] đề xuất 1 giải pháp sử dụng cấu trúc dữ liệu gọi là Dynamic Bit-

Vector (DBV) loại bỏ các bit 0 ở đầu và theo dõi vị trí của các bit 0 đầu tiên gặp phải DBV kết hợp với bảng tra cứu (lookup table) để tính toán độ support của tập dữ liệu một cách hiệu quả Bảng tra cứu lưu trữ tổng số bit 1 cho mỗi tổ hợp 8-bit trong một byte, cho phép tính toán độ support của tập X bằng cách cộng tổng số 1 trong mỗi byte bi của DBVX.

Bảng 2.3 cho thấy cách biểu diễn cơ sở dữ liệu theo chiều dọc của Bảng 2.1 theo bit vector

Bảng 2.3: Cơ sở dữ liệu giao dịch theo chiều dọc dùng bit vector

DBV - Miner tạo ra một DBV mới bằng cách thực hiện phép toán AND giữa hai DBVs Qua phép giao này, mối quan hệ tập con giữa các DBVs cũng được xác định rõ ràng.

Xét 2 DBVs là: DBV X and DBV Y

DBV X được gọi là tập con của DBV Y nếu: 𝐷𝐵𝑉 𝑋 = 𝐷𝐵𝑉 𝑋 ∩ 𝐷𝐵𝑉 𝑌

DBV X được gọi là bằng DBV Y nếu: 𝐷𝐵𝑉 𝑋 = 𝐷𝐵𝑉 𝑋 ∩ 𝐷𝐵𝑉 𝑌 = 𝐷𝐵𝑉 𝑌 Để tăng tốc độ quá trình khai thác của FCI, DBV - Miner làm giảm không gian tìm kiếm bằng cách loại bỏ việc phát sinh các tập dư thừa Các phát sinh tập dư thừa này được loại bỏ dựa trên các thuộc tính subsume được xác định trong bổ đề 1 và bổ đề 2

Subsume: Tạm gọi là hấp thụ

Bổ đề 1: xét 2 DBVs, DBV X và DBV Y , nếu DBV X ⊆ DBV Y , thì X bị subsumed bởi Y

Bổ đề 2: i Nếu X bị subsumed bởi Y, thì X không phải là 1 tập đóng ii Nếu X bị subsumed bởi Y, và Y bị subsumed bởi X, thì X và Y không phải là tập đóng

Tập X được coi là dư thừa đối với tập Y khi DBVX ⊆ DBVY, theo bổ đề 1 Do đó, hai tập này có thể được hợp nhất để tạo thành tập Z mới Hơn nữa, X được xem là một tập không đóng nếu thỏa mãn điều kiện của bổ đề 2 (i), và cả X lẫn Y sẽ bị loại bỏ như các tập không đóng theo điều kiện ghi trong bổ đề 2 (ii).

Mô hình cửa sổ trượt giới thiệu nhiều cấu trúc dữ liệu nhằm tối ưu hóa không gian lưu trữ cho cơ sở dữ liệu giao dịch, đặc biệt khi khai thác các tập phổ biến đóng.

Một cách tiếp cận cải tiến đã được đề xuất để khai thác các tập phổ biến đóng, duy trì một tập tạm thời cho FCI đang khai thác Phương pháp này cập nhật các thiết lập khi có giao dịch mới được thêm vào hoặc xóa khỏi cơ sở dữ liệu Tất cả các phương pháp này đều có khả năng phát hiện FCIs từ cơ sở dữ liệu có thể tự động mở rộng hoặc thu nhỏ bất cứ lúc nào.

GENCLOSE [5] khai thác các FCI (đồng thời phát sinh) từ CSDL tỉnh thông qua

3 phương thức mở rộng của họ

MMCAR [17] đã thiết kế việc khai thác các FCI ở mức độ phân cấp vào năm

Cách tiếp cận khai thác FCI gần đây

NAFCP [28] đã đề xuất phương pháp dựa trên cấu trúc N-List và cây PPC NList

PPC-tree là một cấu trúc theo chiều dọc hiệu quả cho việc tính toán độ hỗ trợ của các tập phổ biến, tương tự như FP-Tree, với khả năng lưu trữ toàn bộ cơ sở dữ liệu trong bộ nhớ thông qua các Node Mỗi Node trong PPC-tree lưu trữ thông tin cần thiết về mẫu phổ biến Để tối ưu hóa quy trình, NAFCP xây dựng N-List cho mỗi mẫu phổ biến từ PPC-tree Tuy nhiên, NAFCP cần áp dụng cơ chế kiểm tra Subsume để loại bỏ các tập không đóng.

Hướng tiếp cận khai thác tập sinh (Minimal Generator)

Hiện nay, việc tìm tập sinh phổ biến chủ yếu dựa vào thuật toán Apriori Phương pháp đầu tiên được giới thiệu bởi Bastide và các cộng sự, trong đó họ đã mở rộng thuật toán Apriori để xác định các tập mG Thuật toán này bắt đầu bằng việc tìm các ứng viên là các mG, sau đó tính toán bao đóng của chúng để xác định tập đóng.

Phương pháp thứ hai được trình bày bởi Zaki Đầu tiên, tác giả dùng thuật toán

Sử dụng CHARM để xác định tất cả các tập đóng, sau đó áp dụng phương pháp Apriori để tìm ra tất cả các mG tương ứng cho mỗi tập đóng.

Cả hai phương pháp này đều gặp bất lợi khi kích thước của tập phổ biến lớn bởi vì số lượng tập ứng viên cần xét rất lớn

Thuật toán tìm nhanh tập sinh khắc phục nhược điểm của hai phương pháp trước đó bằng cách áp dụng thuật toán không sinh ứng viên (CHARM) Thuật toán này không chỉ sinh tập phổ biến đóng mà còn tìm mG của chúng một cách hiệu quả.

Hướng tiếp cận khai thác Dàn các tập phổ biến đóng

Cấu trúc Dàn diễn đạt mối quan hệ Cha - Con giữa các FCIs, với mỗi cặp Nodes chứa các tập đóng, cho phép rút ra các luật kết hợp có ý nghĩa trong thời gian ngắn Tuy nhiên, hiện nay có rất ít nghiên cứu về tính toán cấu trúc Dàn của các tập phổ biến đóng và quá trình khai thác các tập này Phương pháp tiếp cận mới cần được phát triển để tính toán cấu trúc Dàn hiệu quả hơn.

Việc tìm kiếm tập đóng tối thiểu cho mỗi FCI là một quá trình tốn kém, với tổng chi phí O(C^2), trong đó C đại diện cho tập đóng.

DCHARM-L [8] khởi xướng quá trình xuất Dàn trong khi khai thác các FCIs trong thời gian thực Tuy nhiên, để thực hiện điều này, cần điều chỉnh lại mối quan hệ đã được xây dựng trước đó trong các tập đóng sau khi chèn tập đóng mới vào Dàn.

Dàn Tập Đóng [7] đã đề xuất một phương pháp xây dựng FCIL trực tiếp từ danh sách các FCIs trong giai đoạn xử lý sau của khai thác FCI Mặc dù vậy, hiệu suất tính toán offline của phương pháp này vẫn chưa đạt mức tối ưu, và chiến lược này được xem như một phương pháp khai thác Dàn offline.

Đề xuất cấu trúc dữ liệu

Mục đích của đề tài là khai thác đồng thời FCI và cấu trúc Dàn, phát triển một cấu trúc dữ liệu để:

(1) Loại bỏ việc phát sinh các tập không đóng

(2) Lưu giữ thông tin của bao phổ biến đóng (FCS) ,

(3) Duy trì mối quan hệ cha - con giữa các tập phổ biến đóng

Cấu trúc dữ liệu được đề xuất đảm bảo khả năng truy xuất, cập nhật và xóa thông tin FCS nhanh chóng cho một tập dữ liệu Bài viết giới thiệu về Superset Bit-Vector và mở rộng khái niệm này sang một dạng nâng cao hơn, được gọi là Dynamic Superset Bit-Vector (DSBV).

Superset Bit là một phương pháp lưu trữ thông tin cho FCS của một tập bằng chuỗi bit Trong phương pháp này, mỗi FCI được xác định bởi một định danh duy nhất gọi là closed itemset identifier (cid) Khác với bit-vector biểu diễn cho Tidset, mỗi bit trong superset bit-vector tương ứng với một cid của một FCI Nếu X là một tập hạng mục có một tập các FCS, mã cids của nó sẽ được liệt kê trong tập {11, 12, 17, 24}.

Hình 2.1: Dynamic superset bit vector

Vị trí 11, 12, 17 và 21 trong chuỗi bit được thiết lập là 1, do đó, superset bit - vector của X được biểu diễn bằng tập các byte {0, 12, 129}, với mỗi byte được chuyển đổi thành giá trị thập phân.

Superset bit-vector có thể chứa nhiều bit 0, dẫn đến việc tốn không gian lưu trữ Để khắc phục vấn đề này, một dạng mở rộng gọi là Dynamic Superset Bit Vector (DSBV) đã được đề xuất nhằm tối ưu hóa bộ nhớ khi lưu trữ thông tin FCS.

Cấu trúc của dynamic superset bit vector: typedef struct DBV

{ public: int iNonZeroByte;// vị trí của byte khác 0 đầu tiên

// các byte lưu bit vector bỏ các byte zero đầu và cuối vector bitVec;

DBV()//khởi tạo cho struct

Dynamic Superset Bit Vector (DSBV) bao gồm 2 thành phần, nó được biểu diễn dưới dạng {p, {b1, b2, , bn}} trong đó phần thứ nhất p theo dõi vị trí của byte khác

Superset bit-vector bao gồm hai thành phần: thành phần đầu tiên là 0, và thành phần thứ hai {b1, b2, , bn} đại diện cho danh sách các byte trong superset bit-vector sau khi đã loại bỏ các byte 0 ở đầu và cuối Thông tin FCS của X được thể hiện trong DSBV dưới dạng {1, {12, 129}}, trong đó p=1 vì byte đầu tiên khác 0.

DSBV đóng vai trò quan trọng trong việc xây dựng cấu trúc Dàn các tập phổ biến đóng, nơi chỉ có các minimal closed supersets có thể là nút con của FCI Từ đặc điểm này, chúng ta thiết lập mối quan hệ cha – con giữa các tập đóng theo hướng từ dưới lên Bài viết sẽ trình bày các chiến lược tìm kiếm, xóa và cập nhật thông tin FCS của các tập.

5.2.1 Tìm FCS từ cấu trúc DSBV nzLSB : non-zero least significant bit ( vị trí bit 1 gần nhất trong byte tính từ phải qua)

Thông tin FCS của một tập hạng mục được xác định từ các thuộc tính DSBV của nó Các closed supersets với các Cids tương ứng được xác định nhanh chóng từ DSBV Cụ thể, khi xem xét DSBV của một tập hạng mục X, ta có d X = {p, {b 1, b 2, , b n }}.

- Giả sử vị trí thực của một byte bi được ký hiệu bởi ap và

- nzLSBc: là vị trí bit 1 tương ứng với byte bi

- Sj là cid: Sj = 8 * ap + nzLSBc

Bảng 2.4 trình bày quá trình xác định FCS (cid) cho một tập hạng mục có DSBV {1, {12, 129}} Từ DSBV của tập hạng mục X, chúng ta có thể xác định tập các FCS của X như đã nêu dưới đây.

Bảng 2.4: Tìm cids của FCS của itemset có DSBV: {1, {12, 129}}

Actual position Byte Status nzLSB cid Set of FCS After reset

5.2.2 Tìm minimal FCS từ cấu trúc DSBV

Phương pháp khai thác hiệu quả để trích xuất thông tin FCS tối thiểu từ cấu trúc DSBV được trình bày như sau: Xét một FCI là C, với DSBV của nó là d C = {p 1, {b 1, b 2, ,b n }} Giả sử tập cids của FCS là S = { s 1, s 2, , s m } của C được lấy từ dC thông qua thuật toán mô tả trong phần 4.2.1 Đối với mỗi Si, bộ thông tin của FCS được xác định là Ri = {r 1, r 2 , , r m }.

After applying DSBVsi, the set S is updated by removing the elements in Ri, resulting in S = S - Ri This process eliminates overlapping elements in both sets S and R Consequently, after iterating through all Ri, the set S contains only the identifiers of the minimal closed supersets of C.

(Bởi vì 1 tập mà là superset 2 lần thì nó không phải là minimal superset)

Bảng 2.5 minh họa một ví dụ về khai thác minimal FCS từ 1 DSBV d = {1, {134, 129}}

S d = {10, 11, 16, 17, 24} được xác định từ d Sau đó, DSBV d ’= {1, {4, 1}} cho

FCS của cid được lấy từ cột “mapping” của bảng 2.5

Sau khi xác định tập S d’ = {11, 17} từ d’, ta thực hiện phép trừ Sd = Sd - Sd’ Tiếp tục cập nhật với Sd = {10, 16, 24}, ta có tập FCS là S d’ = {24} cho một tập đóng với cid = 16 Kết quả cuối cùng là Sd = {10, 16}, mô tả tập các cids chỉ của các minimal closed supersets.

Bảng 2.5: Khai thác minimal FCS từ cấu trúc DSBV

Iteration DSBV Set of cid of DSBV of Set of FCS Updating of Updating of Mapping

FCS i th FCI i th FCI of i th FCI FCS d i d S d cid i d S d S d = S d − S d d = d d cid DSBV

Lưu ý: cột thứ 4 ( DSBV của FCI thứ i) đã có trong quá trình xác định FCS trong chương trình

5.2.3 Giao 2 DSBVs Để xác định tập các FCS của một tập mới khai thác DSBV cho một tập mới được phát hiện thu được bằng cách giao DSBV của hai FCI Phép giao tập hợp này được thực hiện bằng phép toán AND trên bit liên tục giữa các byte của hai DSBV Đặc tả thuật toán bằng mã giả như sau:

DBV SetHelper::Interset2DBV(DBV* X,DBV* Y)

Để xác định chỉ số byte cao và thấp của hai biến X và Y, ta có thể tính toán như sau: chỉ số byte cao của X là xMax = X->iNonZeroByte, trong khi chỉ số byte thấp của X được tính bằng xMin = X->iNonZeroByte - X->bitVec.size() - 1 Tương tự, chỉ số byte cao của Y là yMax = Y->iNonZeroByte và chỉ số byte thấp của Y là yMin = Y->iNonZeroByte - Y->bitVec.size() - 1 Cuối cùng, chỉ số byte cao của kết quả được xác định bằng rMax = min(xMax, yMax) và chỉ số byte thấp của kết quả là rMin = max(xMin, yMin).

- if(rMin>rMax) return vector 0;

-xóa byte 0 bên trái; return result;

Cho DSBV X = {8,{2,0,0,1,5,7}} và DSBV Y = {10,{2,3,1,0,0,5}}.hình bên dưới minh họa việc giao 2 DSBV

5.2.4 Cập nhật 1 DSBV Để truyền thông tin FCS mới vào cấu trúc DSBV lên phía trên trong quá trình đệ qui, phải cập nhật DSBV của một tập hạng mục Việc cập nhật này được thực hiện bằng phép toán hội DSBV của hai FCIs Phép hội tập hợp này được thực hiện bằng phép toán OR trên bit liên tục giữa các byte của hai DSBV Đặc tả thuật toán bằng mã giả như sau:

DBV SetHelper::Union2DBV(DBV* X,DBV* Y)

Để xác định chỉ số byte cao và thấp của hai biến X và Y, ta sử dụng các chỉ số xMax và xMin cho X, với xMax bằng iNonZeroByte của X và xMin bằng iNonZeroByte của X trừ đi kích thước của bitVec Tương tự, ta xác định yMax và yMin cho Y Chỉ số byte cao của kết quả được tính bằng giá trị nhỏ hơn giữa xMax và yMax, trong khi chỉ số byte thấp của kết quả là giá trị lớn hơn giữa xMin và yMin.

Result = X bitwise OR Y; return result;

Cho DSBV X = {8,{2,0,0,1,5,7}} và DSBV Y = {10,{2,3,1,0,0,5}} Hình bên dưới minh họa việc hội 2 DSBV

Hình 2.3: Hội 2 DSBVs pY= yMin: 5 yMax: 10

ĐỀ XUẤT THUẬT TOÁN KHAI THÁC DÀN CÁC TẬP PHỔ BIẾN ĐÓNG VÀ CẢI TIẾN

Phát biểu bài toán khai thác Dàn các tập phổ biến đóng

Khai thác các tập phổ biến đóng là quá trình tìm kiếm tất cả các tập hợp thỏa mãn ngưỡng minsup do người dùng xác định từ cơ sở dữ liệu giao dịch Quá trình này thiết lập mối quan hệ cha con giữa các tập phổ biến đóng, tạo thành một cây phân cấp với các nút là các tập hợp này.

Quá trình này gồm 2 giai đoạn chính:

Trong giai đoạn đầu tiên, cơ sở dữ liệu giao dịch D được đưa vào với ngưỡng minSup, và cơ sở dữ liệu ngang (tid × itemset) sẽ được chuyển đổi thành dạng dọc (item x tidset) Quá trình này bao gồm việc loại bỏ các item không phổ biến, tức là những item có hỗ trợ thấp hơn ngưỡng minSup, nhằm chuẩn bị cho thuật toán tiếp theo.

Giai đoạn 2 của nghiên cứu tập trung vào việc xác định các tập phổ biến đóng, ký hiệu là C đại diện cho {C1, C2, , Cm}, trong khi L đại diện cho Dàn các tập phổ biến đóng với các nút {N1, N2, , Nm} Thuật toán được phát triển nhằm liệt kê tất cả các tập phổ biến đóng và mô tả sự phụ thuộc của chúng trong Dàn Định nghĩa 1 liên quan đến Dàn FCIs và tập luật không dư thừa NARs.

Trong cơ sở dữ liệu D = {t1, t2, , tn} chứa n giao dịch và {x1, x2, , xm} với m item, việc khai thác các tập phổ biến đóng (FCIL) L = (N, R) cần dựa trên ngưỡng hỗ trợ tối thiểu (minSup) và độ tin cậy tối thiểu (minConf) Mục tiêu là xác định tập hợp các luật không dư thừa A từ các tập phổ biến này.

Trong đó N = {N1, N2 Ni}, một tập các nút với Ni ∈ N chứa các tập phổ biến đóng

Ci ∈ C (tất cả các tập phổ biến đóng thõa minSup) và:

R = { 𝑅𝑖𝑗 ∶ 𝑁𝑖 → 𝑁𝑗 |𝑁𝑖 , 𝑁𝑗 ∈ N and 𝑁𝑗 = minimal frequent closed superset( 𝑁𝑖 ), 1 ≤ 𝑖, 𝑗 ≤ 𝑙 }

BVCL khai thác các tập phổ biến đóng C thỏa mãn ngưỡng minSup từ cơ sở dữ liệu D Trong quá trình này, khi khai thác tập phổ biến đóng Ci ∈ C, các bao đóng tối tiểu sẽ được xác định BVCL kết nối mọi FCI với các bao đóng tối tiểu tương ứng, thiết lập mối quan hệ cha-con giữa các nodes trong Dàn theo hướng bottom-up.

Thuật Toán BVCL

Thuật toán tiếp cận việc phát hiện các tập phổ biến đóng theo hướng depth first, sử dụng thông tin tidset và superset Đặc tả tidset của một tập hạng mục được thực hiện qua cấu trúc dynamic bit-vector (DBV) Để lưu trữ thông tin về tập bao đóng (closed superset), luận văn giới thiệu cấu trúc dữ liệu mới mang tên DSBV Những cấu trúc dữ liệu này thiết lập mối quan hệ cha - con theo hướng bottom - up trong các tập phổ biến đóng của Dàn, giúp BVCL vượt trội hơn so với các phương pháp khai thác tập phổ biến đóng và khai thác Dàn khác.

BVCL bắt đầu khai thác bằng cách xác định các hạng mục phổ biến {x1, x2, , xm}, kết hợp chúng dựa trên các thuộc tính subsuming như đã trình bày trong Chương 2 Trong quá trình này, chi phí cho tập con được kiểm soát thông qua việc duy trì hai danh sách riêng biệt: danh sách subsuming (SL) và danh sách không subsuming (nSL).

Cho tập hạng mục X = {x 1, x 2, ,x l }, và một item y

Nếu X được subsumed bởi y thì y được gọi là subsuming item cho X

Ngược lại thì y gọi là non - subsuming với X

Subsuming, non-subsuming items tương ứng được xây dựng với các danh sách là

Xem xét Bảng 2.3 Item “A” được subsumed bởi item “P” theo bổ đề 1

DBV “A" ⊆DBV “P" vì DBV “A" = DBV “A" ∩ DBV “P"

Tương tự, “A” được subsumed bởi item “N” và “L” Vì vậy, subsuming List của A là SL “A" = {“P ”, “N ”, “L ”} Non-subsuming List của A là nSL “A " = {“C ”, “M ”, “D

Luận văn này áp dụng phương pháp sắp xếp các hạng mục phổ biến theo thứ tự tăng dần dựa trên mức độ hỗ trợ của chúng Đối với mỗi hạng mục phổ biến xi ∈ L = { x 1 , x 2 , , x m }, hai danh sách được thiết lập: SLx i = { x’ 1 , x’2 , , x’ p } và nSLx i = { x” 1 , x” 2 , , x” q }.

Sau đó xi được sáp nhập với các hạng mục của Sl xi theo bổ đề 2, kết quả là tập đóng Ck

(FCI thứ k của xi) Non-subsuming list nSL Ck của Ck được khởi tạo với non-subsuming list của x i , nSLx i

Bây giờ tập phổ biến đóng Ck bắt đầu gọi đệ quy khai thác tập phổ biến đóng mới là

Ck+1 được tạo ra bằng cách kết hợp Ck với một phần tử x”j bất kỳ thuộc nSLCk Sau khi thực hiện quá trình kết hợp, việc kiểm tra subsume sẽ được lặp lại cho các phần tử còn lại { x"j+1 , , x"q } của nSLCk Quá trình này sẽ tiếp tục để xây dựng các danh sách subsuming và non-subsuming theo phương pháp tương tự.

Ck+1 được khai thác gần nhất với danh sách non-subsuming, tiếp tục quá trình khai thác các FCI theo phương pháp depth first Thuật toán này xây dựng quá trình kết hợp và ngăn chặn việc kiểm tra các tập con bị lặp lại, khác với thuật toán DBV-Miner.

SL Ck và nSL Ck là danh sách các tập con và không phải tập con tương ứng của tập phổ biến đóng thứ k, Ck Trong quá trình kết hợp để tạo ra tập FCI thứ k+1, Ck+1, từ Ck và xj ∈ nSL Ck, không cần kiểm tra các tập con.

Tập phổ biến đóng C k+1 được hình thành từ việc kết hợp C k với một hạng mục x j thuộc nSLCk, cụ thể là C k+1 = C k U x j Để tính toán C k+1, quá trình kiểm tra subsume sẽ được lặp lại với các hạng mục còn lại {x j+1, x j+2, , x m} thuộc nSLCk, dựa trên bổ đề 1 và bổ đề 2 Chỉ những mục x j thuộc nSL Ck mới có thể mở rộng C k và đảm bảo rằng 𝑥 𝑗 không nằm trong C k, do đó không cần kiểm tra tập con để tránh tạo ra các tập thừa.

DBVCk+1 và DSBVCk+1 được xác định từ DBV và DSBV của Ck và xj, nhưng cần kiểm tra xem Ck+1 có tạo ra tập không đóng nào không, với điều kiện sup(Ck+1) ≥ minSup Tập S = {s1, s2, , sl} là bao đóng của Ck+1, được xác định từ DSBVCk+1 thông qua các thuật toán trong Phần 5.2.1 Nếu độ hỗ trợ của bất kỳ bao đóng si ∈ S = sup(Ck+1), Ck+1 sẽ bị loại bỏ như là tập không đóng Nếu không, quá trình subsuming sẽ bắt đầu để tính toán bao đóng của Ck+1, trong khi DSBVCk+1 được cập nhật bởi DSBV của các hạng mục từ SLCk+1 Quá trình đệ quy của các tập đóng trong các nhánh sẽ kết thúc khi danh sách non-subsuming của các hạng mục trở nên rỗng.

Trong phương pháp này, mỗi tập đóng Ck +1 truyền thông tin FCS của nó thông qua

DSBVCk +1 ngược lên tập đóng Ck, từ Ck mà nó đã được sinh ra và các tập hạng mục của

Kỹ thuật SLCk+1 đảm bảo rằng DSBV của một FCI sẽ chứa thông tin FCS hoàn chỉnh sau khi tất cả các tập con cháu FCI được phát sinh Do đó, chúng ta có phần bổ đề sau đây.

Chiến lược dẫn xuất theo chiều sâu và kỹ thuật kết hợp nhân bản cập nhật C k+1 từ Ck và danh sách không bao hàm đảm bảo tính hoàn chỉnh của thông tin FCS trong cấu trúc DSBV của tập FCI.

Một tập phổ biến trong ngôn ngữ lập trình C có khả năng thừa hưởng thông tin từ các FCIs Cha trong cấu trúc DSBV Sau đó, C đệ quy tạo ra tất cả các con cháu FCI trong một nhánh bằng cách mở rộng nó với các hạng mục trong danh sách non.

Quá trình khai thác các FCIs mới bằng phương pháp depth first sẽ dừng lại khi nSL C rỗng, cho thấy rằng không còn FCIs nào có thể được khai thác từ C Đồng thời, DSBV của C (DSBV C) được cập nhật thông qua các DSBVs của các FCIs con cháu, tạo nên một quá trình truyền thông tin FCS dọc theo nhánh Kết quả là, DSBV C hoàn tất việc thu thập thông tin FCS khi quá trình depth first của tất cả các FCIs con cháu của C kết thúc.

Vì cấu trúc DSBV của mỗi FCI chứa thông tin FCS hoàn chỉnh được nêu trong bổ đề

4, nó có thể được sử dụng hiệu quả trong việc phát hiện các phát sinh tập không đóng

Sau khi thực hiện phương pháp tìm kiếm theo chiều sâu để phát sinh tất cả các con cháu của FCIs, một tập hợp đóng đã được khởi tạo cho nhánh Tiếp theo, quá trình khai thác các tập phát sinh mới được thực hiện bằng cách kết hợp tập hợp này với các hạng mục không bao hàm còn lại Bổ đề sau đây đảm bảo rằng quá trình loại bỏ các tập thừa được thực hiện thông qua thuộc tính DSBV của một Itemset.

Việc phát sinh các tập không đóng có thể được loại bỏ trước khi tính toán bao đóng các tập trong BVCL

Cho X là tập phát sinh của tập ứng viên đóng C= X U x j (x j subsumes X) X = C’ U xi, DSBV X = DSBV C’ ∩ DSBV xi (giả sử tập đóng C’ đã khai thác) và DSBV C = DSBV X ∩ DSBV xj Với : x i , x j  nSLC’ (non-subsuminglist of C’ ), j > i Các tập S X = { s’ 1 , s’ 2 , , s’ n } và S C = { s” 1 , s” 2 , , s” m } đại diện thông tin của X và C được xác định từ DSBV X và DSBV C , trong đó S C ⊆ S X vì DSBV C ⊆ DSBV X Nếu vẫn còn 1 bao đóng s”∈ S

Nếu sup (C mà sup (s”) = sup (C), thì tập C sẽ bị loại bỏ vì không đóng Tuy nhiên, nếu C là tập không đóng, nó có thể được loại bỏ sớm bằng cách loại bỏ phát sinh X trước khi tính toán bao đóng qua quá trình lặp subsuming, vì s” thuộc S C và C là tập con của S X, tức là s” thuộc S X và sup (X) = sup (C) = sup (s”).

Đặc tả và phân tích thuật toán

Input: CSDL giao dịch: DB, minsup

Output: Dàn các FCIs: L Đoạn 1: Mã Giả thuật toán

4 Foreach xi of {x1, x2, …, xm} do

5 Foreach xj {x1, x2, …, xm} với xi ≤ xj do

11 Function BVCL_extend (Ck, {y1, y2, …, ym})

23 If isClosed (DSBVCk+1, supCk+1) then

31 If (end = 0 or CIDCk = 0) then

34 If isSubsumedBy (DBVCk+1, DBVyj) then

38 If isSubsumedBy (DBVyj, DBVCk+1) then

58 If CIDCk ≠ 0 then updateDSBV (DSBVyl, DSBVCk+1);

62 End Đoạn 2: Mã Giả thuật toán

19 Xóa bit thứ bp+1 từ DS.bp

29 DS.bi:= DS.bi ˄ temDS.bj;

60 End Đoạn 3: Mã Giả thuật toán

39 DS1.bi:= DS1.bi  DS2.bj;

Thuật toán sử dụng cơ sở dữ liệu giao dịch với ngưỡng minsup làm đầu vào Các hạng mục phổ biến được xác định thông qua hàm findFrequentItems(), với mỗi hạng mục xi được khởi tạo bằng cách xây dựng bit vector động (DBV) từ tidset Ban đầu, cids được đặt là 0 và DSBV là rỗng cho tất cả các hạng mục phổ biến, sau đó chúng được sắp xếp theo thứ tự tăng dần của độ hỗ trợ Hai vòng lặp thực hiện việc kết hợp các item theo thứ tự này, trong đó danh sách non-subsuming cho mỗi mục xi được biểu diễn dưới dạng nSLxi = {y1, y2, , ym} Cuối cùng, hàm BVCL_Extend() được gọi với xi và nSLxi của nó để bắt đầu quá trình khai thác các tập phổ biến đóng theo cách depth first.

Hàm BVCL_Extend() nhận hai đối số: một tập phổ biến đóng Ck và danh sách non-subsuming nSLCk của nó Hàm này tính toán tập phổ biến đóng mới Ck+1 bằng cách nối Ck với các hạng mục trong nSLCk cho đến khi danh sách này rỗng Để khai thác Ck+1, DBV và DSBV của nó được xác định từ giao của DBV của Ck và mục yl Nếu sup(Ck+1) ≥ minsup, hàm isClosed() sẽ được gọi để kiểm tra sự tồn tại của các tập hợp thừa hoặc tập đóng bị trùng lắp Hàm isClosed() sử dụng DSBV từ giao của DSBVs của Ck và yl để thực hiện kiểm tra này Mỗi lần tính toán Ck+1, danh sách subsuming và non-subsuming cũng được cập nhật Danh sách nSLCk có thể được loại bỏ dựa trên các thuộc tính đã được khai báo Cuối cùng, BVCL_Extend() được gọi lại để tính các FCIs mới từ Ck+1, và hàm InsertIntoLattice() được sử dụng để liên kết tập đóng với bao đóng tối tiểu của nó trong Dàn.

Hàm InsertIntoLattice() được mô tả trong đoạn 2, dòng 2-10, nhằm tạo lập mối quan hệ cha-con trong cấu trúc Dàn Node được khởi tạo với tập phổ biến đóng C, sau đó hàm mineMinimalDSBV() sử dụng DSBV của C làm input Hàm này chạy vòng lặp qua tất cả các byte của DSBV từ dòng 17-37, xác định các cid từ các bit khác 0 ở dòng 22 và 23 Các DSBVs (temDS) được gán từ bảng mapDSBV (cids) ở dòng 24, và hàm compRange() được gọi để tính range của các byte giữa DS và temDS ở dòng 25 Những byte thuộc range của DS được cập nhật sau khi giao với not (bytes của temDS) ở dòng 26-31 Cuối cùng, mineMinimalDSBV() cập nhật DSBV của C (DS) chỉ chứa thông tin về minimal closed supersets Hàm FindFCS() ở dòng 5 thực hiện cập nhật DSBV của C (mDSBV) để tìm ra tập các cids của minimal closed supersets bằng cách tìm byte khác 0 của DSBV Vòng lặp for từ dòng 6-10 liên kết C với các si trong Dàn con, và hàm insertIntoLattice() được gọi cho mỗi tập đóng theo thứ tự depth first để xây dựng cấu trúc dàn các tập đóng.

Đoạn 1 từ dòng 55-58 đảm bảo việc truyền thông tin FCS giữa các tập đóng đã khai thác Vòng lặp for ở dòng 55-57 cập nhật các DSBV của mỗi wi của SLCk+1 thông qua hàm updateDSBV() Đoạn 3 từ dòng 33-49 mô tả chi tiết hàm updateDSBV(), hàm này nhận và xử lý các tham số cần thiết.

Hai DSBVs được sử dụng làm đầu vào, trong đó DSBV(DS1) được cập nhật bởi DSBV(DS2) Hàm compRange() được gọi để tính toán phạm vi của các byte bắt đầu từ cùng một vị trí của hai DSBVs Các byte của DS1 được cập nhật trong các dòng 38-41, trong khi các byte còn lại của DS2 được kết hợp vào DS1 như thể hiện ở các dòng 42-48 Cuối vòng lặp for, thuật toán BVCL kết thúc sau khi khai thác tất cả các FCI và thiết lập các mối quan hệ của chúng trong Dàn, được mô tả trong các dòng 4-8 của đoạn 1.

Cải tiến thuật toán gốc

Tập đóng và tập sinh (generator) có vai trò quan trọng trong việc khai thác tập phổ biến và tập luật kết hợp Luận văn này đề xuất một phương pháp để khai thác đồng thời tập sinh trong quá trình khai thác Dàn các tập phổ biến đã được trình bày trước đó.

Cho quan hệ hai ngôi δ  I  T chứa CSDL cần khai thác Đặt: X  I và Y  T Với

P ( S ) gồm tất cả các tập con của S Ta định nghĩa hai ánh xạ giữa P ( I ) và P ( T ) được gọi là kết nối Galois như sau: a t : P(I ) P(T), t(X ) = yT | x X, x y b i : P(T) P(I ), i(Y) = x I | y Y, x y

4.1.2 Định nghĩa toán tử đóng

 Ánh xạ (1): t(X) lấy tất cả tid của giao tác có chứa tập hạng mục X

 Ánh xạ (2): i(Y) lấy tất cả item tồn tại trong tất cả giao tác Y

4.1.3 Các tính chất của IT-pair

Kí hiệu itemset X và tập các giao dịch tương ứng với nó t(X) là: X x T (X ) và được gọi là IT-pair

Cho Xi x T (Xi) và Xj x T (Xj) là hai IT-pair.Ta có 4 tính chất sau:

1 Nếu T (Xi) = T (Xj) thì c (Xi) = c (Xj) = c (Xi U Xj)

2 Nếu T (Xi)  T (Xj) thì c (Xi) ≠ c (Xj) nhưng c (Xi) = c (Xi U Xj)

3 Nếu T (Xi)  T (Xj) thì c (Xi) ≠ c (Xj) nhưng c (Xj) = c (Xi U Xj)

T(Xi) ⊉ T(Xj) thì c (Xi) ≠ c (Xj) ≠ c (Xi U Xj)

Cho X là tập đóng Ta nói itemset X ' là một generator của X khi và chỉ khi:

Gọi G(X) là tập hợp các generator của X Một phần tử X’ ∈ G(X) được gọi là một mG nếu nó không có tập con nào trong G(X) Đặt G min (X) là tập hợp tất cả các mG của X Theo định nghĩa, G min (X) khác rỗng.

∅ vì nếu nó không có generator hoàn toàn thì chính X là mG

4.1.5 Một số nhận xét về mG

1 mG của 1-itemset là chính nó

2 Trong quá trình áp dụng thuật toán tìm tập phổ biến đóng, nếu thỏa tính chất 1 thì: mG (Xi U Xj) = mG (X i) + mG (X j)

3 Nếu thỏa tính chất 2 thì mG (Xi U Xj) = mG (X i)

4 Nếu thỏa tính chất 3 thì mG (Xi U Xj) = mG (X j)

5 Nếu thỏa tính chất 4 thì mG (Xi U Xj) = U [ mG (X i), mG (X j)]

{ if SL Ck+1 rỗng then

MG Ck+1 = ComputeMG(Ck,pI); else khởi tạo danh sách pMG làm input for each p in SL Ck+ 1 pMG < p

CreateMG_Ck1(Ck1,pMG); end

//pMG là con trỏ đến danh sách các phần tử làm Input cho việc tính

{ khởi tạo danh sách pExtend để gọi đệ qui for each pMG do

-khởi tạo phần tử Uni cho danh sách pExtend

-DBVUni = DBV pMGi ∩ DBV pMGj (với j > i)

-ItemsetUni = Itemsetp MGi U Itemset pMGj (với j > i)

-listMGUni = ComputeMG(pMGi,pMGj);(với j > i)

} if pExtend.size == 1 then listMG Ck1

Ngày đăng: 05/07/2022, 15:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Tahrima Hashem, Md.Rezaul Karim, Md.Samiullah, Chowdhury Farhan Ahmed.(2016) An efficient dynamic superset bit-vector approach for mining frequent closed itemsets and their lattice structure ”. Expert Systems With Applications 67 (2017) 252–271 Sách, tạp chí
Tiêu đề: [1] Tahrima Hashem, Md.Rezaul Karim, Md.Samiullah, Chowdhury Farhan Ahmed.(2016) An efficient dynamic superset bit-vector approach for mining frequent closed itemsets and their lattice structure ”. Expert Systems With Applications 67 (2017) 252–271
[2] Vo.B &amp; Le.B (2009). Fast algorithm for mining minimal generators of frequent closed itemsets and their applications. In Computers &amp; industrial engineering, 2009. CIE 2009. (pp. 1407–1411). IEEE Sách, tạp chí
Tiêu đề: Computers & industrial engineering, 2009. CIE 2009
Tác giả: Vo.B &amp; Le.B
Năm: 2009
[6] Vo.B, Hong.T, &amp; Le.B. (2012). DBV-Miner: A dynamic bit-vector approach for fast mining frequent closed itemsets. Expert Systems with Applications, 39, 7196–7206 Sách, tạp chí
Tiêu đề: Expert Systems with Applications, 39
Tác giả: Vo.B, Hong.T, &amp; Le.B
Năm: 2012
[7] Vo.B, Hong.T, &amp; Le.B. (2013). A lattice-based approach for mining most general-ization association rules. Knowledge Based Systems, 45, 20–30 Sách, tạp chí
Tiêu đề: Knowledge Based Systems, 45
Tác giả: Vo.B, Hong.T, &amp; Le.B
Năm: 2013
[8] Zaki, M. J., &amp; Hsiao, C. (2005). Efficient algorithms for mining closed itemsets and their lattice structure. IEEE Transactions on Knowledge and Data Engineering, 17, 462–478 Sách, tạp chí
Tiêu đề: IEEE Transactions on Knowledge and Data Engineering, 17
Tác giả: Zaki, M. J., &amp; Hsiao, C
Năm: 2005
[9] Zaki, M. J., &amp; Hsiao, C. (2002). CHARM: An efficient algorithm for closed itemset mining. In Proceedings of the second SIAM international conference on data mining, arlington, VA, USA, april 11–13, 2002 (pp. 457–473) Sách, tạp chí
Tiêu đề: Proceedings of the second SIAM international conference on data mining, arlington, VA, USA, april 11–13, 2002
Tác giả: Zaki, M. J., &amp; Hsiao, C
Năm: 2002
[10] Zaki, M. J., Parthasarathy, S., Ogihara, M., Li, W., et al. (1997). New algorithms for fast discovery of association rules. In KDD: vol. 97 (pp. 283–286) Sách, tạp chí
Tiêu đề: KDD: vol. 97
Tác giả: Zaki, M. J., Parthasarathy, S., Ogihara, M., Li, W., et al
Năm: 1997
[11] Han, J., Pei, J., Yin, Y., &amp; Mao, R. (2004). Mining frequent patterns without candi-date generation: A frequent-pattern tree approach. Data Mining and Knowledge Discovery, 8, 53–87 Sách, tạp chí
Tiêu đề: Data Mining and Knowledge Discovery, 8
Tác giả: Han, J., Pei, J., Yin, Y., &amp; Mao, R
Năm: 2004
[18] Zaki, M. J., &amp; Phoophakdee, B. (2003). MIRAGE: A framework for mining, explor-ing and visualizing minimal association rules. Technical report.Computer Sci-ence Dept., Rensselaer Polytechnic Inst Sách, tạp chí
Tiêu đề: Technical report
Tác giả: Zaki, M. J., &amp; Phoophakdee, B
Năm: 2003
[19] Agrawal, R., &amp; Srikant, R. (1994). Fast algorithms for mining association rules in large databases. In VLDB’94, proceedings of 20th international conference on very large data bases, September 12 – 15, 1994, santiago de chile, chile (pp.487–499) Sách, tạp chí
Tiêu đề: VLDB’94, proceedings of 20th international conference on very large data bases, September 12 – 15, 1994, santiago de chile, chile
Tác giả: Agrawal, R., &amp; Srikant, R
Năm: 1994
[20] Han, J., Pei, J., Yin, Y., &amp; Mao, R. (2004). Mining frequent patterns without candi-date generation: A frequent-pattern tree approach. Data Mining and Knowledge Discovery, 8, 53–87 Sách, tạp chí
Tiêu đề: Data Mining and Knowledge Discovery, 8
Tác giả: Han, J., Pei, J., Yin, Y., &amp; Mao, R
Năm: 2004
[21] Lucchese, C., Orlando, S., &amp; Perego, R. (2006). Fast and memory efficient mining of frequent closed itemsets. IEEE Transactions on Knowledge and Data Engineering, 18, 21–36 Sách, tạp chí
Tiêu đề: IEEE Transactions on Knowledge and Data Engineering, 18
Tác giả: Lucchese, C., Orlando, S., &amp; Perego, R
Năm: 2006
[23] Zaki, M. J. (2000). Scalable algorithms for association mining. IEEE Transactions on Knowledge and Data Engineering, 12, 372–390 Sách, tạp chí
Tiêu đề: IEEE Transactions on Knowledge and Data Engineering, 12
Tác giả: Zaki, M. J
Năm: 2000
[24] Dong, J., &amp; Han, M. (2007). BitTableFI: An efficient mining frequent itemsets algo-rithm. Knowledge Based Systems, 20, 329–335 Sách, tạp chí
Tiêu đề: Knowledge Based Systems, 20
Tác giả: Dong, J., &amp; Han, M
Năm: 2007
[25] Song, W., Yang, B., &amp; Xu, Z. (2008). Index-BitTableFI: An improved algorithm for mining frequent itemsets. Knowledge Based Systems, 21, 507–513 Sách, tạp chí
Tiêu đề: Knowledge Based Systems, 21
Tác giả: Song, W., Yang, B., &amp; Xu, Z
Năm: 2008
[26] Nori, F., Deypir, M., &amp; Sadreddini, M. H. (2013). A sliding window based algorithm for frequent closed itemset mining over data streams. Journal of Systems and Software, 86, 615–623 Sách, tạp chí
Tiêu đề: Journal of Systems and Software, 86
Tác giả: Nori, F., Deypir, M., &amp; Sadreddini, M. H
Năm: 2013
[27] Yen, S.-J., Lee, Y.-S., &amp; Wang, C.-K. (2014).An efficient algorithm for incrementally mining frequent closed itemsets. Applied intelligence, 40, 649–668 Sách, tạp chí
Tiêu đề: Applied intelligence, 40
Tác giả: Yen, S.-J., Lee, Y.-S., &amp; Wang, C.-K
Năm: 2014
[28] Le.B &amp; Vo.B (2015).An n-list-based algorithm for mining frequent closed patterns. Expert Systems with Applications, 42, 6648–6657 Sách, tạp chí
Tiêu đề: Expert Systems with Applications, 42
Tác giả: Le.B &amp; Vo.B
Năm: 2015
[29] Deng, Z., Wang, Z., &amp; Jiang, J. (2012). A new algorithm for fast mining frequent item-sets using n-lists. SCIENCE CHINA Information Sciences, 55, 2008–2030 Sách, tạp chí
Tiêu đề: SCIENCE CHINA Information Sciences, 55
Tác giả: Deng, Z., Wang, Z., &amp; Jiang, J
Năm: 2012
[3] Bay Vo, Tzung-Pei Hong, and Bac Le (30 October, 2011).Dynamic bit vectors: An efficient approach for mining frequent itemsets. Scientific Research and Essays Vol.6(25), pp.5358-5368 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN