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

  • Số trang: 76 |
  • Loại file: PDF |
  • Lượt xem: 45 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

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 HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM Cán bộ hướng dẫn khoa học: PGS. TS LÊ HOÀI BẮC Luận văn Thạc sĩ được bảo vệ tại 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ọ và Tên Chức danh Hội đồng 1 PGS. TS. Lê Trọng Vĩnh Chủ tịch 2 GS. TSKH. Hoàng Văn Kiếm Phản biện 1 3 TS. Võ Đình Bảy Phản biện 2 4 PGS. TS. Đỗ Phúc Ủy viên 5 TS. Nguyễn Văn Mùi Ủy viên, Thư ký Xác nhận của Chủ tịch Hội đồng đánh giá Luận văn sau khi 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ự do – 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ụ và nội dung: - Nghiên cứu lĩnh vực khám phá tri thức và khai thác mẫu tuần tự trên CSDL chuỗi. - Nghiên cứu và triển khai thuật toán khai thác k mẫu tuần tự phổ biến TKS. - Nghiên cứu và 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 bộ 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 và chữ ký) (Họ tên và chữ ký) i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này cũng như các trích dẫn hay tài liệu học thuật tham khảo đã được cảm ơn đến tác giả và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc. Học viên thực hiện Luận văn ii LỜI CÁM ƠN Trước hết, cho tôi được gửi lời cảm ơn đến sự hướng dẫn và giúp đỡ tận tình của PGS.TS. Lê Hoài Bắc. Xin cảm ơn TS. Cao Tùng Anh cùng các bạn Trương Quốc Dũng, Châu Nguyễn Nhật Thanh đã sát cánh và cung cấp cho tôi những kiến thức quí báu trong suốt thời gian học tập và nghiên cứu thực hiện luận văn. Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và những người thân đã luôn quan tâm và giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu hoàn thành luận văn này. Luận văn không thể tránh khỏi những sai sót, rất mong nhận được ý kiến đóng góp của mọi người cho luận văn được hoàn thiện hơ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 tuần tự là một phần quan trọng của khai thác dữ liệu với các ứng dụng rộng rãi. Tuy nhiên, việc tinh chỉnh thông số minsup trong các thuật toán khai thác mẫu tuần tự để tạo ra đủ số mẫu mong muốn là rất khó khăn và tốn thời gian. Để giải quyết vấn đề này, người ta đã đề xuất xác định lại vấn đề khai thác mẫu tuần tự như là khai thác k mẫu tuần tự phổ biến, với k là số mẫu tuần tự được tìm ra (được trả về) và được thiết lập bởi người dùng. Thuật toán tốt nhất hiện nay để giả quyết vấn đề này là TKS (Top-K Sequential pattern mining) [15]. Tuy nhiên, thuật toán này sử dụng bit vector có kích thước cố định cho mỗi item trong CSDL chuỗi (có chiều dài bằng tổng số itemset trong CSDL), do đó nó sử dụng nhiều bộ nhớ để lưu trữ và tiêu tốn nhiều thời gian để thực thi các phép giao bit vector. Để cải tiến thuật toán, luận văn này đề xuất sử dụng Roaring bitmap [16] thay thế cho bit vector có kích thước cố định trong TKS nhằm mục đích làm giảm bộ nhớ được sử dụng và giảm thời gian thực thi các phép giao bit vector. Kết quả thực nghiệm cho thấy thuật toán cải tiến có chi phí vượt trội về thời gian thực thi và hiệu quả sử dụng bộ nhớ so với thuật toán TKS gốc, đặc biệt là trên các cơ sở dữ 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 1 MỞ ĐẦU ...............................................................................................1 1.1 LÝ DO CHỌN ĐỀ TÀI..................................................................................1 1.2 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ....................................................2 1.3 MỤC ĐÍCH CỦA ĐỀ TÀI.............................................................................3 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ...............................................3 1.5 PHƯƠNG PHÁP NGHIÊN CỨU ..................................................................3 CHƯƠNG 2 TỔNG QUAN VỀ KHAI THÁC MẪU TUẦN TỰ .............................4 2.1 GIỚI THIỆU...................................................................................................4 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Ự .................................6 2.3.1 Các thuật toán dựa trên Apriori ............................................................7 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 3 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ở dữ 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 quả khai thác dữ 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 4 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 5 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 vii DANH MỤC CÁC TỪ VIẾT TẮT Ký hiệu, viết tắt Ý nghĩa tiếng Việt Ý nghĩa tiếng anh CSDL Cơ sở dữ liệu Database Itemset Tập mục Itemset TID Giao tác Transaction Item Database PMAP Bản đồ thứ tự ưu tiên Precedence Map GPU Bộ xử lý đồ họa Graphics Processing Unit Item Mục Item viii DANH MỤC CÁC BẢNG Bảng 2.1 Cơ sở dữ liệu chuỗi D1.................................................................................6 Bảng 2.2 Cơ sở dữ liệu chuỗi D2.................................................................................7 Bảng 2.3 Cơ sở dữ liệu chuỗi D3.................................................................................7 Bảng 2.4 S-Matrix để xây dựng chuỗi 2-sequences từ CSDL ở bảng 2.3 ................13 Bảng 2.5 Phát sinh mẫu từ S-Matrix .........................................................................13 Bảng 2.6 Chạy PrefixSpan trên CSDL ở bảng 2.3....................................................15 Bảng 2.7 Các mẫu phổ biến của CSDL truy cập web từ bảng 2.2............................16 Bảng 2.8 CSDL và phần ở mức thứ nhất của bảng 2.3.............................................22 Bảng 2.9 CSDL chuỗi ví dụ cho SPADE, biến đổi từ CSDL chuỗi ở bảng 2.2 .......26 Bảng 3.1 CSDL chuỗi D4 ..........................................................................................33 Bảng 3.2 CSDL bitmap dọc được xây dựng từ CSDL chuỗi D 4 ..............................34 Bảng 3.3 Cấu trúc dữ liệu PMAP được xây dựng từ CSDL chuỗi D 4 ......................42 Bảng 4.1 Liệt kê đặc tính của các bộ dữ liệu thực nghiệm .......................................56 Bảng 4.2 Kết qủa thực nghiệm ứng với k = 1000, 2000 và 3000 .............................56 ix DANH MỤC CÁC HÌNH Hình 2.1 Cây từ điển biểu diễn các chuỗi, với đường nét nhạt là mở rộng theo chuỗi và nét đậm là mở rộng theo itemset..........................................................10 Hình 2.2 Khai thác cây WAP sử dụng thuật toán WAP-mine..................................17 Hình 2.3 Cây FS và bảng đầu liên kết cho các web log của bảng 2.2 ......................18 Hình 2.4 Chuỗi ứng viên với itemset có kích thước 1 và itemset có kích thước 2...24 Hình 2.5 Dàn được tạo ra bởi các chuỗi phổ biến cực đại ........................................26 Hình 2.6 Các lớp tương đương {[a]θ1, [b]θ1, [e]θ1} sinh bởi quan hệ θk trên S ....27 Hình 2.7 Khai thác cây trong thuật toán PLWAP.....................................................29 Hình 3.1 Thuật toán SPAM.......................................................................................35 Hình 3.2 Thủ tục tạo ứng viên ..................................................................................35 Hình 3.3 Mở rộng s-extension...................................................................................36 Hình 3.4 Mở rộng i-extension ...................................................................................36 Hình 3.5 Thuật toán TKS ..........................................................................................38 Hình 3.6 Thủ tục tạo ứng viên đã được sửa đổi ........................................................39 Hình 3.7 Thủ tục SAVE ............................................................................................39 Hình 3.8 Cấu trúc của Roaring bitmap .....................................................................44 Hình 3.9 So sánh bộ nhớ được sử dụng cho mảng và bitmap (nguồn http://www.elasticsearch.org/blog/frame-of-reference-and-roaring-bitmaps/) ..45 Hình 3.10 Minh họa phép OR giữa hai Roaring bitmap khi chỉ mục cấp 1 không bằng nhau.................................................................................................47 Hình 3.11 Thuật toán 1 - Thủ tục tính phép giao giữa hai container bitmap ............48 Hình 3.12 Thuật toán 2 - Thuật toán được tối ưu để chuyển đổi vị trí các bit 1 trong một bitmap thành một danh sách các số nguyên.......................................49 Hình 3.13 Thuật toán 3 – Thủ tục tính toán phép giao của hai container bitmap.....49 x Hình 3.14 Thuật toán 4 – Thuật toán được tối ưu để tính toán phép hội của nhiều Roaring bitmap .........................................................................................51 Hình 3.15 Mô tả cách thực hiện bước s-extension ngắn gọn....................................54 Hình 4.1 Giao diện chương trình ..............................................................................55 Hình 4.2 Biểu đồ so sánh thời gian thực hiện (a) và sử dụng bộ nhớ (b) của 2 thuật toán sử dụng CSDL BmsWebView1.........................................................57 Hình 4.3 Biểu đồ so sánh thời gian thực hiện (a) và sử dụng bộ nhớ (b) của 2 thuật toán sử dụng CSDL Levithan ....................................................................57 Hình 4.4 Biểu đồ so sánh thời gian thực hiện (a) và sử dụng bộ nhớ (b) của 2 thuật toán sử dụng CSDL Bible..........................................................................57 Hình 4.5 Biểu đồ so sánh thời gian thực hiện (a) và sử dụng bộ nhớ (b) của 2 thuật toán sử dụng CSDL FIFA..........................................................................58 Hình 4.6 Biểu đồ so sánh thời gian thực hiện (a) và sử dụng bộ nhớ (b) của 2 thuật toán sử dụng CSDL Kosarak .....................................................................58 1 CHƯƠNG 1 MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Trong những năm gần đây, với sự phát triển nhanh chóng của công nghệ thông tin và sự phổ biến của Internet thì khối lượng dữ liệu được tạo ra và thu thập lại từ các ứng dụng dưới nhiều dạng khác nhau ngày càng trở nên đồ sộ. Sự đa dạng và phong phú của khối lượng dữ liệu này đã hình thành nên nhiều mô hình dữ liệu khác nhau như mô hình dữ liệu giao tác (transaction), mô hình dữ liệu chuỗi (sequence), mô hình dòng dữ liệu (data stream), chuỗi thời gian (time-series)... Với mô hình dữ liệu chuỗi, sự kiện hoặc dữ liệu nói chung tồn tại theo một chuỗi có trật tự thời gian nhưng không nhất thiết phải gắn liền với một khái niệm thời gian cụ thể. Ví dụ chuỗi các mặt hàng đã mua sắm của các khách hàng tại một cửa hàng, chuỗi truy cập web, chuỗi di truyền trong sinh học, chuỗi sự kiện trong khoa học, dữ liệu điều trị y tế, các mẫu gọi điện thoại, dữ liệu về thị trường và chứng khoán… Bản chất của dữ liệu chuỗi là có tính thứ tự và mô hình dữ liệu chuỗi thể hiện rõ rệt mối quan hệ xuyên thời gian của dữ liệu nên việc áp dụng khai thác mẫu tuần tự trên mô hình dữ liệu này sẽ mang lại nhiều tri thức tiềm ẩn quí giá có ý nghĩa thiết thực và có tính dự báo, dự đoán rất cao. Khai thác mẫu tuần tự (sequential pattern mining) trên mô hình dữ liệu chuỗi là một phần quan trọng của khai thác dữ liệu và được ứng dụng rộng rãi trong nhiều lĩnh vực như y khoa, giáo dục đào tạo, kinh tế, khoa học, xã hội…Chính vì vậy, nhiều nghiên cứu đã được thực hiện và nhiều thuật toán đã được đề xuất trong lĩnh vực này. Trong đó, thuật toán TKS (Top-K Sequential pattern mining) được đánh giá cao bởi vì chi phí thực hiện thấp hơn nhiều lần so với các thuật toán khác trong việc khai thác k mẫu tuần tự phổ biến [15]. Tuy nhiên, thuật toán này sử dụng CSDL bitmap dọc (vertical bitmap database) [4] để trình bày dữ liệu, với mỗi item là một bit vector có kích thước cố định (có chiều dài bằng tổng số các itemsets trong CSDL chuỗi) làm dư thừa các bit 0 không cần thiết nên khi áp dụng trên các CSDL 2 chuỗi có số lượng itemsets lớn thì tốc độ sẽ rất chậm do phải tiêu tốn rất nhiều thời gian để thực hiện các phép giao trên các bit vector này và tốn rất nhiều bộ nhớ để lưu trữ chúng. Để nâng cao hiệu quả khai thác các mẫu tuần tự, luận văn này đề xuất một phương pháp tiếp cận khác là phương pháp tiếp cận dựa trên Roaring bitmap [16]. Phương pháp này đặc biệt hiệu quả khi áp dụng trên các CSDL chuỗi lớn với chi phí vượt trội về thời gian thực thi và sử dụng bộ nhớ so với thuật toán TKS. 1.2 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Khai thác mẫu tuần tự là một phần quan trọng của khai thác dữ liệu với các ứng dụng rộng rãi như phân tích dữ liệu sinh học, dữ liệu y tế, dữ liệu e-learning, phân tích truy cập web theo thứ tự thời gian, phân tích sự thực thi của chương trình, phân tích thói quen mua sắm của khách hàng, phân tích các thí nghiệm khoa học... Từ đó dự đoán được hành vi của các đối tượng nghiên cứu. Ví dụ như trong lĩnh vực y khoa, dựa trên một chuỗi các triệu chứng bệnh mà chúng ta có thể chẩn đoán được bệnh cho bệnh nhân đó; Trong lĩnh vực kinh tế, dựa trên một chuỗi các biến động của thị trường mà chúng ta có thể dự đoán được xu thế sắp tới của nền kinh tế để có kế hoạch kinh doanh phù hợp; Trong lĩnh vực khoa học, dựa trên một chuỗi các hiện tượng tự nhiên mà chúng ta có thể dự đoán được các thảm họa thiên nhiên sắp xảy ra, từ đó có các biện pháp ứng phó thích hợp và kịp thời… Do đó, nghiên cứu về khai thác mẫu tuần tự có ý nghĩa rất quan trọng. Bên cạnh đó, sự bùng nổ về thông tin đã tạo ra các tập dữ liệu khổng lồ và các tập dữ liệu này ngày càng phình to ra. Việc áp dụng các thuật toán khai thác mẫu tuần tự hiện nay vào khai thác các tập dữ liệu này sẽ cho ra kết quả rất chậm, thậm chí là không thể cho ra kết quả do hạn chế về tài nguyên phần cứng (chẳng hạn như “out of memory”). Vì vậy, việc nghiên cứu để cho ra thuật toán trong luận văn này nhằm nâng cao hiệu quả khai thác dữ liệu, giảm thời gian thực thi và giảm chi phí phần cứng (bằng cách sử dụng tối ưu tài nguyên phần cứng) là rất cấp thiết. Trong thời buổi kinh tế thị trường hiện nay, việc tổng hợp ra được những thông tin hữu ích và tri thức từ các tập dữ liệu khổng lồ này càng có ý nghĩa hơn bao giờ 3 hết, nó đóng vai trò chìa khóa thành công cho sự phát triển của các tổ chức và cá nhân. Các thông tin tìm được có thể được vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu, cắt giảm chi phí, tăng thời gian phát triển và tối ưu hóa sản phẩm, đồng thời hỗ trợ con người đưa ra những quyết định đúng và hợp lý hơn. Việc nghiên cứu và ứng dụng thuật toán trong luận văn này giúp chúng ta có được những thông tin hữu ích một cách nhanh chóng và kịp thời. Điều này tạo nên ưu thế rất lớn trong việc phát triển và cạnh tranh. 1.3 MỤC ĐÍCH CỦA ĐỀ TÀI Thay thế bit vector có kích thước cố định được sử dụng trong thuật toán TKS bằng Roaring bitmap nhằm làm giảm dung lượng bộ nhớ được sử dụng để lưu trữ các bit vector này và giảm thời gian thực thi phép giao giữa chúng. Từ đó, có thể cải thiện được đáng kể hiệu suất của thuật toán về thời gian thi hành và hiệu quả sử dụng bộ nhớ, đặc biệt là trên các CSDL chuỗi lớn. 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng nghiên cứu là CSDL chuỗi và bit vector (chuỗi bit hay còn gọi là bitmap – bitset) nhưng phạm vi nghiên cứu tập trung vào thuật toán khai thác k mẫu tuần tự phổ biên TKS và phương pháp nén chuỗi bit Roaring bitmap. 1.5 PHƯƠNG PHÁP NGHIÊN CỨU - Tiến hành thu thập và đọc các tài liệu có liên quan đến đề tài. - Nghiên cứu tổng quan về cơ sở dữ liệu chuỗi và các khái niệm có liên quan. - Nghiên cứu thuật toán khai thác k mẫu tuần tự phổ biến TKS. - Nghiên cứu phương pháp nén chuỗi bit Roaring bitmap. - Nghiên cứu áp dụng phương pháp tiếp cận dựa trên Roaring bitmap vào thuật toán TKS. - Xây dựng chương trình demo và đánh giá kết quả đạt được. 4 CHƯƠNG 2 TỔNG QUAN VỀ KHAI THÁC MẪU TUẦN TỰ 2.1 GIỚI THIỆU Trong cuộc sống của chúng ta, dữ liệu chuỗi rất phổ biến và tồn tại ở khắp mọi nơi. Chẳng hạn như chuỗi mua sắm của khách hàng, dữ liệu điều trị y tế, dữ liệu liên quan tới các thảm họa tự nhiên, dữ liệu về thị trường và chứng khoán, các mẫu gọi điện thoại, chuỗi truy cập web, chuỗi DNA, chuỗi thực thi của chương trình…Trong các chuỗi này, có thể có sự tồn tại của các chuỗi có ý nghĩa và việc phát hiện các chuỗi con phổ biến (toàn bộ hoặc một phần các chuỗi con được sắp xếp thứ tự) có thể mang lại nhiều tri thức có ích. Từ đó, khai thác mẫu tuần tự đã được phát sinh như là một kỹ thuật khám phá các chuỗi con phổ biến. Vấn đề khai thác mẫu tuần tự được giới thiệu lần đầu tiên bởi Agrawal và Srikant năm 1995 [2] và sau đó đã thu hút nhiều nghiên cứu khác như [4], [5], [6], [7], [9], [12]…Trong đó, mẫu tuần tự (sequential pattern) là một chuỗi các itemset xuất hiện phổ biến có trình tự, tất cả các item trong cùng một itemset được giả sử là chúng có cùng tại thời điểm giao dịch hoặc chúng có trong cùng một khoảng thời gian giao dịch. Thông thường tất cả các giao dịch của một khách hàng được gắn kết với nhau theo trình tự thời gian và được xem là một chuỗi. Khai thác mẫu tuần tự là khám phá các chuỗi con phổ biến (được gọi là mẫu) trong một CSDL chuỗi. Một CSDL chuỗi lưu trữ một hoặc nhiều bản ghi và tất cả các bản ghi này là những chuỗi các sự kiện có thứ tự, có thể gắn với một khái niệm thời gian cụ thể hoặc không (ví dụ như chuỗi truy cập web và chuỗi DNA). Mỗi bản ghi trong CSDL chuỗi có thể có độ dài khác nhau và mỗi sự kiện (itemset) trong một chuỗi có thể có một hay nhiều item (ví dụ các chuỗi gen có độ dài tối thiểu là vài trăm nhưng độ dài tối đa lên đến hàng trăm nghìn). Khai thác mẫu tuần tự là bài toán quan trọng được ứng dụng rộng rãi, bao gồm: phân tích thói quen mua sắm của khách hàng, mẫu truy cập web, các thí nghiệm khoa học, các thảm họa thiên nhiên, các kết cấu của protein, chẩn đoán bệnh… 5 Thuật toán khai thác mẫu tuần tự trên CSDL chuỗi là đi tìm những mẫu xuất hiện lặp lại (được gọi là chuỗi phổ biến) để tìm kiếm mối liên quan giữa các item khác nhau, hoặc giữa các sự kiện tiềm ẩn trong dữ liệu phục vụ cho các mục đích như các chiến dịch tiếp thị, tái tổ chức kinh doanh, dự báo và lập kế hoạch… 2.2 PHÁT BIỂU BÀI TOÁN VÀ KÝ HIỆU Cho I = {i1, i2,…,im} là một tập gồm m phần tử (được gọi là item). Một itemset là tập khác rỗng và không có thứ tự của các item. itemset i ký hiệu là (i1, i2, …, ik ) với mỗi ij là một item. Không mất tính tổng quát, giả sử các item trong itemset được sắp theo thứ tự tăng dần. Một chuỗi (sequence) là một danh sách có thứ tự những itemset. Chuỗi s được ký hiệu là s1, s2,…, sn hoặc s1→s2→…→sn với mỗi si là một itemset, n là số lượng các itemset. Kích thước của chuỗi bằng số lượng itemset có trong chuỗi. Chiều dài của chuỗi là tổng số item có trong chuỗi, ký hiệu là l = ∑ . Chuỗi có chiều dài k còn được gọi là k-sequence. Ví dụ s = (b)(ac) là một 3-sequence có kích thước n=2. Chuỗi β = b1, b2, …, bm được gọi là chuỗi con của chuỗi α = a1, a2,…, an hay α là chuỗi cha của β, ký hiệu β ⊆ α, nếu tồn tại những số nguyên 1≤ j1 < j2 < … < jn ≤ m sao cho b1⊆ aj1, b2⊆ aj2,…, bm⊆ ajm. Ví dụ chuỗi (b)(ac) là chuỗi con của (ab)(e)(acd) vì b ⊆ ab, ac ⊆ acd và thứ tự của các itemset vẫn được bảo tồn. Tuy nhiên, chuỗi (ab)(e) không phải là chuỗi con của chuỗi (abe) và ngược lại. Cơ sở dữ liệu chuỗi: Cơ sở dữ liệu chuỗi là một tập hợp các bộ dữ liệu có dạng (sid, s), trong đó sid là định danh của chuỗi và s là chuỗi các itemset. Mẫu: Mẫu là một chuỗi con của một chuỗi dữ liệu. Mỗi itemset trong một mẫu còn được gọi là một thành phần (element). Độ hỗ trợ (support): Cho CSDL chuỗi D, mỗi chuỗi có một chỉ số định danh duy nhất. Độ hỗ trợ tuyệt đối của một mẫu tuần tự f là tổng số chuỗi trong D có chứa f, ký hiệu supD (f) = |{Si ∈ D | f ⊆ Si}|. Độ hỗ trợ tương đối của f là tỉ lệ phần 6 trăm các chuỗi trong D chứa f. Ở đây, mức hỗ trợ tuyệt đối hoặc tương đối sẽ được sử dụng chuyển đổi qua lại, kí hiệu là sup(f). Mẫu tuần tự: Cho trước ngưỡng hỗ trợ tối thiểu minSup xác định bởi người dùng. Một mẫu f được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng minSup: sup(f) ≥ minSup, khi đó f được gọi là mẫu tuần tự. Ví dụ: Cho CSDL chuỗi D1 như bảng 2.1 có tập các item phân biệt là {a, b, c} và minSup là 2. Xét chuỗi s1 = (ab)(b)(b)(ab)(b)(ac), chuỗi s1 có 6 itemset là: (ab), (b), (b), (ab), (b), (ac) và có 9 item. Vậy s1 có kích thước là 6 và có độ dài là 9. Trong chuỗi s1, item a xuất hiện ba lần nhưng độ hỗ trợ của item a chỉ được tính là 1 đối với chuỗi s1 đó. Chuỗi p = (ab)(c) là một chuỗi con của chuỗi s1, vì vậy chuỗi con p còn được gọi là mẫu. Trong D1, chỉ có chuỗi s1, s2 và s5 có chứa mẫu p, vậy độ hỗ trợ của mẫu p là 3. Vì sup(p) > minSup nên p là một mẫu tuần tự. Bảng 2.1 Cơ sở dữ liệu chuỗi D1 SID Sequences 1 〈 (ab)(b)(b)(ab)(b)(ac)〉 2 〈 (ab)(bc)(bc)〉 3 〈 (b)(ab)〉 4 〈 (b)(b)(bc)〉 5 〈 (ab)(ab)(ab)(a)(bc)〉 Khai thác mẫu tuần tự: là tìm một tập đầy đủ các chuỗi con phổ biến (mẫu tuần tự) trong CSDL chuỗi có độ hỗ trợ lớn hơn hoặc bằng ngưỡng minSup được xác định bởi người dùng. 2.3 CÁC THUẬT TOÁN KHAI THÁC MẪU TUẦN TỰ Phần này trình bày tổng quan về các thuật toán cùng với ví dụ minh họa cho từng thuật toán. Phần 2.3.1 trình bày các thuật toán dựa trên Apriori, phần 2.3.2 trình bày các thuật toán dựa trên phát triển mẫu, phần 2.3.3 trình bày các thuật toán dựa trên kỹ thuật loại trừ sớm và phần 2.3.4 bàn về các thuật toán lai ghép nhiều kỹ thuật. Các thuật toán khai thác chuỗi mà mỗi itemset là một item được thảo luận theo CSDL của bài toán 1 (bảng 2.2), còn những thuật toán khai thác chuỗi mà có
- Xem thêm -