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

Khai thác k mẫu tuần tự phổ biến dựa trên roaring bitmap

76 17 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

Định dạng
Số trang 76
Dung lượng 2,18 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM LÊ HỮU NHƠN KHAI THÁC K-MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP LUẬN VĂN THẠC SĨ Chuyên ngành: Công Nghệ Thông Tin Mã ngành: 60480201 TP HỒ CHÍ MINH, tháng 04 năm 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM LÊ HỮU NHƠN KHAI THÁC K-MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP LUẬN VĂN THẠC SĨ Chuyên ngành: Công Nghệ Thông Tin Mã ngành: 60480201 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS TS LÊ HOÀI BẮC TP HỒ CHÍ MINH, tháng 04 năm 2015 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HCM Cán hướng dẫn khoa học: PGS TS LÊ HOÀI BẮC Luận văn Thạc sĩ bảo vệ Trường Đại học Công nghệ TP HCM (HUTECH) ngày 11 tháng 04 năm 2015 Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm: TT Họ Tên Chức danh Hội đồng PGS TS Lê Trọng Vĩnh Chủ tịch GS TSKH Hoàng Văn Kiếm Phản biện TS Võ Đình Bảy Phản biện PGS TS Đỗ Phúc Ủy viên TS Nguyễn Văn Mùi Ủy viên, Thư ký Xác nhận Chủ tịch Hội đồng đánh giá Luận văn sau Luận văn sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá LV TRƯỜNG ĐH CƠNG NGHỆ TP HCM CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG QLKH – ĐTSĐH Độc lập – Tự – Hạnh phúc TP HCM, ngày … tháng… năm 2015 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : Lê Hữu Nhơn Giới tính : Nam Ngày, tháng, năm sinh : 08 – 08 – 1974 Nơi sinh : Sài Gòn Chuyên ngành : Công Nghệ Thông Tin MSHV : 1341860015 I- Tên đề tài: KHAI THÁC K MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP II- Nhiệm vụ nội dung: - Nghiên cứu lĩnh vực khám phá tri thức khai thác mẫu CSDL chuỗi - Nghiên cứu triển khai thuật toán khai thác k mẫu phổ biến TKS - Nghiên cứu triển khai phương pháp nén chuỗi bit Roaring bitmap - Áp dụng Roaring bitmap vào để cải tiến thuật toán TKS III- Ngày giao nhiệm vụ: 18 – 08 – 2014 IV- Ngày hoàn thành nhiệm vụ: 14 – 03 – 2015 V- Cán hướng dẫn: Phó Giáo Sư Tiến Sĩ Lê Hoài Bắc CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) (Họ tên chữ ký) i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực Luận văn trích dẫn hay tài liệu học thuật tham khảo cảm ơn đến tác giả thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn ii LỜI CÁM ƠN Trước hết, cho gửi lời cảm ơn đến hướng dẫn giúp đỡ tận tình PGS.TS Lê Hồi Bắc Xin cảm ơn TS Cao Tùng Anh bạn Trương Quốc Dũng, Châu Nguyễn Nhật Thanh sát cánh cung cấp cho tơi kiến thức q báu suốt thời gian học tập nghiên cứu thực luận văn Tôi xin gởi lời cảm ơn đến gia đình, bạn bè người thân ln quan tâm giúp đỡ suốt thời gian học tập nghiên cứu hoàn thành luận văn Luận văn khơng thể tránh khỏi sai sót, mong nhận ý kiến đóng góp người cho luận văn hồn thiện Tơi xin chân thành cảm ơn TP Hồ Chí Minh, tháng 04 năm 2015 LÊ HỮU NHƠN iii TÓM TẮT Khai thác mẫu phần quan trọng khai thác liệu với ứng dụng rộng rãi Tuy nhiên, việc tinh chỉnh thơng số minsup thuật tốn khai thác mẫu để tạo đủ số mẫu mong muốn khó khăn tốn thời gian Để giải vấn đề này, người ta đề xuất xác định lại vấn đề khai thác mẫu khai thác k mẫu phổ biến, với k số mẫu tìm (được trả về) thiết lập người dùng Thuật toán tốt để giả vấn đề TKS (Top-K Sequential pattern mining) [15] Tuy nhiên, thuật toán sử dụng bit vector có kích thước cố định cho item CSDL chuỗi (có chiều dài tổng số itemset CSDL), sử dụng nhiều nhớ để lưu trữ tiêu tốn nhiều thời gian để thực thi phép giao bit vector Để cải tiến thuật toán, luận văn đề xuất sử dụng Roaring bitmap [16] thay cho bit vector có kích thước cố định TKS nhằm mục đích làm giảm nhớ sử dụng giảm thời gian thực thi phép giao bit vector Kết thực nghiệm cho thấy thuật tốn cải tiến có chi phí vượt trội thời gian thực thi hiệu sử dụng nhớ so với thuật toán TKS gốc, đặc biệt sở liệu lớn iv ABSTRACT Sequential pattern mining is a important part of data minning with wide applications However, fine-tuning the minsup parameter of sequential pattern mining algorithms to generate enough patterns is difficult and time-consuming To address this problem, it was proposed to redefine the problem of mining sequential patterns as the problem of mining the top-k sequential patterns, where k is the number of sequential patterns to be found and is set by the user The current best algorithm for this problem is TKS (Top-K Sequential pattern mining) [15] However, this algorithm uses a fixed size bit vector for each item in sequence database (its length is equal to total number of itemsets in the database), so it uses much memory to store and spend much time to compute bit vector intersections To improve the performance of the algorithm, this paper proposes to use Roaring bitmap [16] to replace fixed size bit vectors in TKS in order to use less memory and reduce the execution time of bit vector intersections The experimental result show that the improved algorithm outperforms original TKS algorithm by more than an order of magnitude in execution time and memory, especially on large database v MỤC LỤC TÓM TẮT iii ABSTRACT .iv DANH MỤC CÁC TỪ VIẾT TẮT vii DANH MỤC CÁC BẢNG viii DANH MỤC CÁC HÌNH ix CHƯƠNG MỞ ĐẦU .1 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN 1.3 MỤC ĐÍCH CỦA ĐỀ TÀI 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU .3 1.5 PHƯƠNG PHÁP NGHIÊN CỨU CHƯƠNG TỔNG QUAN VỀ KHAI THÁC MẪU TUẦN TỰ .4 2.1 GIỚI THIỆU 2.2 PHÁT BIỂU BÀI TOÁN VÀ KÝ HIỆU .5 2.3 CÁC THUẬT TOÁN KHAI THÁC MẪU TUẦN TỰ 2.3.1 Các thuật toán dựa Apriori 2.3.2 Các kỹ thuật phát triển mẫu 11 2.3.3 Các kỹ thuật loại trừ sớm 20 2.3.4 Các thuật toán lai .25 2.4 CÁC ỨNG DỤNG CỦA KHAI THÁC MẪU TUẦN TỰ 30 CHƯƠNG KHAI THÁC K MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP 33 3.1 GIỚI THIỆU .33 vi 3.2 THUẬT TOÁN TKS (Top-K Sequential pattern mining) 34 3.2.1 Cơ sở liệu bitmap dọc (vertical bitmap database) 34 3.2.2 Thủ tục tạo ứng viên SPAM Search 34 3.2.3 Các chiến lược tăng hiệu khai thác liệu 37 3.2.4 Nhận xét 43 3.3 ROARING BITMAP 43 3.3.1 Giới thiệu 43 3.3.2 Mô tả Roaring bitmap 44 3.4 ÁP DỤNG ROARING BITMAP VÀO THUẬT TOÁN TKS 52 CHƯƠNG THỰC NGHIỆM – ĐÁNH GIÁ KẾT QUẢ .55 4.1 BỘ DỮ LIỆU 56 4.2 ĐÁNH GIÁ THỰC NGHIỆM .56 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59 5.1 KẾT LUẬN 59 5.2 HƯỚNG PHÁT TRIỂN .60 48 thực thi 1024 phép OR ghi kết vào container bitmap (thuật toán 1) Số phần tử tính tốn cách hiệu Java phương thức Long.bitCount input: bitmap A,B lập mục mảng chứa 1024 số nguyên 64 bit output: bitmap C kết phép giao A với B số phần tử c c  Lập mục cho C mảng chứa 1024 số nguyên 64 bit for i  {1, 2, …, 1024} Ci  Ai OR Bi c  c + bitCount(Ci) return C c Hình 3.11 Thuật tốn - Thủ tục tính phép giao hai container bitmap Việc tính tốn phép hội tính số phần tử kết chậm so với việc tính tốn phép hội đơn Tuy nhiên, có bốn yếu tố để giảm nhẹ vấn đề tiềm tàng là:  Các xử lý thơng dụng (Intel, AMD, ARM) có thị để tính tốn nhanh số bit từ Chỉ thị popcnt Intel AMD có thơng lượng cao phép tốn chu kỳ CPU  Các Java gần dịch lời gọi tới phương thức Long.bitCount thành thị đếm bit nhanh  Các xử lý thơng dụng thực thi vài phép tốn lúc Vì vậy, nhận thành phần liệu phép giao chúng tính tốn lưu vào nhớ Bộ xử lý áp dụng thị popcnt kết cuối tăng biến đếm phần tử phù hợp  Đối với phép toán xử lý liệu không tốn kém, xử lý khơng chạy hết cơng suất liệu nhớ cache Để tính tốn phép giao, tính số phần tử kết quả, sử dụng thị AND 1024 bit Nếu số phần tử lớn 4096, xử lý với phép giao, ghi kết phép toán AND vào container bitmap 49 Ngược lại, tạo container mảng trích vị trí bit từ phép tốn AND, sử dụng thuật toán (xem thuật toán 3) input: số nguyên w output: mảng S chứa mục bitCount: trả trọng lượng Hamming số nguyên Đặt S danh sách khởi tạo rỗng while w  t  w AND  w Thêm bitCount(t  1) vào S w  w AND (w  1) return S Hình 3.12 Thuật tốn - Thuật toán tối ưu để chuyển đổi vị trí bit bitmap thành danh sách số nguyên input:2 bitmap A,B lập mục mảng chứa 1024 số nguyên 64 bit output: bitmap C kết phép giao A với B, số phần tử c c > 4096, ngược lại C mảng số nguyên bitCount: trả trọng lượng Hamming số nguyên c  for i  {1, 2, …, 1024} c  c + bitCount(Ai AND Bi) if c > 4096 then Lập mục cho C mảng chứa 1024 số nguyên 64 bit for i  {1, 2, …, 1024} 10 Ci  Ai AND Bi 11 return C c 12 else 13 Đặt D mảng số nguyên khởi tạo rỗng 14 15 16 for i  {1, 2, …, 1024} Thêm vị trí bit Ai AND Bi vào D sử dụng thuật tốn return D Hình 3.13 Thuật tốn – Thủ tục tính tốn phép giao hai container bitmap Bitmap với Array: Khi hai container bitmap 50 mảng động xếp phép giao tính toán nhanh: lặp qua mảng động xếp kiểm tra tồn số nguyên 16 bit container bitmap Kết ghi vào container mảng Các phép hội hiệu quả: tạo bitmap lặp qua toàn mảng thiết lập bit tương ứng Array với Array: Đối với phép hội, tổng số phần tử mảng không 4096, sử dụng thuật toán hợp hai mảng Ngược lại, thiết lập bit tương ứng hai mảng vào container bitmap Sau đó, tính tốn số phần tử sử dụng thị đếm bit nhanh Nếu số phần tử không 4096, chuyển container bitmap thành container mảng (thuật toán 2) Đối với phép giao, sử dụng hợp đơn giản (giống thực merge sort) hai mảng có số phần tử có khác biệt thừa số 64 Ngược lại, sử dụng phép giao galloping Kết luôn ghi vào container mảng Galloping hoàn hảo cho hợp đơn giản mảng r nhỏ nhiều so với mảng f lại bỏ qua nhiều phép so sánh Bắt đầu từ đầu hai mảng, chọn số nguyên có sẵn ri từ mảng r nhỏ tìm số ngun có độ lớn tối thiểu fj mảng f lớn, tìm kiếm giá trị tiếp theo, sau tìm giá trị xa gấp đôi, tiếp tục Sau đó, sử dụng tìm kiếm nhị phân danh sách thứ hai với giá trị đầu lớn ri Chúng ta thực số phép toán chỗ (in place) chúng nhanh tránh việc cấp phát khởi tạo vùng nhớ  Khi tính tốn phép hội hai container bitmap, thay đổi hai container bitmap thay tạo container bitmap Với phép giao tương tự, thay đổi hai container bitmap số phần tử kết vượt 4096  Khi tính tốn phép hội container mảng container bitmap, ghi kết vào container bitmap cách lặp qua giá trị container mảng thiết lập bit tương ứng container bitmap 51 Chúng ta cập nhật số phần tử lần cách kiểm tra giá trị từ có bị thay đổi hay khơng Khi kết hợp nhiều bitmap, sử dụng phương pháp tối ưu hóa khác Ví dụ, tính tốn phép hội nhiều bitmap (ví dụ, hàng trăm), xác định vị trí tất container có khóa (sử dụng hàng đợi ưu tiên) Nếu container container bitmap, chép container bitmap (nếu cần thiết) tính tốn phép hội container với tất container tương ứng chỗ Trong trường hợp này, việc tính tốn số phần tử thực lần vào cuối (thuật toán 4) input: tập R Roaring bitmap xem tập container; container có số phần tử khóa 16 bit output: Roaring bitmap T kết phép hội Đặt T Roaring bitmap khởi tạo rỗng Đặt P min-heap container bitmap R, cấu hình để xếp container theo khóa 16 bit chúng while P   Đặt x phần tử gốc P Loại bỏ khỏi min-heap P tất phần tử có khóa x, gọi kết Q Sắp xếp Q giảm dần theo số phần tử; Q1 có số phần tử lớn Sao chép Q1 gọi kết A container A container mảng container bitmap 10 11 for i  {2, …, |Q|} if A container bitmap then Tính tốn chỗ phép hội A với Qi: A  A OR Qi Khơng tính lại số phần tử A: tính tốn phép hội bit 12 13 14 else Tính phép hội container mảng A với container mảng Qi: A  A OR Qi Nếu A có số phần tử vướt 4096 trở thành container bitmap Nếu A container bitmap, cập nhật A cách tính số phần tử 15 Thêm A vào Roaring bitmap T 16 return T Hình 3.14 Thuật tốn – Thuật tốn tối ưu để tính tốn phép hội nhiều Roaring bitmap 52 3.4 ÁP DỤNG ROARING BITMAP VÀO THUẬT TOÁN TKS Để áp dụng Roaring bitmap vào thuật toán TKS thay cho bit vector tĩnh cần thay đổi cấu trúc liệu để lưu bitmap thay phương thức sử dụng cho bit vector tĩnh phương thức dùng cho Roaring bitmap thủ tục có liên quan thủ tục thiết lập bit cho bitmap, thủ tục tạo bitmap cho bước s-extension i-extension  Cấu trúc liệu lưu bitmap: Khai báo cấu trúc liệu để lưu đối tượng bitmap bao gồm:  Khai báo bitmap sử dụng Roaring bitmap Để tính độ hỗ trợ hiệu hơn, cần lưu thêm thông tin sau:  Khai báo số nguyên lastSID lưu sid chuỗi cuối chứa bit thêm vào bitmap với giá trị khởi đầu -1  Khai báo số nguyên support lưu độ hỗ trợ bitmap với giá trị khởi đầu Chúng ta lưu sid chuỗi cuối chứa bit thêm vào bitmap nhằm giúp tính độ hỗ trợ bitmap, có nhiều bit chuỗi (cùng lastSID) độ hỗ trợ tính Ngồi ra, việc lưu độ hỗ trợ bitmap giúp truy cập nhanh tính tốn lúc tạo hay cập nhật bitmap  Thủ tục thiết lập bit cho bitmap: Đầu vào: sid, tid tương ứng với bit cần thiết lập danh sách sequenceSize cho biết vị trí bắt đầu chuỗi bitmap Với tid vị trí itemset chứa item tương ứng với bit cần thiết lập chuỗi sid Thủ tục tính tốn vị trí bit cần thiết lập bitmap cách lấy giá trị tương ứng với sid sequenceSize cộng với tid gọi phương thức thiết lập bit Roaring bimap vị trí Sau đó, cập nhật hỗ trợ bitmap lưu sid chuỗi cuối chứa bit vừa thêm vào bitmap 53  Thủ tục tạo bitmap cho bước i-extension: Đầu vào: bitmapItem: bitmap item thêm vào mẫu i-extension sequenceSize: danh sách chứa vị trí bắt đầu chuỗi bitmap Đầu ra: newBitmap kết bước i-extension this.bitmap bitmapItem Thủ tục thực vòng lặp qua tất vị trí bit this.bitmap kiểm tra diện bit bitmapItem vị trí Nếu hai có vị trí bit giống newBitmap thiết lập bit vị trí đồng thời cập nhật lại độ hỗ trợ lưu sid chuỗi cuối chứa bit vừa thêm vào bitmap Cách làm có ưu điểm cần vịng lặp, tạo newBitmap với độ hỗ trợ dùng phép tốn AND phải duyệt lại newBitmap để tính độ hỗ trợ  Thủ tục tạo bitmap cho bước s-extension: Đầu vào: bitmapItem: bitmap item thêm vào mẫu s-extension sequenceSize: danh sách chứa vị trí bắt đầu chuỗi bitmap lastBitIndex: bit cuối bitmap Đầu ra: newBitmap kết bước s-extension this.bitmap bitmapItem Thủ tục thực bước s-extension ngắn gọn mơ tả hình 3.3 nhằm tăng tốc độ xử lý thuật toán Cách thực mô tả sau: dùng vòng lặp cho this.bitmap bitmapItem Ở vòng lặp thứ nhất, vị trí 0, ta tìm vị trí x bit this.bitmap lấy vị trí bit cuối chuỗi chứa bit này, giả sử a – Ở vòng lặp thứ 2, ta bắt đầu tìm bit bitmapItem từ vị trí x + đến a – Nếu tìm thấy bit vùng bitmapItem, ta thiết lập bit vị trí tương ứng cho newbitmap Sau đó, cập nhật độ hỗ trợ cho newBitmap lưu sid chuỗi cuối chứa bit vừa 54 thêm vào bitmap Quay vòng lặp thứ nhất, ta bắt đầu lại q trình từ vị trí a tiếp tục đến cuối hai bitmap dừng Ưu điểm cách làm biến đổi this.bitmap trước thực phép AND Tuy sử dụng vòng lặp không duyệt hết tất giá trị mà vịng lặp duyệt số đoạn khơng trùng lắp với vịng lặp Do đó, giảm thời gian xử lý Hình 3.15 Mơ tả cách thực bước s-extension ngắn gọn 55 CHƯƠNG THỰC NGHIỆM – ĐÁNH GIÁ KẾT QUẢ Để đo tính hiệu thuật toán TKS TKS cải tiến, thí nghiệm thực liệu chuẩn lấy từ địa http:// http://www.philippe-fournier-viger.com/spmf/index.php?link=datasets.php Máy tính: Dell XPS L321X xử lý Core i5-2467M 1.6 GHz GB nhớ chính, chạy hệ điều hành Windows Ultimate 64 bit, ngôn ngữ lập trình Java Hình 4.1 Giao diện chương trình Choose an algorithm: chọn thuật toán TKS gốc hay thuật toán TKS cải tiến Choose input file: Chọn file CSDL chuyển dạng *.txt Set output file: Chọn file lưu kết thuật toán Choose k: Chọn số mẫu trả kết thuật toán Open output file when the algorithm terminates: Mở file chứa kết thuật toán thực xong Run algorithm: Thi hành thuật toán chọn 56 Khi thực xong, thuật tốn hiển thị thơng số đo số mẫu tìm được, thời gian tiền xử lý, tổng nhớ sử dụng, tổng thời gian thực hiện,… textbox nút Run algorithm 4.1 BỘ DỮ LIỆU Bảng 4.1 Liệt kê đặc tính liệu thực nghiệm Dataset Sequence count distinct item count avg seq length (items) type of data Leviathan 5834 9025 33.81 book Bible 36369 13905 21.64 book Sign 730 267 51.99 sign language utterances FIFA 20450 2990 34.74 web click stream Kosarak 990002 41270 8.1 web click stream BmsWebView1 59601 497 2.42 web click stream 4.2 ĐÁNH GIÁ THỰC NGHIỆM Các mẫu thực nghiệm lấy cách chạy thuật toán lần ứng với k lấy giá trị trung bình kết Bảng 4.2 Kết qủa thực nghiệm ứng với k = 1000, 2000 3000 Dataset Leviathan Bible Sign FIFA Kosarak BmsWebView1 Algorithm Execution Time (ms) Maximum Memory Usage (MB) k = 1000 k = 2000 k = 3000 k = 1000 k = 2000 k = 3000 TKS 6321.4 13300.4 22364.2 317.69 460.69 570.90 Dynamic TKS 5406.8 9743.6 13547.2 157.04 240.62 344.40 TKS 36435.4 98631.6 173600 1,615.24 1,742.18 1,860.68 Dynamic TKS 18542 37262 58259.8 463.67 612.68 496.13 TKS 1094.8 1722.6 2449.2 46.93 87.52 128.97 Dynamic TKS 1010.8 1582 2046.6 39.33 69.15 72.84 TKS 17999.2 38538.4 71451.2 638.90 1,118.59 1,744.24 Dynamic TKS 15437.6 28364.2 41490 550.53 689.11 821.80 TKS 18046 1,615.56 1,738.98 1,886.22 Dynamic TKS 11016.8 22033.4 33771.2 334.25 382.02 436.18 TKS 3806.4 6651.6 8308.4 157.29 234.13 351.74 Dynamic TKS 2268.2 3712.8 4798.8 76.54 127.95 141.26 41474.12 71292.4 57 (a) (b) Hình 4.2 Biểu đồ so sánh thời gian thực (a) sử dụng nhớ (b) thuật toán sử dụng CSDL BmsWebView1 (a) (b) Hình 4.3 Biểu đồ so sánh thời gian thực (a) sử dụng nhớ (b) thuật toán sử dụng CSDL Levithan (a) (b) Hình 4.4 Biểu đồ so sánh thời gian thực (a) sử dụng nhớ (b) thuật tốn sử dụng CSDL Bible 58 (a) (b) Hình 4.5 Biểu đồ so sánh thời gian thực (a) sử dụng nhớ (b) thuật toán sử dụng CSDL FIFA (a) (b) Hình 4.6 Biểu đồ so sánh thời gian thực (a) sử dụng nhớ (b) thuật toán sử dụng CSDL Kosarak Từ bảng kết thực nghiệm biểu đồ cho thấy thuật tốn cải tiến TKS có thời gian thực thi nhanh có hiệu sử dụng nhớ tốt hẳn so với thuật tốn TKS gốc Đặc biệt k lớn tốc độ xử lý nhanh gấp đơi (hình 4.4 4.6) tổng nhớ sử dụng nhiều lần (hình 4.2, 4.4, 4.5 4.6) Điều thể rõ áp dụng vào khai thác CSDL có kích thước lớn 59 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN Khai thác mẫu phần quan trọng khai thác liệu ứng dụng rộng rãi nhiều lĩnh vực sống Khai thác mẫu tìm tất chuỗi chung xuất nhiều minsup lần chuỗi CSDL, với minsup ngưỡng hỗ trợ tối thiểu người dùng định nghĩa Cho đến nay, nhiều nghiên cứu để thiết kế thuật toán khai thác mẫu thực vấn đề quan trọng làm cách để người sử dụng chọn ngưỡng minsup nhằm tạo số lượng mong muốn mẫu Tùy thuộc vào lựa chọn ngưỡng minsup, thuật tốn trở nên chậm tạo số lượng lớn kết q kết khơng có kết nào, bỏ qua thơng tin có giá trị Vấn đề quan trọng thực tế, người sử dụng có nguồn tài nguyên giới hạn (thời gian khơng gian lưu trữ) để phân tích kết việc tinh chỉnh thông số minsup tốn thời gian Để giải vấn đề vấn đề khai thác mẫu định nghĩa lại thành vấn đề khai thác k mẫu phổ biến, với k số mẫu tìm (được trả về) định nghĩa người sử dụng Thuật toán tốt để giải vấn đề TKS Thuật toán khám phá k mẫu phổ biến có độ hỗ trợ cao Để tạo mẫu, TKS sử dụng CSDL bitmap dọc để trình bày liệu thủ tục tạo ứng viên SPAM Search để dị tìm mở rộng mẫu theo s-extension i-extension Đồng thời, áp dụng vài chiến lược hiệu tối ưu hóa để nâng cao hiệu khai thác liệu Tuy nhiên, thuật tốn sử dụng bit vector có kích thước cố định (có chiều dài tổng số itemset CSDL) nên phải tốn nhiều nhớ đễ lưu trữ nhiều thời gian để thực phép giao bit vector Luận văn trình bày phương pháp nén chuỗi bit gọi Roaring bitmap Roaring bitmap phân chia khoảng [0, n] mục 32 bit bitmap thành 60 đoạn số nguyên có độ lớn tối đa 216 lưu trữ đoạn có mật độ bit dày thưa khác Các số nguyên 32 bit lưu trữ cấu trúc liệu mục cấp hiệu nhỏ gọn Các đoạn có mật độ dày lưu bitmap, đoạn có mật độ thưa sử dụng mảng đóng gói chứa số nguyên 16 bit Roaring bitmap sử dụng 16 bit cho số nguyên có khả truy cập nhanh phần tử vị trí thực nhanh phép toán logic AND, OR Trong thực nghiệm liệu thực tế, Roaring bitmap thực thi nhanh nén tốt loại bitmap nén khác nhiều lần Do đó, luận văn đề xuất giải pháp sử dụng Roaring bitmap thay cho bit vector có kích thước cố định thuật toán TKS nhằm nâng cao hiệu thuật toán Kết thưc nghiệm cho thấy thuật toán cải tiến có thời gian thực thi nhanh có hiệu sử dụng nhớ tốt hẳn so với thuật toán TKS gốc, đặc biệt CSDL lớn 5.2 HƯỚNG PHÁT TRIỂN Trong năm gần đây, bùng nổ thơng tin hình thành nên tập liệu khổng lồ tập ngày phình to ra, có khả vượt khả xử lý phần cứng tương lai không xa Mặt khác, nhược điểm thuật tốn TKS phải đọc tồn CSDL vào nhớ nên khai thác CSDL lớn địi hỏi phần cứng cao Trong bối cảnh vậy, đề xuất hướng nghiên cứu giải thuật xử lý song song, tức chia nhỏ CSDL để xử lý song song nhiều máy tính lúc Ưu điểm hướng nghiên cứu tận dụng máy tính có sẵn, giảm chi phí phần cứng tận dụng khả xử lý song song tốt GPU xuất hiên năm gần 61 TÀI LIỆU THAM KHẢO: [1] Lê Hồi Bắc (2013), Bài giảng mơn Data Mining, Đại học KHTN (Đại học Quốc gia Tp.HCM) [2] Agrawal, R and Srikant, R (1995), Mining Sequential Patterns, In Proceedings of the 11th Conference on Data Engineering (ICDE’95), 3–14 [3] Srikant, R., Agrawal, R (1996), Mining Sequential Patterns: Generalizations and Performance Improvements, in: Proc 5th Int’l Conf Extending Database Technology, pp.3–17 [4] Ayres, J., Flannick, J., Gehrke, J., and Yiu, T (2002), Sequential pattern mining using a bitmap representation, In Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 429–435 [5] Zaki, M J (2001), SPADE: An efficient algorithm for mining frequent sequences, Mach Learn 42, 31–60 [6] Han, J., Pei, J., Mortazavi-Asl, B., Chen, Q., Dayal, U., and Hsu, M.C., (2000), Freespan: Frequent pattern-projected sequential pattern mining, in Proc 2000 Int Conf Knowledge Discovery and Data Mining (KDD’00), pp 355-359 [7] Pei, J., Han, J., Mortazavi-Asl, B., and Pinto, H (2001), PrefixSpan: Mining sequential patterns efficiently by prefix-projected pattern growth, In Proceedings of the International Conference on Data Engineering 215–224 [8] Mabroukeh, N R and Ezeife, C I (2010), A taxonomy of sequential pattern mining algorithms, ACM Computing Surveys, vol 43, no 1, pp 1-41 [9] Pei, J., Han, J., Mortazavi-Asl, B., and Zhu, H (2000), Mining access patterns efficiently from web logs, In Knowledge Discovery and Data Mining Current Issues and New Applications Lecture Notes Computer Science, vol 1805, Springer, Berlin, 396–407 62 [10] El-Sayed, M., Riuz, C., and Rundensteiner, E A (2004), FS-Miner: Efficient and incremental mining of frequent sequence patterns in web logs, In Proceedings of the 6th Annual ACM International Workshop on Web Information and Data Management ACM, New York, 128–135 [11] Carl H Mooney, and John F Roddick (2013), Sequential pattern mining – Approaches and algorithms, Journal ACM Computing Surveys, Volume 45 Issue 2, Article No 19 [12] Song, S., Hu, H., and Jin, S (2005), HVSM: A new sequential pattern mining algorithm using bitmap representation In Advanced Data Mining and Applications, Lecture Notes in Computer Science, vol 3584, Springer, Berlin, 455–463 [13] Chiu, D.-Y., Wu, Y.-H., and Chen, A L P (2004), An efficient algorithm for mining frequent sequences by a new strategy without support counting, In Proceedings of the 20th International Conference on Data Engineering 375–386 [14] Ezeife, C I and Lu, Y (2005), Mining web log sequential patterns with position coded pre-order linked WAP-tree, Int J Data Mining Knowl Discovery 10, 5–38 [15] Fournier-Viger, P., Gomariz, A., Gueniche, T., Mwamikazi, E., Thomas, R (2013), Efficient Mining of Top-K Sequential Patterns, Proc 9th International Conference on Advanced Data Mining and Applications (ADMA 2013) Part I, Springer LNAI 8346, pp 109-120 [16] Samy Chambi, Daniel Lemire, Owen Kaser, Robert Godin (2014), Better bitmap performance with Roaring bitmaps, arXiv:1402.6407 ... KHAI THÁC K MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP II- Nhiệm vụ nội dung: - Nghiên cứu lĩnh vực khám phá tri thức khai thác mẫu CSDL chuỗi - Nghiên cứu triển khai thuật toán khai thác k. .. thống… 33 CHƯƠNG KHAI THÁC K MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP 3.1 GIỚI THIỆU Khai thác mẫu nghiên cứu rộng rãi cộng đồng khai thác liệu có nhiều ứng dụng thực tế Khai thác mẫu tìm tất... CÁC ỨNG DỤNG CỦA KHAI THÁC MẪU TUẦN TỰ 30 CHƯƠNG KHAI THÁC K MẪU TUẦN TỰ PHỔ BIẾN DỰA TRÊN ROARING BITMAP 33 3.1 GIỚI THIỆU .33 vi 3.2 THUẬT TOÁN TKS (Top -K Sequential pattern

Ngày đăng: 05/03/2021, 15:26

w