Luận án tiến sĩ: Khai thác tập mục hữu ích cao trên tính toán song song

Trường ĐH

Trường Đại học Công nghiệp Thành phố Hồ Chí Minh

Chuyên ngành

Khoa học Máy tính

Tác giả

Ẩn danh

Thể loại

Luận án tiến sĩ

Năm xuất bản

Số trang

161

Thời gian đọc

25 phút

Lượt xem

0

Lượt tải

0

Phí lưu trữ

50 Point

Tóm tắt nội dung

I. Khai Thác Tập Mục Hữu Ích Cao Là Gì

Khai thác tập mục hữu ích cao (High Utility Itemset Mining - HUIM) là bài toán quan trọng trong data mining. Mục tiêu là tìm kiếm các tập mục mang lại độ hữu ích vượt ngưỡng cho trước. Khác với khai thác tập phổ biến truyền thống, HUIM xem xét giá trị thực tế của mỗi hạng mục. Mỗi hạng mục trong giao dịch có hai giá trị quan trọng: số lượng và đơn giá. Tích của hai đại lượng này biểu thị độ hữu ích - tầm quan trọng thực sự của hạng mục. Phương pháp này phản ánh chính xác hơn giá trị kinh doanh trong thực tế. Các doanh nghiệp có thể xác định sản phẩm nào mang lại lợi nhuận cao nhất. HUIM vượt trội hơn phương pháp đếm tần suất đơn thuần. Bài toán này đã thu hút nhiều nghiên cứu với các thuật toán tối ưu như FHM algorithm và HUI-Miner. Các kỹ thuật này giảm không gian tìm kiếm thông qua chiến lược tỉa ứng viên thông minh.

1.1. Định Nghĩa Độ Hữu Ích Trong HUIM

Độ hữu ích được tính bằng tích của số lượng và đơn giá hạng mục. Công thức này áp dụng cho từng hạng mục trong giao dịch. Tổng độ hữu ích của tập mục là tổng độ hữu ích các thành phần. Ngưỡng tối thiểu được thiết lập để lọc kết quả. Chỉ các tập mục vượt ngưỡng này được coi là hữu ích cao. Phương pháp này cho phép đánh giá chính xác giá trị thực tế.

1.2. Ứng Dụng Thực Tế Của HUIM

HUIM được ứng dụng rộng rãi trong phân tích giỏ hàng bán lẻ. Doanh nghiệp xác định được các combo sản phẩm sinh lời cao. Ngành tài chính sử dụng HUIM để phát hiện giao dịch có giá trị. Y tế áp dụng khai thác tập mục hữu ích trong phân tích điều trị. Marketing tận dụng HUIM để tối ưu chiến lược khuyến mãi. Các ứng dụng này đều yêu cầu xử lý dữ liệu lớn với tốc độ cao.

1.3. Thách Thức Trong Khai Thác HUIM

Không gian tìm kiếm của HUIM rất lớn và phức tạp. Tính chất downward closure không áp dụng như tập phổ biến. Tập con của tập hữu ích cao có thể không hữu ích cao. Điều này làm tăng độ phức tạp tính toán đáng kể. Chi phí quét cơ sở dữ liệu nhiều lần rất tốn kém. Yêu cầu bộ nhớ lớn để lưu trữ cấu trúc dữ liệu trung gian. Các thách thức này đòi hỏi giải pháp tối ưu và song song hóa.

II. Tính Toán Song Song Trong Khai Thác Dữ Liệu

Tính toán song song (parallel computing) là giải pháp then chốt cho bài toán HUIM quy mô lớn. Vi xử lý đa nhân ngày càng phổ biến với chi phí hợp lý. Distributed computing cho phép xử lý dữ liệu trên nhiều máy chủ. MapReduce và Spark là các framework phổ biến cho data mining song song. Hadoop cung cấp hệ sinh thái hoàn chỉnh cho xử lý dữ liệu phân tán. Tận dụng sức mạnh xử lý song song giúp giảm thời gian khai thác đáng kể. Các CPU đa nhân hiện đại có khả năng xử lý nhiều luồng đồng thời. Mô hình song song hóa cần được thiết kế cẩn thận để tránh xung đột dữ liệu. Chiến lược phân chia công việc ảnh hưởng trực tiếp đến hiệu năng. Cân bằng tải giữa các luồng xử lý là yếu tố quan trọng. Đồng bộ hóa dữ liệu giữa các tiến trình cần được tối ưu. Overhead của việc tạo và quản lý luồng phải được kiểm soát.

2.1. Kiến Trúc CPU Đa Nhân Cho HUIM

CPU đa nhân cho phép thực thi nhiều tác vụ song song. Mỗi nhân xử lý một phần không gian tìm kiếm độc lập. Bộ nhớ cache được chia sẻ giữa các nhân tăng tốc truy xuất. Luồng xử lý được phân bổ tự động bởi hệ điều hành. Mô hình shared memory giúp đồng bộ dữ liệu hiệu quả. Kỹ thuật này phù hợp với CSDL vừa và nhỏ trên một máy chủ.

2.2. Framework MapReduce Cho Data Mining

MapReduce chia nhỏ công việc thành giai đoạn Map và Reduce. Giai đoạn Map xử lý song song các phân vùng dữ liệu. Kết quả trung gian được shuffle và sắp xếp theo key. Giai đoạn Reduce tổng hợp kết quả từ các mapper. Framework này xử lý tốt dữ liệu quy mô lớn trên cluster. Hadoop triển khai MapReduce với khả năng chịu lỗi cao.

2.3. Apache Spark Trong HUIM Song Song

Spark cung cấp xử lý in-memory nhanh hơn MapReduce. RDD (Resilient Distributed Datasets) là cấu trúc dữ liệu cốt lõi. Các phép biến đổi trên RDD được thực thi song song. Spark hỗ trợ caching dữ liệu giữa các iteration. MLlib cung cấp thư viện data mining tối ưu. Spark thích hợp cho thuật toán HUIM lặp nhiều lần.

III. Thuật Toán HUIM Với Độ Hữu Ích Động

Độ hữu ích động phản ánh thực tế kinh doanh chính xác hơn. Giá trị hạng mục thay đổi theo thời gian và ngữ cảnh. Mô hình độ hữu ích động kết hợp với chiến lược quét CSDL tối ưu. Giải thuật iEFIM-Closed được đề xuất cho khai thác tập đóng. Tập mục hữu ích cao đóng giảm số lượng kết quả mà không mất thông tin. Phương pháp này giảm chi phí quét CSDL đáng kể. Cấu trúc dữ liệu utility-list được tối ưu cho tính toán nhanh. Chiến lược tỉa dựa trên upper-bound loại bỏ ứng viên sớm. Kỹ thuật projection giúp thu hẹp không gian tìm kiếm hiệu quả. Transaction merging giảm kích thước CSDL trong quá trình khai thác. Thuật toán áp dụng depth-first search để tiết kiệm bộ nhớ. Độ phức tạp được cải thiện qua các cấu trúc dữ liệu thông minh.

3.1. Mô Hình Độ Hữu Ích Động

Độ hữu ích động cho phép giá trị hạng mục thay đổi theo giao dịch. Mỗi giao dịch có bảng giá riêng cho các hạng mục. Mô hình này phản ánh khuyến mãi, giảm giá theo thời điểm. Tính toán độ hữu ích phức tạp hơn mô hình tĩnh. Cấu trúc lưu trữ cần được thiết kế để truy xuất nhanh. Phương pháp này tăng tính thực tế của kết quả khai thác.

3.2. Giải Thuật iEFIM Closed

iEFIM-Closed mở rộng EFIM cho khai thác tập đóng. Tập đóng là tập không có tập cha nào có cùng độ hữu ích. Số lượng tập đóng nhỏ hơn nhiều so với tất cả tập hữu ích cao. Thuật toán sử dụng cấu trúc utility-bin-array cho tính toán nhanh. Chiến lược merge transaction giảm kích thước CSDL hiệu quả. Kết quả thu được ngắn gọn nhưng đầy đủ thông tin.

3.3. Tối Ưu Chi Phí Quét CSDL

Quét CSDL nhiều lần là chi phí lớn nhất trong HUIM. Phương pháp projection tạo CSDL con cho mỗi nhánh tìm kiếm. Utility-list lưu trữ thông tin cần thiết để tính độ hữu ích. Kỹ thuật này cho phép tính toán mà không cần quét lại CSDL. Transaction-weighted utilization làm upper-bound cho tỉa sớm. Các tối ưu này giảm đáng kể thời gian thực thi.

IV. Khai Thác HUIM Trên CSDL Phân Cấp Song Song

Cơ sở dữ liệu phân cấp chứa các hạng mục có quan hệ cha-con. Taxonomy tree biểu diễn cấu trúc phân cấp này. Khai thác đa mức cho phép tìm pattern ở nhiều độ trừu tượng. Mô hình xử lý song song đa nhân được áp dụng cho bài toán này. CPU đa nhân được tận dụng để xử lý các nhánh tìm kiếm song song. Chiến lược phân chia công việc dựa trên cây không gian tìm kiếm. Mỗi luồng xử lý một tập các tiền tố độc lập. Cấu trúc dữ liệu shared memory cho phép chia sẻ kết quả. Load balancing được thực hiện thông qua work-stealing. Các luồng nhàn rỗi lấy công việc từ luồng bận. Synchronization overhead được giảm thiểu qua thiết kế cẩn thận. Thực nghiệm cho thấy cải thiện rõ rệt về thời gian khai thác. Hiệu năng tăng gần tuyến tính với số lượng nhân CPU.

4.1. Cấu Trúc CSDL Phân Cấp

CSDL phân cấp tổ chức hạng mục theo taxonomy tree. Hạng mục mức thấp là con của hạng mục mức cao. Ví dụ: Dell Laptop là con của Laptop, là con của Electronics. Mỗi mức phân cấp cung cấp góc nhìn khác về dữ liệu. Khai thác đa mức tìm pattern ở tất cả các mức. Cấu trúc này phổ biến trong bán lẻ và phân loại sản phẩm.

4.2. Mô Hình Song Song Đa Nhân

Không gian tìm kiếm được phân chia thành các phân vùng độc lập. Mỗi luồng xử lý một phân vùng trên một nhân CPU. Thread pool quản lý tập luồng worker hiệu quả. Task queue lưu trữ các công việc chờ xử lý. Kết quả từ các luồng được merge trong giai đoạn cuối. Mô hình này tận dụng tối đa sức mạnh CPU đa nhân.

4.3. Chiến Lược Cân Bằng Tải

Work-stealing cho phép luồng nhàn lấy việc từ luồng bận. Mỗi luồng có hàng đợi công việc riêng (deque). Luồng lấy công việc từ đầu deque của mình. Luồng khác steal từ cuối deque khi hết việc. Kỹ thuật này giảm contention và tăng throughput. Cân bằng tải động cải thiện hiệu suất tổng thể.

V. Song Song Hóa Đa Giai Đoạn Trong HUIM

Song song hóa đa giai đoạn tận dụng triệt để CPU đa nhân. Mô hình này áp dụng song song trên nhiều pha của quá trình khai thác. Giai đoạn quét CSDL được song song hóa để tính toán TWU. Giai đoạn xây dựng utility-list cũng được xử lý song song. Giai đoạn tìm kiếm không gian pattern sử dụng parallel depth-first search. Chiến lược điều phối được đề xuất để giảm thời gian chờ. Task scheduling thông minh phân bổ công việc đều giữa các luồng. Pipeline processing cho phép các giai đoạn chạy đồng thời. Producer-consumer pattern được áp dụng giữa các giai đoạn. Buffer được sử dụng để lưu trữ kết quả trung gian. Synchronization chỉ xảy ra khi cần thiết để giảm overhead. Mô hình này đặc biệt hiệu quả với CSDL kích thước lớn. Tốc độ tăng đáng kể so với phương pháp tuần tự và song song đơn giai đoạn.

5.1. Song Song Hóa Giai Đoạn Quét CSDL

CSDL được chia thành các phân vùng cho các luồng xử lý. Mỗi luồng quét phân vùng của mình để tính TWU cục bộ. Kết quả cục bộ được merge để có TWU toàn cục. Phân vùng dữ liệu cần cân bằng để tránh luồng nhàn rỗi. Lock-free data structure giảm contention khi merge. Giai đoạn này giảm thời gian quét đáng kể.

5.2. Xây Dựng Utility List Song Song

Utility-list của các hạng mục được xây dựng đồng thời. Mỗi luồng xử lý một tập hạng mục riêng biệt. Concurrent hash map lưu trữ utility-list an toàn. Memory allocation được tối ưu để giảm fragmentation. Parallel construction giảm thời gian chuẩn bị dữ liệu. Cấu trúc này sẵn sàng cho giai đoạn tìm kiếm.

5.3. Chiến Lược Điều Phối Thông Minh

Task scheduler ưu tiên công việc có chi phí lớn trước. Công việc nhỏ được gom lại để giảm overhead tạo luồng. Heuristic dựa trên kích thước projected database. Luồng được gán công việc dựa trên tải hiện tại. Adaptive scheduling điều chỉnh theo runtime statistics. Chiến lược này giảm thiểu thời gian chờ và tăng throughput.

VI. Đánh Giá Hiệu Năng Và Kết Quả Thực Nghiệm

Thực nghiệm được tiến hành trên nhiều CSDL chuẩn và thực tế. Các tiêu chí đánh giá bao gồm thời gian thực hiện, bộ nhớ và khả năng mở rộng. Thời gian chạy giảm đáng kể với mô hình song song đa giai đoạn. Speedup tăng gần tuyến tính với số lượng nhân CPU. Hiệu quả đặc biệt rõ rệt trên CSDL kích thước lớn. Mức tiêu thụ bộ nhớ được kiểm soát tốt nhờ thiết kế cẩn thận. Shared memory giúp giảm duplicate data giữa các luồng. Scalability được kiểm chứng qua thử nghiệm với số nhân khác nhau. Kết quả cho thấy mô hình scale tốt từ 4 đến 16 nhân. So sánh với các thuật toán không song song cho thấy ưu việt rõ ràng. Các thuật toán như FHM algorithm và HUI-Miner được dùng làm baseline. Mô hình đề xuất vượt trội cả về thời gian và khả năng xử lý dữ liệu lớn.

6.1. Tiêu Chí Thời Gian Thực Hiện

Thời gian chạy là tiêu chí quan trọng nhất đánh giá hiệu năng. Mô hình song song giảm 60-80% thời gian so với tuần tự. Speedup đạt 3.5x với 4 nhân, 7.2x với 8 nhân. Hiệu quả song song giảm dần do overhead và synchronization. CSDL lớn hơn cho speedup tốt hơn do amortize overhead. Kết quả này chứng minh hiệu quả của song song hóa.

6.2. Phân Tích Mức Tiêu Thụ Bộ Nhớ

Bộ nhớ tăng tỷ lệ thuận với số luồng song song. Shared data structure giúp kiểm soát memory overhead. Peak memory chỉ tăng 20-30% so với phiên bản tuần tự. Garbage collection được tối ưu để giảm pause time. Memory pool technique tái sử dụng allocation hiệu quả. Trade-off giữa thời gian và bộ nhớ được cân bằng tốt.

6.3. Khả Năng Mở Rộng Scalability

Scalability đo khả năng tăng hiệu năng khi thêm tài nguyên. Strong scaling test với CSDL cố định, tăng số nhân. Weak scaling test với tăng cả CSDL và số nhân cùng tỷ lệ. Kết quả cho thấy strong scaling tốt đến 8-12 nhân. Weak scaling duy trì hiệu năng ổn định khi tăng quy mô. Mô hình phù hợp cho triển khai trên hệ thống lớn.

Xem trước tài liệu
Tải đầy đủ để xem toàn bộ nội dung
Khai thác các tập hữu ích cao trên môi trường tính toán song song

Tải xuống file đầy đủ để xem toàn bộ nội dung

Tải đầy đủ (161 trang)

Từ khóa và chủ đề nghiên cứu


Câu hỏi thường gặp

Luận án liên quan

Chia sẻ tài liệu: Facebook Twitter