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

Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)

98 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

Tiêu đề Tìm Hiểu Thuật Toán Phân Lớp Dựa Trên Khai Phá Luật Kết Hợp Sử Dụng Thuật Toán Ant Colony Optimization (ACO)
Định dạng
Số trang 98
Dung lượng 6,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO) Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO) Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)

Trang 1

xv

MỤC LỤC

MỤC LỤC xiv

DANH SÁCH KÍ HIỆU, TỪ VIẾT TẮT xviii

DANH MỤC BẢNG BIỂU xix

DANH MỤC HÌNH ẢNH xxi

MỞ ĐẦU 1

1 Giới thiệu 1

2 Mục tiêu, đối tượng, phạm vi nghiên cứu 1

3 Nhiệm vụ và hướng tiếp cận 2

4 Kết quả đạt được 2

5 Cấu trúc luận văn 3

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ LUẬT KẾT HỢP 4

1.1 Giới thiệu về khai phá luật kết hợp 4

1.2 Định nghĩa luật kết hợp 4

1.3 Các khái niệm về luật kết hợp 6

1.3.1 Độ hỗ trợ (Support) 7

1.3.2 Độ tin cậy (Confident) 8

1.3.3 Tập mục phổ biến (Frequent itemset) 8

1.4 Các công trình nghiên cứu 9

CHƯƠNG 2: PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP 14

2.1 Giới thiệu chung 14

2.2 Luật phân lớp 15

2.3 Các khái niệm cơ bản trong bài toán phân lớp dựa trên luật kết hợp 16

2.4 Các công trình liên quan 17

2.4.1 Thuật toán CMAR (classification based on multiple association rules) 17

2.4.2 Thuật toán PRM (Predictive Rule Mining) 18

2.4.3 Thuật toán CPAR 19

2.4.4 Thuật toán FCBA : Fast Classification Based on Association Rules Algorithm 20

2.4.5 Phân loại dữ liệu dựa trên chọn lọc tính năng 21

2.4.6 CBIR: Phân lớp dựa trên luật kết hợp và các cách tiếp cận trong Datamining 21

Trang 2

xvi

2.4.7 MISFP-Growth:Mô hình khai thác và hỗ trợ nhiều mặt hàng 22

CHƯƠNG 3: PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP SỬ DỤNG GIẢI THUẬT ĐÀN KIẾN (ACO) 23

3.1 Kiến thức từ thực tế đến nhân tạo 23

3.1.1 Kiến thật 23

3.1.2 Kiến nhân tạo 25

3.2 Mô tả thuật toán ACO tổng quát 26

3.3 Các công trình liên quan đến giải thuật đàn kiến 30

3.3.1 Hệ Kiến (AS) 31

3.3.2 Hệ đàn kiến (ACS) 34

3.3.3 Hệ kiến MIN-MAX 37

3.4 Một số vấn đề khác khi áp dụng ACO 40

3.4.1 Đặc tính hội tụ 40

3.4.2 Thực hiện song song 40

3.4.3 ACO kết hợp với tìm kiếm cục bộ 42

3.5 Phân lớp dựa trên luật kết hợp sử dụng giải thuật đàn kiến Ant-system 43

3.5.1 Tìm luật phân lớp 43

3.5.2 Phân lớp (classification): 44

3.6 Phân lớp dựa trên luật kết hợp sử dụng giải thuật lai ghép ACO-AC 45

3.6.1 Tìm luật phân lớp 45

3.6.2 Phân lớp (classification): 53

3.6.3 Nhận xét thuật toán ACO-AC 54

3.7 Phân lớp dựa trên luật kết hợp sử dụng giải thuật ACO cải tiến 55

3.8 Cách tiếp cận chung của các giải thuật khai phá luật kết hợp 59

3.9 Đánh giá độ chính xác của luật 59

CHƯƠNG 4: ĐÁNH GIÁ THỰC NGHIỆM 64

4.1 Môi trường cài đặt chương trình thực nghiệm 64

4.2 Mô tả dữ liệu thực nghiệm 65

4.3 Tiêu chí đánh giá 66

4.4 Giao diện chương trình thực nghiệm 66

4.5 Các trường hợp thực nghiệm và đánh giá kết quả 70

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81

Trang 3

xvii

5.1 Kết luận 81

5.2 Hạn chế 82

5.3 Hướng phát triển 82

TÀI LIỆU THAM KHẢO 83

Trang 4

xviii

DANH SÁCH KÍ HIỆU, TỪ VIẾT TẮT

Viết tắt Viết đầy đủ

(Tối ưu hóa đàn kiến)

(Hệ kiến ACS)

(Hệ kiến AS)

(Hệ kiến đa mức MLAS)

(Hệ kiến MMAS)

(Tối ưu hóa bầy đàn)

(Hệ kiến MMAS trơn)

Trang 5

xix

DANH MỤC BẢNG BIỂU

Bảng 1 1 Dữ liệu mua hàng ở siêu thị 6

Bảng 1 2 CSDL với các giao dịch 6

Bảng 2 1 Ví dụ về cơ sở dữ liệu huấn luyện mẫu 16

Bảng 3 1 Thuật toán ACO theo thứ tự thời gian xuất hiện 30

Bảng 3 2 Thuật toán ACO - AC 45

Bảng 3 3 Business Database Itemsets 57

Bảng 3 4 Frequent one itemset 57

Bảng 3 5 Initial Global power set 57

Bảng 3 6 The statistics of candidate itemsets with frequency 58

Bảng 3 7 Prune the candidate itemsets with frequency 58

Bảng 3 8 Frequency itemsets 59

Bảng 3 9 Ví dụ về độ bao phủ Coverage và độ chính xác Accuracy 60

Bảng 3 10 Ví dụ hình thành luật dựa trên tập huấn luyện 61

Bảng 3 11 Sử dụng tập luật để xác định lớp cho các mẫu mới 62

Bảng 4 1 Kết quả thời gian thực thi (mili giây) của các thuật tuần tự theo độ hỗ trợ thay đổi từ 14% đến 18% với bộ dữ liệu đơn hàng 71

Bảng 4 2 Kết quả về độ chính xác của các thuật toán trên bộ dự liệu đơn hàng với độ hỗ trợ thay đổi từ 14% đến 18% 72

Bảng 4 3 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 16% với bộ dữ liệu hàng 73

Bảng 4 4 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ dữ liệu mushroom với độ hỗ trợ thay đổi từ 50% đến 80% 73

Bảng 4 5 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu mushroom với độ hỗ trợ 80% 74

Bảng 4 6 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 60% với bộ dữ liệu mushrom 75

Bảng 4 7 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ dữ liệu T10I4D100K với độ hỗ trợ thay đổi từ 5% đến 9% 76

Bảng 4 8 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu T10I4D100K với độ hỗ trợ từ 5% đến 7% 76

Trang 6

xx

Bảng 4 9 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 7% với bộ dữ liệu T10I4D100K 77 Bảng 4 10 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ

dữ liệu BMS_WebView_1 với độ hỗ trợ thay đổi từ 2.5% đến 4.5% 78 Bảng 4 11 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu BMS_WebView_1 với

độ hỗ trợ từ 5% đến 7% 78 Bảng 4 12 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 3.5% với bộ dữ liệu BMS_WebView_1 80

Trang 7

xxi

DANH MỤC HÌNH ẢNH

Hình 1 1 Minh họa định nghĩa Item, Itemset, Transaction 5

Hình 3 1 Thí nghiệm trên cây cầu đôi 24

Hình 3 2 Thí nghiệm ban đầu chỉ một nhánh dài và sau 30 phút thêm nhánh ngắn 25

Hình 3 3 Đặc tả thuật toán ACO 27

Hình 3 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn 29

Hình 3 5 Lựa chọn đỉnh đi tiếp theo khi kiến 30

Hình 4 1 Giao diện dữ liệu đầu vào 67

Hình 4 2 Giao diện thực hiện thuật toán ACO (Ant-System) 68

Hình 4 3 Giao diện thực hiện thuật toán ACO-AC 69

Hình 4 4 Giao diện thực hiện thuật toán ACO cải tiến 70

Trang 8

Trong điều kiện và yêu cầu của thương trường, đòi hỏi phải có những phương pháp nhanh, phù hợp, tự động, chính xác và có hiệu quả để lấy được thông tin có giá trị Các tri thức chiết xuất được từ cơ sở dữ liệu sẽ là một nguồn tài liệu hỗ trợ cho lãnh đạo trong việc lên kế hoạch hoạt động hoặc trong việc ra quyết định sản xuất kinh doanh Vì vậy, tính ứng dụng của khai phá luật kết hợp từ cơ sở dữ liệu là một vấn đề đang được quan tâm

Khai phá dữ liệu là giai đoạn quan trọng trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ cho việc ra quyết định trong khoa học và kinh doanh

Luật kết hợp là phương tiện hữu ích để khám phá các mối liên kết trong dữ liệu Khai phá luật kết hợp trong cơ sở dữ liệu Multimedia cho phép tiết kiệm chi phí và làm tăng hiệu suất làm việc

Tối ưu hóa đàn kiến (Ant Colony Optimization - ACO) là cách tiếp cận metaheuristic tương đối mới, do Dorigo giới thiệu vào năm 1991 và liên tục được phát triển cho đến nay Thành công đầu tiên của các thuật toán ACO là giải quyết bài toán Người chào hàng nổi tiếng với số đỉnh lên hơn 2000 với kết quả thu được là tốt, hiệu quả của nó được chứng minh bằng thực nghiệm

Đầu tiên, luận văn đã hệ thống hóa các kiến thức cơ sở về lý thuyết độ phức tạp thuật toán Sau đó, luận văn trình bày các bài toán điển hình trong lớp các bài toán vị trí

cơ sở cùng các nghiên cứu đã được công bố gần đây Tiếp theo, tác giả đề xuất thuật toán dựa trên giải thuật tối ưu đàn kiến giải một số bài toán vị trí cơ sở hiện nay và so sánh kết quả thu được với một số công trình đã được công bố gần đầy nhằm rút ra được các ưu nhược điểm của thuật toán

2 Mục tiêu, đối tượng, phạm vi nghiên cứu

Mục tiêu:

Trang 9

2

 Tìm hiểu tổng quan về khai phá luật kết hợp

 Tìm hiểu bài toán phân lớp

 Tìm hiểu bài toán liên quan đến phân lớp dựa trên luật kết hợp

 Tìm hiểu bài toán Khai Phá Luật Kết Hợp Tương Quan Sử Dụng Thuật Toán Ant Colony Optimization

Đối tượng nghiên cứu

 Luật kết hợp

 Bài toán phân lớp áp dụng luật kết hợp

 Giải thuật đàn kiến (Ant Colony Optimization)

Phạm vi nghiên cứu:

 Nghiên cứu sự tương quan thuật toán khai phá luật kết hợp

 Áp dụng khai phá luật kết hợp vào phân lớp dữ liệu

3 Nhiệm vụ và hướng tiếp cận

 Tìm hiểu thuật toán Ant Colony Optimization

 Tìm hiểu về bài toán phân lớp

 Tìm hiểu tổng quan về khai phá luật kết hợp

 Tìm hiểu bài toán phân lớp dựa vào khai phá luật kết hợp có áp dụng thuật toán Ant Colony Optimization

4 Kết quả đạt được

Hiểu được cơ bản về hệ thống khai phá dữ liệu, phát hiện tri thức, những quy trình căn bản và nắm được các giai đoạn, chức năng của từng quá trình đánh giá Trong mỗi khâu của quá trình khai phá tri thức có những phương pháp được nêu và khái quát có những ưu điểm khác nhau làm cho các hệ thống khai phá được đa dạng, phục vụ ngày càng tốt hơn, đầy đủ hơn các nhu cầu của cuộc sống

Tìm hiểu các thuật toán luật kết hợp tương quan sử dụng thuật toán đường đi ngắn nhất hay còn gọi là thuật toán đàn kiến Có sự đối chiếu, so sánh về hiệu suất, độ chính xác thông qua thực nghiệm để đưa ra nhận xét kết luận về ưu điểm và khuyết điểm của các cải tiến trong thuật toán ra đời sau

Trang 10

3

5 Cấu trúc luận văn

Cấu trúc chuyên đề được phân thành 5 chương, trong đó:

 Chương 1: Giới thiệu tổng quan về khai phá luật kết hợp

 Chương 2: Giới thiệu phân lớp dựa trên luật kết hợp

 Chương 3: Trình bày chi tiết về thuật toán tối ưu hóa đàn kiến Phân lớp dựa trên luật kết hợp sử dụng giải thuật đàn kiến (ACO)

 Chương 4: Phần đánh giá thực nghiệm Trình bày về cài đặt chương trình, thử nghiệm và so sánh kết quả với một số công trình đã công bố gần đây

 Chương 5: Kết luận và hướng phát triển

Trang 11

4

CHƯƠNG 1:

TỔNG QUAN VỀ KHAI PHÁ LUẬT KẾT HỢP

1.1 Giới thiệu về khai phá luật kết hợp

Khai phá luật kết hợp (ARM - Association rules mining) lần đầu được Rakesh Agrawal Agrawal đưa ra vào năm 1993 [1] Khai phá luật kết hợp là một kỹ thuật được sử dụng trong khai phá dữ liệu nhằm tìm ra các phần tử thường xuất hiện cùng nhau trong cơ sở dữ liệu; từ đấy rút ra được các luật và ảnh hưởng của một tập phần tử dẫn đến sự xuất hiện của tập phần

tử khác Ví dụ, sự xuất hiện của A kéo theo sự xuất hiện của B nên ta có luật kết hợp (A→B)

Dạng luật nhờ vậy được gọi là luật kết hợp và quá trình tìm ra được các luật kết hợp được gọi

là khai phá luật kết hợp

Luật kết hợp là dạng luật khá đơn giản nhưng mang lại khá nhiều ý nghĩa Thông tin

mà luật kết hợp cung cấp hỗ trợ đáng kể trong quá trình đưa ra quyết định Các giải thuật khai phá luật kết hợp tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị Những nghiên cứu về luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán đã có

Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”,…(coi là tính chất hoặc trường) Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàng nào

đó, và chúng ta muốn tìm hiểu các khách hàng thường mua các mặt hàng nào đồng thời, chúng ta không cần biết khách hàng cụ thể là ai Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theo một gói hàng, giúp cho khắc đỡ mất công tìm kiếm Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện, những sự kiện xuất hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luật kết hợp là phát

Trang 12

đó X, Y  I, thỏa mãn điều kiện X Y= Các tập hợp X và Y được gọi là các tập hợp tính

chất (itemset) Tập X gọi là mệnh đề điều kiện hay còn gọi là nguyên nhân (phần bên trái), tập Y gọi là mệnh đề kết quả của luật tương ứng hay còn gọi là hệ quả (phần bên phải)

Transaction ID List of Item_IDs

T100 I1, I2, I5 T200 I2, I4 T300 I2, I3 T400 I1, I2, I4 T500 I1, I3 T600 I2, I3 T700 I1, I3 T800 I1, I2, I3, I5 T900 I1, I2, I3

Hình 1 1 Minh họa định nghĩa Item, Itemset, Transaction

 Item (phần tử): Các phần tử, mẫu, đối tượng đang được quan tâm

I = {i 1 ,i 2 , … ,i n } tập tất cả m phần tử có thể có trong tập dữ liệu

 Itemset (tập phần tử): Là tập hợp các Items Một itemset có k items được gọi là Itemset

k- Transaction (giao dịch): Lần thực hiện tương tác với hệ thống (ví dụ: giao dịch

“khách hàng mua hàng”) Liên hệ với một tập T gồm các phần tử được giao dịch

Ví dụ: trong siêu thị, ta có tập các mục I = {Sữa, Bánh mì, Bơ, Gạo} và một cơ sở dữ

liệu chứa các mục (tại mỗi giao tác, giá trị 1 là có mục, giá trị 0 là không có) như sau:

Trang 13

6

Bảng 1 1 Dữ liệu mua hàng ở siêu thị

Transaction ID Sữa Bánh mì Bơ Gạo

1.3 Các khái niệm về luật kết hợp

Để chọn ra các luật có ích từ tập các luật có thể có, ta cần ràng buộc những số đo đảm bảo ý nghĩa Hai ràng buộc được xem là quan trọng nhất, đó là giá trị độ hỗ trợ (Support) [2]

và độ tin cậy (Confident)

Để minh họa cho các khái niệm, ta lấy ví dụ CSDL với các giao dịch sau

Trang 14

7

Hạng mục (item): mặt hàng A = apple, B = bread, C = cereal, D = donuts, E = eggs

Tập các hạng mục (itemset): danh sách các hạng mục trong giỏ hàng

như {A,B,C,D,E}

Giao dịch (transaction): tập các hạng mục được mua trong một giỏ hàng, lưu kèm

với mã giao dịch (TID)

Mẫu phổ biến (frequent item): là mẫu xuất hiện thường xuyên trong tập dữ liệu

như {A,C} xuất hiện khá nhiều trong các giao dịch

Tập k-hạng mục (k-itemset): ví dụ danh sách sản phẩm (1-itemset) như {A,B,C},

danh sách cặp sản phẩm đi kèm (2-itemset) như {{A,B},{A,C}}, danh sách 3 sản phẩm đi kèm (3-itemset) như {{A,B,C},{A,C,E}}

Tập mục phổ biến (frequent itemset): là tập các hạng mục S (itemset) thỏa mãn độ

phổ biến tối thiểu (minsupp – do người dùng xác định như 40% hoặc xuất hiện 5 lần)

Nếu Supp(S) >= minsupp thì S là tập phổ biến Sẽ được giới thiệu chi tiết hơn ở phần

bên dưới

1.3.1 Độ hỗ trợ (Support)

Độ hỗ trợ (tên tiếng anh là support) của một tập mục X [2] được định nghĩa là tỷ lệ các giao tác có chứa tập mục này trong cơ sở dữ liệu với tổng số các giao tác Là độ đo tần số xuất hiện của các phần tử/tập phần tử

Ví dụ, tập mục {milk, bread, butter} có độ phổ biến là 2/5 = 0.4 hay 40% số giao tác

Định nghĩa 2:

Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi

T D có chứa tập X và tổng số bản ghi trong D [2] (hay là phần trăm của các bản ghi trong

D có chứa tập hợp X), ký hiệu là support(X) hay supp(X)

Trang 15

8

Supp(XY) = |{TD: TYX}|

|D|

Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, nghĩa là có 50% tổng số giao tác

chứa X Y [2] Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật

1.3.2 Độ tin cậy (Confident)

Định nghĩa 4:

Độ đo đo tần số xuất hiện của một tập phần tử trong điều kiện xuất hiện của một tập phần tử khác

Độ tin cậy (tên tiếng anh là confident) được định nghĩa như sau: Độ tin cậy của luật X

 Y là xác suất xuất hiện Y với điều kiện X trong tất cả các giao tác:

Conf(XY) = Supp(X Y)/Supp(X)

Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi của tập hợp chứa

X Y, so với tổng số các bản ghi chứa X

Ta có thêm định nghĩa khác để hiểu rõ hơn về độ tin cậy :

Định nghĩa 5:

Độ tin cậy của một luật kết hợp X Y là tỷ lệ giữa số lượng các bản ghi trong D chứa

XY với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là Conf(r)

Ta có 0 ≤ conf(r) ≤ 1

Nhận xét:

Supp(X Y)=P(XY) Conf (X Y) = P(Y/X)=supp(XY)/supp(X)

Nói rằng độ tin cậy của một luật X=>Y là 90%, có nghĩa là có tới 90% số bản ghi chứa

X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sự kiện Y đạt 90%” Điều kiện ở đây chính là: “Xảy ra sự kiện X”

1.3.3 Tập mục phổ biến (Frequent itemset)

Định nghĩa 6: Tập hợp X được gọi là tập mục phổ biến (Frenquent itemset) nếu có supp(X) minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập này là FI

Định nghĩa 7: Một tập mục X được gọi là đóng (closed) nếu không có tập cha nào của

X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’X và t(X) = t(X’)

Trang 16

9

(với t(X) và t(X’) tương ứng là tập các giao chứa tập mục X và X’) Ký hiệu tập phổ biến đóng là FCI

Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết

hợp thỏa mãn các ngưỡng độ hỗ trợ ( ) và ngưỡng độ tin cậy () cho trước Bài toán khai phá

luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:

 Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T

 Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules) Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng

ta có thể xác định luật AB →CD với tỷ lệ độ tin cậy:

conf =supp⁡(ABCD)

𝑠𝑢𝑝𝑝(𝐴𝐵)

Nếu conf  minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là

phổ biến)

1.4 Các công trình nghiên cứu

Khai phá luật kết hợp là một kỹ thuật quan trọng trong lĩnh vực khai phá dữ liệu Mục tiêu khai phá là phát hiện những mối liên hệ giữa các giá trị dữ liệu trong các dữ liệu giao dịch Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân hay còn gọi là

mô hình cơ bản (Agrawal et al., 1993) [1], phân tích dữ liệu giao dịch, phát hiện các mối liên

hệ giữa các tập mục hàng hoá đã bán được tại các siêu thị Từ đó, doanh nghiệp có kế hoạch

bố trí, sắp xếp, kinh doanh hợp lý, đồng thời tổ chức sắp xếp các quầy gần nhau để có doanh thu trong các phiên giao dịch là lớn nhất

Bài toán khai phá luật kết hợp là bài toán khai phá các luật kết hợp có độ hỗ trợ (support) cũng như độ tin cậy (confidence) lớn hơn hoặc bằng một ngưỡng hỗ trợ tối thiểu (minsup) và ngưỡng tin cậy tối thiểu (minconf)

Các thuật toán được đề xuất để khai phá luật kết hợp bao gồm 2 giai đoạn [1] [3]:

(Agrawal et al., 1993, 1994; Han.J et al., 2000)

Giai đoạn 1: Tìm tất cả các tập mục phổ biến từ dữ liệu giao dịch thoả minsupp Giai đoạn 2: Sinh các luật tin cậy kết hợp từ tập mục phổ biến tìm thấy ở giai đoạn thứ nhất

Trang 17

10

Giai đoạn thứ nhất chiếm hầu hết thời gian cho quá trình khai phá luật kết hợp Giá trị ngưỡng phổ biến tối thiểu minsup là yếu tố quan trọng trong quá trình rút gọn không gian tìm kiếm cũng như giới hạn các luật sinh trong giai đoạn thứ hai Các thuật toán khai phá luật kết hợp truyền thống chỉ dùng một giá trị ngưỡng hỗ trợ tối thiểu ‘minsupp’ với ngầm định là các mục hàng có cùng tính chất và tần số trong dữ liệu, điều này không thực tế Trong kinh doanh bán lẻ, thông thường các mặt hàng thiết yếu, hàng tiêu dùng và các sản phẩm giá rẻ được mua nhiều hơn, trong khi các mặt hàng xa xỉ và các sản phẩm giá trị cao lại ít được mua Nếu chọn minsupp quá cao thì các mặt hàng được khai phá thông thường có giá thành thấp và mang lại lợi nhuận không cao cho doanh nghiệp Ngược lại, nếu chọn minsupp quá thấp thì các mặt hàng được khai phá quá lớn, điều này làm cho doanh nghiệp khó khăn khi ra quyết định kinh doanh Vì vậy, Liu et al (1999) đã mở rộng bài toán khai phá luật kết hợp với nhiều ngưỡng phổ biến tối thiểu (mỗi mục hàng có một ngưỡng phổ biến tối thiểu riêng) tương ứng mỗi mục hàng khác nhau có tính chất khác nhau và tần số giao dịch khác nhau Nhóm tác giả này

đã đề xuất thuật toán MSApriori – khai phá luật kết hợp khác nhau thỏa ngưỡng phổ biến tối

thiểu khác nhau phụ thuộc vào các mục hàng có trong luật

Một số thuật toán điển hình khai phá tập phổ biến với nhiều ngưỡng phổ biến tối thiểu:

Thuật toán growth++ (Kiran et al., 2011) đã đề xuất cải tiến thuật toán

CFP-growth bằng cách rút gọn không gian tìm kiếm và xây dựng MIStree nhỏ gọn dựa trên tree Thuật toán đề xuất bốn kỹ thuật rút gọn không gian tìm kiếm : ngưỡng phổ biến tối thiểu thấp nhất, ngưỡng phổ biến tối thiểu có điều kiện, tính chất bao đóng có điều kiện và tỉa các nút lá không phổ biến Thuật toán cải thiện hiệu suất đáng kể so với thuật toán CFP-growth

MIS-Các thuật toán trên chưa đáp ứng thực tế, khi cần khai phá luật kết hợp thì người dùng

có thể yêu cầu thực hiện khai phá luật kết hợp thỏa nhiều ngưỡng phổ biến tối thiểu trong nhiều chuỗi thao tác liên tiếp khác nhau (xây dựng lại MIS-tree và rút gọn không gian từ đầu

Thuật toán Apriori

Thuật toán dựa trên một nhận xét khá đơn giản là bất kỳ tập hợp con nào của tập xuất hiện

 thường xuyên cũng là tập xuất hiện  – thường xuyên Do đó, trong quá trình đi tìm các tập ứng cử viên, nó chỉ cần dùng đến các tập ứng cử viên vừa xuất hiện ở bước ngay trước

đó, chứ không cần dùng đến tất cả các tập ứng cử viên (cho đến thời điểm đó) Nhờ vậy, bộ nhớ được giải phóng đáng kể

Trang 18

được các tập hợp – thường xuyên có 2 phần tử Ký hiệu tập hợp này là L2

 Bước 3: Với chủ ý đã nêu (về tính chất tăng dần của các tập hợp – thường xuyên), ta

tiến hành tìm các ứng cử viên có 3 phần tử (lấy từ L1) Gọi nó là tập C3 Lưu ý là nếu {A, B, C} muốn là “ứng cử viên” thì các tập 2 phần tử {A, B},{B,C},{C, A } đều phải

là – thường xuyên, tức là chúng đều là phần tử của tập L2 Ta đi “kiểm tra tư cách

đại biểu” trong tập C3 và lọc ra được tập các tập hợp – thường xuyên có 3 phần tử

Tập hợp này được ký hiệu là L3

 Bước 4: Ta tiến hành tìm các ứng cử viên có n phần tử Gọi tập của chúng là tập Cn

và từ đây, lọc ra Ln là tập các tập hợp – thường xuyên có n phần tử

Mã giả thuật toán Apriori

Dữ liệu vào: Tập các giao dịch D, ngưỡng hỗ trợ minsup

Dữ liệu ra: Tập trả lời bao gồm các tập mục phổ biến trên D

Trang 19

12

Cốt lõi của thuật toán Apriori là hàm apriori_gen() do Agrawal đề nghị năm 1994 [1]

Hàm này hoạt động theo 2 bước, bước 1- tập hợp Lk-1 tự kết nối (join) với chính nó để tạo

ra tập ứng cử viên Ck Sau đó hàm apriori_gen() loại bỏ các tập hợp có một hợp con (k-1)

phần tử không nằm trong Lk-1 (vì chúng không thể là tập hợp xuất hiện  – thường xuyên, theo như nhận xét ban đầu)

Thuật toán Apriori-TID

Thuật toán Apriori-TID là phần mở rộng theo hướng tiếp cận cơ bản của thuật toán Apriori Thay vì dựa vào cơ sở dữ liệu thô thuật toán Apriori- TID biểu diễn bên trong mỗi giao dịch bởi các ứng cử viên hiện hành

Như ta đã thấy, thuật toán Apriori đòi hỏi phải quét toàn bộ cơ sở dữ liệu để tính độ hỗ trợ cho các tập hợp ứng cử viên ở mỗi bước Đây là một sự lãng phí lớn Dựa trên tư tưởng ước đoán và đánh giá độ hỗ trợ, Agrawal đề xuất cải tiến Apriori theo hướng chỉ phải quét cơ

sở dữ liệu lần đầu tiên, sau đó tính độ hỗ trợ cho các tập hợp 1 phần tử Từ bước thứ hai trở

đi, Thuật toán Apriori-TID nhờ lưu trữ song song cả ID của giao dịch và các ứng cử viên, có thể đánh giá, ước lượng độ hỗ trợ mà khỏi phải quét lại toàn bộ cơ sở dữ liệu

Sự khác nhau giữa Apriori và AprioriTID là: cơ sở dữ liệu không được sử dụng để đếm các support sau lần đầu tiên quét qua cơ sở dữ liệu Vì sau lần quét đầu tiên các 1- itemset đã được sinh (các L1), các L1 này được dùng để lọc ra các giao dịch của cơ sở dữ liệu bất kỳ

item nào là không phổ biến và những giao dịch trong C1 chỉ chứa những item không phổ biến Kết quả đó được đưa vào C2 và sử dụng lần quét đó Vì vậy kích thước của C2 là khá nhỏ hơn

so với C1 Sự giống nhau của hai thuật toán này là đều sử dụng bước cắt tỉa trong hàm

Apriori_gen()

Thuật toán FP-Growth

Đề xuất bởi J.Han năm 2000 [3] , là một thuật toánbiểu diễn dữ liệu các giao dịch bằng một cấu trúc dữ liệu gọi là FP-Tree

FP-Growth sử dụng FP-Tree để xác định trực tiếp các tập hạng mục phổ biến (không sinh các tập hạng mục ứng viên từ các tập hạng mục ứng viên trước)

Khi một FP-Tree đã được xây dựng, FP-Growth sử dụng cách tiếp cận chia để trị đệ quy

để khai phá các tập phổ biến Với mỗi giao dịch, FP-Tree xây dựng một đường đi (path) trong cây Hai giao dịch có chứa cùng một số các mục, thì đường đi của chúng sẽ có phần (đoạn)

Trang 21

Khác với phân cụm dữ liệu, phân lớp dữ liệu được xem là một quá trình “học có giám sát” Sau khi được xây dựng, mô hình phân lớp có thể được sử dụng để phân lớp các dữ liệu mới Mỗi bản ghi trong tập dữ liệu huấn luyện có một thuộc tính gọi là nhãn lớp (Class label)

để chỉ ra bản ghi đó thuộc lớp nào Mục đích: để dự đoán những nhãn dùng để phân lớp cho các bộ dữ liệu hay mẫu mới

Đầu vào là một tập các mẫu dữ liệu huấn luyện với một nhãn phân lớp cho mỗi mẫu dữ liệu Trong khi đó, đầu ra là một mô hình hay còn gọi là bộ phân lớp dựa trên tập huấn luyện

và những nhãn phân lớp

Trong phân lớp kết hợp, trọng tâm là trình bày các luật kết hợp chỉ có một thuộc tính

cụ thể trong hệ quả Những luật kết hợp được chọn lọc sau khi kiểm tra độ hỗ trợ (support)

và độ tin cậy (confident)

Có các kỹ thuật khai phá dữ liệu khác nhau bao gồm phân lớp giám sát, khai phá luật kết hợp hoặc phân tích thị trường, phân cụm không giám sát, khai phá dữ liệu web và hồi quy tuyến tính Một kỹ thuật liên quan đến khai phá dữ liệu là phân lớp Mục đích của phân lớp

là xây dựng một mô hình dữ liệu đào tạo có thể dự đoán chính xác lớp của các đối tượng chưa được xác định hoặc là những dữ liệu thử nghiệm Đầu vào của quá trình huấn luyện này là một tập hợp các đối tượng cùng với các lớp (dữ liệu đào tạo có giám sát)

Khi một mô hình dự đoán được xây dựng, nó có thể được sử dụng để dự đoán lớp của các đối tượng trong các trường hợp thử nghiệm mà các lớp đó không được biết đến Để đo lường độ chính xác của mô hình, bộ dữ liệu có sẵn được chia thành quá trình huấn luyện và

Trang 22

dữ liệu (dataset) Độ support và confidence được tận dụng để tìm ra các luật quan trọng Đưa ra một bộ luật chứa các luật cho mỗi lớp, bằng cách sử dụng các luật k tốt nhất của mỗi lớp để dự đoán, với quy trình sau:

(1) Chọn tất cả các luật thỏa mãn bằng các ví dụ;

(2) Từ các luật được chọn trong bước (1), chọn k luật tốt nhất cho mỗi lớp;

(3) So sánh độ chính xác của các k luật tốt nhất của mỗi lớp và chọn lớp có độ chính xác cao nhất để làm lớp dự đoán

Lý do sử dụng nhiều luật trong dự đoán vì:

 Độ chính xác của các luật không thể được ước tính chính xác

 Không thể mong đợi rằng bất kỳ luật nào có thể hoàn hảo dự đoán được nhãn lớp của mọi ví dụ

 Hơn nữa, sử dụng các k luật tốt nhất thay vì tất cả các luật vì có số lượng luật khác nhau cho các lớp khác nhau và không muốn sử dụng thứ hạng thấp hơn luật trong dự đoán khi đã có đủ luật để đưa ra dự đoán

 Một luật kết hợp dựa trên lớp là một luật trong đó hệ quả của luật luôn là nhãn lớp Sự khác biệt chính giữa khai phá luật kết hợp và bài toán phân lớp là kết quả của các luật được tạo ra

 Việc tìm kiếm các luật trong bài toán phân lớp hướng tới là lớp, trong khi đó khai phá luật kết hợp không được hướng tới bất kỳ thuộc tính cụ thể

Mục đích của phân lớp là xây dựng một mô hình dữ liệu đào tạo có thể dự đoán chính xác lớp của các đối tượng không nhìn thấy hoặc thử nghiệm

Trang 23

16

2.3 Các khái niệm cơ bản trong bài toán phân lớp dựa trên luật kết hợp

Phân lớp dựa trên khai phá luật kết hợp (Classification based on Association Rules (CBA)) là tìm một tập con của các luật kết hợp có trong cơ sở dữ liệu Mỗi luật trong tập con này chứa vế phải là giá trị của lớp Bài toán được phát biểu như sau:

Cho cơ sở dữ liệu D, I là tập tất cả các item trong D Y là tập các nhãn lớp Luật phân lớp kết hợp là một biểu thức có dạng X  y trong đó X I và y Y Độ tin cậy của luật là c

nếu c% mẫu trong D chứa X được gán nhãn là lớp y Độ phổ biến của luật là s nếu có s% mẫu

trong D chứa X được gán nhãn là lớp y Trong đó, mứ c đô ̣ mà ta ̣i đó kết quả không thay đổi theo thời gian và đại diện chính xác cho tổng thể được nghiên cứu được gọi là độ tin cậy và nếu kết quả nghiên cứu có thể được sao chép theo phương pháp luận tương tự, khi đó, công

cụ nghiên cứu được xem là đáng tin cậy Và độ hỗ trợ đã được định nghĩa ở chương 1 Các bước thực hiện phân lớp dựa vào luật kết hợp là:

(1) Tìm các tập mục phổ biến dựa vào minsupp và luật kết hợp dựa vào minconf

(2) Phát sinh luật, xây dụng mô hình phân lớp

(3) Tiến hành phân lớp

Cho D là một CSDL huấn luyện với n thuộc tính A1, A2, …, An, mỗi thuộc tính có một tập các giá trị tương ứng C là lớp chứa k giá trị khác nhau C1, C2, …, Ck đại diện các lớp trong D

Chẳng hạn, cho D là CSDL huấn luyện được cho trong bảng 1, với 8 dòng dữ liệu (|D| = 8), trong đó A = {A, B, C}, lớp là thuộc tính quyết định, chẳng hạn Class = {y, n}, là

Trang 24

17

Định nghĩa 1: Itemset là một tập các thuộc tính cùng với giá trị xác định của nó trong

tập đó, kí hiệu <(Ai1 , a i1), …, (Aim , a im )>

Định nghĩa 2: Luật phân lớp r là phép kéo theo có dạng

<(Ai1 , a i1), …, (Aim , a im )> → cj Trong đó <(A i1 , a i1), …, (Aim , a im )>.là một Itemset còn c ∈ C là một nhãn lớp

Định nghĩa 3: Độ hỗ trợ r, ký hiệu là Sup(r), là số dòng của r chứa cả vế trái lẫn vế

phải

Định nghĩa 4: Độ tin cậy của r, ký hiệu là Conf(r), Conf(r) = Sup{(A il , a il ),…, (A im , a im ), c}/ Sup{( Ail , a il ),…, (A im , a im )}

Định nghĩa 5: literal: Một literal p là một cặp thuộc tính, có dạng (Ai;v), trong đó Ai là

một thuộc tính và v một giá trị Một tuple hay còn gọi là chỉ số t đáp ứng một literal p = (Ai; v) khi và chỉ khi ti = v, trong đó ti là giá trị của thuộc tính thứ i của t

Định nghĩa 6: (luật - Rule) Một luật r, có hình thức“p1 ^ p2 ^ · · · ^ pl! c," bao gồm một

sự kết hợp của chữ p1, p2 , , pl, liên kết với nhãn lớp c Một tuple t thỏa mãn luật r của phần thân khi và chỉ khi nó thỏa mãn mỗi một literal trong luật Nếu t thỏa mãn phần thân của luật r, thì r sẽ dự đoán t đó là của lớp c Nếu một luật không có literal, thì phần thân

sẽ thỏa mãn được bởi bất kỳ tuple nào

2.4 Một số thuật toán liên quan

2.4.1 Thuật toán CMAR (classification based on multiple association rules)

Năm 2001, Li và các đồng sự đã đề xuất thuật toán CMAR (classification based on multiple association rules) [4] Phương pháp này dựa vào FP-tree để nén dữ liệu và dùng phép chiếu trên cây để tìm luật phân lớp Đầu tiên, để khai phá với chỉ một lần quét CSDL và dựa vào phần giao giữa các tập định danh các đối tượng để tính nhanh độ hỗ trợ của các itemset

và luật Mặc dù có một số ưu điểm như chỉ quét CSDL một lần và khai phá luật nhanh nhưng vẫn còn một số hạn chế như sau: Do nhóm tất cả các giá trị của cùng một tập thuộc tính thành một nút nên ECR-CARM tốn thời gian kiểm tra tiền tố để kết hợp các phần tử từ các nút trên cây

Trang 25

18

2.4.2 Thuật toán PRM (Predictive Rule Mining)

Thuật toán luật dự đoán khai phá (PRM), được điều chỉnh từ thuật toán FOIL để đạt được độ chính xác cao hơn và hiệu quả Một lý do khiến FOIL không đạt được độ chính xác cao là nó tạo ra một số luật rất nhỏ Trong PRM, sau khi một mẫu được bao phủ một cách chính xác theo luật, thay vì xóa nó, trọng số của nó bị giảm bằng cách nhân với factor

𝑔𝑎𝑖𝑛(𝑎) = ⁡𝑊𝑃′ ∗ (log 𝑊𝑃

𝑊𝑃′+ 𝑊𝑁′− log 𝑊𝑃

𝑊𝑃 + 𝑊𝑁) ⁡(1)

Trong đó : WP’ : tổng số lần xuất hiện của a trong P’

WN’ : tổng số lần xuất hiện của a trong N’

WP : tổng trọng số của P

WN : tổng trọng số của N

PN = WP + WN

Phần tốn nhiều thời gian nhất của FOIL là đánh giá từng literal khi tìm kiếm thuộc tính

có mức tăng cao nhất Thực tế để tính toán gain, chỉ cần biết thông tin được lưu trữ trong dữ liệu cấu trúc được gọi là PNArray

PNArray là một cấu trúc 2 chiều lưu trữ thông tin sau đây tương ứng với luật r

1 P và N: số mẫu dương tính và số mẫu âm tính thỏa nội dung của luật r

2 P (p) và N (p): cho mỗi p có thể, số các mẫu dương tính và âm tính làm thỏa nội dung của luật r’, luật được xây dựng bằng cách thêm p vào r

PRM có hiệu quả cao hơn nhưng độ chính xác thấp hơn phân lớp kết hợp Trong PRM, các luật được tạo từ tập dữ liệu còn lại Giả sử một mẫu t trong tập dữ liệu còn lại được bao phủ bởi luật r vừa được tạo Không chắc chắn r là tốt nhất cho t vì r được tạo ra bởi thuật toán tham lam; và r được tạo từ tập dữ liệu còn lại thay vì toàn bộ tập dữ liệu

Trong PRM, cũng tạo ít nhất một số luật nhất định cho mỗi mẫu (tùy thuộc vào hệ số phân rã trọng số α) Tuy nhiên, những một số luật không nhất thiết phải là luật tốt nhất cho mẫu được minh họa ở trên Khi chọn literal trong quá trình xây dựng luật, PRM chỉ chọn literal tốt nhất và bỏ qua tất cả những literal khác Thường có một vài literal với một gain tương tự Do đó, thường có nhiều luật tương tự độ chính xác dựa trên tập dữ liệu còn lại luật tốt nhất trong số đó có thể không phải là luật tốt nhất dựa trên toàn bộ tập dữ liệu Tuy nhiên, PRM chỉ chọn một trong số chúng, có thể dẫn đến thiếu một số luật quan trọng

Trang 26

19

2.4.3 Thuật toán CPAR

So với phân lớp kết hợp, phân lớp dựa trên luật truyền thống, chẳng hạn như C4.5, FOIL

và RIPPER, nhanh hơn đáng kể nhưng độ chính xác của chúng, trong hầu hết các trường hợp,

có thể không cao CPAR (Classification based on Predictive Association Rules) [5], kết hợp các lợi thế của cả phân lớp kết hợp và phân lớp dựa trên luật truyền thống Thay vì tạo ra một

số lượng lớn các luật ứng viên như trong phân lớp kết hợp, CPAR sử dụng thuật toán tham lam để tạo ra các luật trực tiếp từ dữ liệu đào tạo Hơn nữa, CPAR tạo và kiểm tra nhiều luật hơn các bộ phân lớp dựa trên luật truyền thống để tránh thiếu các luật quan trọng

CPAR kế thừa ý tưởng cơ bản của FOIL trong việc tạo luật và tích hợp các tính năng của phân lớp kết hợp trong phân tích luật dự đoán So với phân lớp kết hợp, CPAR có những

ưu điểm sau: CPAR tạo ra một bộ luật tiên đoán chất lượng cao hơn nhiều trực tiếp từ tập dữ liệu; để tránh tạo ra các luật dư thừa, CPAR tạo ra mỗi luật bằng cách xem xét bộ luật "đã được phát hành"; và khi dự đoán nhãn lớp của một ví dụ, CPAR sử dụng các luật k tốt nhất

mà ví dụ này thỏa mãn

Trong phân lớp kết hợp, khai phá luật kết hợp được sử dụng để tạo ra các luật ứng viên, bao gồm tất cả các tập hợp của các literal đáp ứng ngưỡng hỗ trợ Sau đó, một tập con của các luật được chọn từ các ứng viên Tập hợp con này được xây dựng bằng cách kết hợp các luật tốt nhất cho mọi mẫu dữ liệu

Nó đứng ở giữa các thuật toán và kết hợp các ưu điểm của cả hai CPAR xây dựng các luật bằng cách thêm từng literal một tương tự như PRM Tuy nhiên, thay vì bỏ qua tất cả các literal ngoại trừ cái tốt nhất, CPAR giữ tất cả những literal tốt nhất trong quá trình xây dựng luật Bằng cách làm như vậy, CPAR có thể chọn nhiều hơn một literal và xây dựng nhiều luật

cùng một lúc

Giả sử tại một số bước trong quá trình xây dựng luật, sau khi tìm literal p tốt nhất, một literal q khác có gain tương tự như p (mẫu: khác nhau nhiều nhất là 1%) được tìm thấy Bên cạnh việc tiếp tục xây dựng luật bằng cách thêm p vào r, q cũng được nối thêm với luật hiện tại r để tạo luật mới r’, bằng cách đẩy vào hàng đợi Mỗi lần khi luật mới được xây dựng, hàng đợi được kiểm tra đầu tiên Nếu nó không trống, một luật được trích xuất từ nó và được lấy làm luật hiện hành Kết quả là, CPAR có hiệu quả về thời gian hơn trong cả việc tạo luật

và dự đoán nhưng đạt được độ chính xác cao như phân lớp sơ cấp Positive example là tập

mẫu đươc dán nhãn 1 (Mẫu tích cực)

Trang 27

20

Ví dụ: Trong chuẩn đoán bệnh nhân bị lao, tập hợp những người bị chuẩn đoán mắc bệnh được dán nhãn 1 (đây là positive example), những người được chuẩn đoán không bị bệnh sẽ được dán nhãn 0 (tập những người như thế được gọi là tập nagative example)

2.4.4 Thuật toán FCBA : Fast Classification Based on Association Rules Algorithm

Hiện nay có nhiều ứng dụng quan trọng được chú trọng áp dụng luật phân lớp - chẳng hạn như chẩn đoán y tế, văn bản phân tích, lừa đảo trang web và nhiều thứ khác Vì vậy cần một công cụ tự động để nâng cao quá trình đưa ra quyết định Sử dụng các quy tắc kết hợp trong quá trình phân loại là một kỹ thuật trong lĩnh vực khai phá dữ liệu để làm cho chính xác hơn trong các quyết định quan trọng Đây được gọi là phân loại liên kết (AC) Tuy nhiên, hầu hết các thuật toán AC không có thể mở rộng vì chúng bị ảnh hưởng bởi kích thước của tập

dữ liệu

Hơn nữa, vấn đề về mức độ chính xác của thuật toán so với thời gian cần thiết để xây dựng mô hình là rất quan trọng; một số các thuật toán có mức độ chính xác cao nhưng mất nhiều thời gian để xây dựng một mô hình, trong khi những người khác mất thời gian ngắn để xây dựng một mô hình nhưng có mức độ chính xác thấp Để giải quyết những vấn đề này,

vào năm 2016 các tác giả Jaber Alwidian, Bassam Hammo, and Nadim Obeid [5] đã đề

xuất trong bài báo này, phân loại nhanh dựa trên liên kết Thuật toán quy tắc (FCBA) dựa trên nội bộ và bên ngoài mới phương pháp cắt tỉa để tạo ra quy tắc kết hợp bằng cách sử dụng Thuật toán Apriori Các tác giả đã so sánh thuật toán được đề xuất với bốn thuật toán AC nổi tiếng, cụ thể là CBA, CMAR, Các thuật toán MCAR và FACA, dựa trên 11 bộ dữ liệu UCI Phần lớn của bộ dữ liệu là y tế và có kích thước khác nhau Điều này cho phép các tác giả có thể đánh giá khả năng mở rộng và độ chính xác của các thuật toán Ngoài ra, các nghiên cứu thử nghiệm rộng rãi cho thấy rằng thuật toán FCBA là có khả năng mở rộng hơn những thuật toán khác Không những thế, thuật toán FCBA vượt trội hơn những thuật toán khác về độ chính xác và thời gian xây dựng mô hình FCBA đứng đầu với 64% và đứng thứ hai trong 36% bộ dữ liệu, với thời gian trung bình nhỏ hơn 0,01 giây Do đó, nó đạt được độ chính xác cao nhất và nhanh nhất thời gian trung bình để xây dựng mô hình, so với các thuật toán khác Trong bộ dữ liệu y tế, FCBA hoạt động tốt hơn, chiến thắng trong 67% bộ dữ liệu và đứng thứ hai trong 33%, với mức trung bình thời gian dưới 0,01 giây

Trang 28

21

2.4.5 Phân loại dữ liệu dựa trên chọn lọc tính năng

Mục đích của bài báo này là nghiên cứu vấn đề tìm ra bộ tính năng tối ưu có ảnh hưởng đến khám phá và đề xuất một phương pháp mới để lựa chọn tính năng

phân loại dữ liệu

Nghiên cứu này nhằm mục đích nghiên cứu việc phân loại dữ liệu về dữ liệu chiều cao dựa trên tính năng chọn lọc với khai phá quy tắc kết hợp Vấn đề dữ liệu phân loại với nhiều đặc điểm là phân loại mô hình có thể mang lại độ chính xác thấp và giai đoạn xây dựng mô hình tiêu thụ rất nhiều tài nguyên tính toán do kết quả của các tính năng vô dụng trong dữ liệu Do đó, ở ý tưởng này đề xuất sử dụng khai phá quy tắc kết hợp để tạo ra các quy tắc có

hệ quả như thuộc tính lớp [6] Lý do là những quy tắc có thể hiển thị các tính năng thường xuyên có tác động lớn đến thuộc tính lớp Trong bài báo này thuật toán để xem xét các tính năng thường xuyên từ liên kết tạo ra luật Thuật toán của này cũng lược bỏ các tính năng xuất hiện ít hơn so với các tính năng được khám phá khác

2.4.6 CBIR: Phân lớp dựa trên luật kết hợp và các cách tiếp cận trong Data

mining

Hầu hết các phương pháp khai thác văn bản hiện có đều áp dụng các cách tiếp cận dựa trên thuật ngữ nhưng tất cả đều mắc phải vấn đề về từ đồng nghĩa Polysemy là từ mang lại nhiều nghĩa của từ và từ đồng nghĩa là từ mang lại ý nghĩa tương tự của từ Sau một số năm, người ta đã được áp dụng các phương pháp tiếp cận dựa trên khuôn mẫu nên hoạt động tốt hơn các phương pháp tiếp cận dựa trên thuật ngữ Bài báo này với các triển khai hệ thống được đề xuất kỹ thuật khám phá mẫu và hiệu quả hơn bao gồm các quy trình triển khai mẫu

và phát triển mẫu, để cải thiện hiệu quả của việc sử dụng và cập nhật các mẫu đã khám phá

để tìm kiếm thông tin có liên quan và hiệu quả với người dùng

Ý tưởng là phát triển một bản mô tả đặc điểm của những bộ khung để hình dung ra các quy tắc đáp ứng các ràng buộc đã cho Điều này mô tả đặc tính cho phép sau này xem xét tất cả các bộ mặt hàng có mục tiêu cuối cùng mà bất kỳ tập hợp mạnh nào cũng sẽ không định hình các quy tắc bất hợp lệ

Một khung phân loại dựa trên quy tắc kết hợp được khai thác trong điều kiện WEKA

Ý tưởng đã triển khai thuật toán xây dựng mô hình CBA và so sánh việc thực thi CBA với

mô hình tất cả các quy tắc (ARM) trong đó tất cả các quy tắc được khai phá là một phần của

mô hình [7] Ở đây đã phát triển các chế độ khác nhau để dự đoán một trường hợp chưa được

Trang 29

22

phân loại, ví dụ: quy tắc đơn lẻ hoặc dự đoán quy tắc khác được cân nhắc bởi độ tin cậy / hỗ trợ

2.4.7 MISFP-Growth:Mô hình khai thác và hỗ trợ nhiều mặt hàng

Trong thực tế, hỗ trợ một mục không thể giải quyết toàn diện sự phức tạp của các mục trong tập dữ liệu lớn Trong nghiên cứu này đã đề xuất một khung phân tích dữ liệu lớn (có tên là Mẫu hỗ trợ nhiều mặt hàng thường xuyên, thuật toán tăng trưởng MISFP) sử dụng tính toán song song dựa trên Hadoop để đạt được hiệu quả cao khai thác các tập hợp vật phẩm với nhiều hỗ trợ mục (MIS)

Để tạo điều kiện thuận lợi cho những người ra quyết định trong việc thiết lập MIS, ở đây cũng đề xuất khái niệm phân loại mặt hàng (COI), phân loại các mặt hàng có tính đồng nhất cao hơn vào cùng một loại, theo đó các mặt hàng kế thừa hỗ trợ lớp như hỗ trợ vật phẩm của họ

Trang 30

3.1 Kiến thức từ thực tế đến nhân tạo

Khi tìm đường đi, đàn kiến trao đổi thông tin gián tiếp và hoạt động theo phương thức tự

tổ chức Mặc dù đơn giản nhưng phương thức này giúp cho đàn kiến có thể thực hiện được những công việc phức tạp vượt xa khả năng của từng con kiến, đặc biệt là khả năng tìm đường đi ngắn nhất từ tổ đến nguồn thức ăn mặc dù chúng không có khả năng đo độ dài đường đi Trước hết

ta xem các đàn kiến tìm đường đi như thể nào mà có thể giải quyết được các vấn đề tối ưu hóa

3.1.1 Kiến thật

Trên đường, mỗi con kiến để lại một chất hóa học gọi là vết mùi (pheromon) dùng để đánh dấu đường đi Bằng cách cảm nhận vết mùi, kiến = có thể lần theo đường đi đến nguồn thức ăn được các con kiến khác khám phá theo phương thức chọn ngẫu nhiên có định hướng theo nồng độ vết mùi Các con kiến chịu ảnh hưởng của các vết mùi của các con kiến khác là ý tưởng để thiết kế thuật toán ACO

Thí nghiệm trên cây cầu đôi

Có nhiều thực nghiệm nghiên cứu về hành vi để lại vết mùi và theo vết mùi của loài kiến Một thực nghiệm được thiết kế bởi Deneubourg và các đồng nghiệp (Deneubourg, Aron, Goss, & Pasteels, 1990; Goss et al., 1989) nhờ dùng một chiếc cầu đôi nối từ tổ của loài kiến tới nguồn thức ăn như minh họa trong hình 3.1 Họ đã thực nghiệm với tỉ lệ độ dài đường r =

𝑙l / 𝑙s giữa hai nhánh của chiếc cầu đôi khác nhau, trong đó 𝑙l là độ dài của nhánh dài còn 𝑙𝑠

là độ dài của nhánh ngắn

Trong thực nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau (𝑟 = 1) Ban đầu, kiến lựa chọn đường đi một cách tự do đi từ tổ đến nguồn thức ăn, cả hai nhánh đều có kiến đi, nhưng sau một thời gian các con kiến này tập trung đi theo cùng một nhánh Kết quả có thể được giải thích như sau: Ban đầu không có vết mùi nào trên

cả hai nhánh, do đó các kiến lựa chọn nhánh bất kỳ với xác suất như nhau Một cách ngẫu

Trang 31

24

nhiên, sẽ có một nhánh có số lượng kiến lựa chọn nhiều hơn nhánh kia Do kiến để lại vết mùi trong quá trình di chuyển, nhánh có nhiều kiến lựa chọn sẽ có nồng độ mùi lớn hơn nồng độ mùi của nhánhcòn lại Nồng độ mùi trên cạnh lớn hơn sẽ ngày càng lớn hơn vì ngày càng có nhiều kiến lựa chọn Cuối cùng, hầu như tất cả các kiến sẽ tập trung trên cùng một nhánh.Thực nghiệm này cho thấylà sự tương tác địa phương giữa các con kiến nhờ thông tin gián tiếp qua vết mùi để lại mà có thể điều chỉnh hoạt động vĩ mô của kiến

Trong thực nghiệm thứ hai (xem hình 3.1b), độ dài giữa nhánh dài hơn gấp đôi nhánh ngắn hơn (tỉ lệ 𝑟 = 2) Trong trường hợp này, sau một thời gian tất cả các kiến chọn đi duy nhất theo đường ngắn hơn Cũng như thực nghiệm

thứ nhất, ban đầu kiến lựa chọn đường đi theo hai nhánh như nhau, ta có thể giả sử một nửa kiến đi theo nhánh ngắn và một nửa đi theo nhánh dài (mặc dù ngẫu nhiên nhưng vẫn có thể một nhánh sẽ có nhiều lựa chọn hơn nhánh khác) Tuy nhiên thực nghiệm này khác với thực nghiệm trên: bởi vì một nhánh ngắn hơn nhánh kia nên các kiến lựa chọn theo nhánh ngắn hơn sẽ nhanh chóng quay trở lại từ nguồn thức ăn về tổ và phải lựa chọn giữa nhánh ngắn và nhánh dài, nồng độ mùi trên nhánh ngắn đang cao hơn nồng

độ mùi trên nhánh dài, do đó nó ưu tiên lựa chọn đi theo nhánh ngắn hơn Thật thú vị, chúng ta có thể quan sát thấy rằng, với nhánh dài gấp đôi nhánh ngắn thì không phải tất

Hình 3 1 Thí nghiệm trên cây cầu đôi (a) Hai nhánh có độ dài bằng nhau (b) Hai nhánh có độ dài khác nhau

Trang 32

25

cả các kiến cũng đều đi theo nhánh ngắn hơn và phải mất một thời gian nữa thì các kiến này sẽ đi theo nhánh ngắn hơn Điều này được hiểu là một loại thăm dò, tìm đường mới Một điều thú vị nữa là điều gì sẽ xảy ra nếu sau khi hội tụ lại xuất hiện một đường mới từ tổ đến nguồn thức ăn Việc này được thực nghiệm như sau: Ban đầu từ tổ đến nguồn thức ăn chỉ có một nhánh dài và sau 30 phút thì thêm một nhánh ngắn Trong trường hợp này, nhánh ngắn thường không được kiến chon mà chúng tập trung đi trên nhánh dài Điều này có thể giải thích bởi nồng độ vết mùi trên cạnh dài cao và do sự bay hơi chậm của vết mùi nên đại đa số các con kiến lựa chọn các nhánh dài (vì nồng độ vết mùi cao) và hành vi này tiếp tục củng cố trên nhánh dài, ngay cả khi một nhánh ngắn xuất hiện Việc bay hơi vết mùi có thể có lợi cho việc tìm đường mới, nghĩa là việc bay hơi có thể giúp kiến quên đi đường đi tối ưu cục bộ để tìm đường đi mới tốt hơn có thể được khám phá

3.1.2 Kiến nhân tạo

Qua thực nghiệm cây cầu đôi ta nhận thấy rằng đàn kiến trong tự nhiên có thể sử dụng luật di chuyển theo xác suất dựa trên thông tin địa phương để tìm được đường đi ngắn nhất giữa hai địa điểm Vết mùi của đàn kiến làm ta liên tưởng tới cách học tăng cường (reinforcement learning) cho bài toán chọn tác động tối ưu gợi mở một mô hình

mô phỏng cho bài toán tìm đường đi ngắn nhất giữa hai nút (tương ứng là tổ và nguồn thức ăn) trên đồ thị, trong đó dùng các tác tử (agent) làm con kiến nhân tạo

Tuy nhiên, trong các bài toán ứng dụng thì các đồ thị phức tạp hơn, từ mỗi đỉnh

có nhiều cạnh nên nếu mô phỏng trung thực với kiến tự nhiên thì nhiều con kiến sẽ đi luẩn quẩn và hiệu quả sẽ rất kém Vì vậy người ta dùng đa tác tử (multiagent) làm đàn

Hình 3 2 Thí nghiệm ban đầu chỉ một nhánh dài và

sau 30 phút thêm nhánh ngắn

Trang 33

26

kiến nhân tạo, trong đó mỗi con kiến có nhiều khả năng hơn kiến tự nhiên Mỗi con kiến nhân tạo (về sau sẽ gọi là kiến) có bộ nhớ riêng, có khả năng ghi nhớ các đỉnh đã thăm trong hành trình và tính được độ dài đường đi nó chọn Ngoài ra các con kiến có thể trao đổi thông tin có được với nhau, thực hiện tính toán cần thiết, cập nhật mùi…

Nhờ các con kiến nhân tạo này Dorigo [10] đã xây dựng hệ kiến (AS) giải bài toán người chào hàng, hiệu quả của nó so với các phương pháp mô phỏng tự nhiên khác đã được kiểm chứng bằng thực nghiệm và được phát triển và ứng dụng phong phú với tên gọi chung là phương pháp ACO

3.2 Mô tả thuật toán ACO tổng quát

Với điều kiện kết thúc đã chọn (có thể là số bước lặp hoặc/và thời gian chạy cho trước), người ta dùng đàn kiến 𝑚 con thực hiện lặp xây dựng lời giải trên đồ thị cấu trúc 𝐺

= (𝑉, 𝐸, 𝐻, r) như sau: Trong mỗi lần lặp, mỗi con kiến chọn ngẫu nhiên một đỉnh 𝑢0 ∈ 𝐶0 làm thành phần khởi tạo 𝑥0 = {𝑢0} và thực hiện xây dựng lời giải theo thủ tục bước ngẫu nhiên để xây dựng lời giải Dựa trên lời giải tìm được đàn kiến sẽ thực hiện cập nhật mùi theo cách học tăng cường

Tuy nhiên, theo thời gian pheromone được lưu lại trên đường đi sẽ bắt đầu bay hơi, do vậy làm giảm đi nồng độ mùi Thời gian càng dài pheromone mà chúng để lại trên đoạn đường trước sẽ càng giảm, dần pheromone cũng sẽ bốc hơi hoàn toàn Bằng cách so sánh, những con đường ngắn hơn sẽ lưu lại nồng độ pheromone cao hơn so với các con đường dài

do có nhiều kiến đi qua hơn Nếu pheromone bị bốc hơi hoàn toàn những con đường được chọn bởi những con kiến đầu tiên sẽ không còn thu hút đối với các con kiến sau đó Trong trường hợp này ảnh hưởng của sự bốc hơi của pheromone có thể không thực sự ảnh hưởng tới việc tìm đường của đàn kiến nhưng nó có ý nghĩa rất quan trọng với các hệ thống nhân tạo

Cập nhật mùi:

Tùy theo chất lượng của lời giải tìm được mà vết mùi trên mỗi cạnh sẽ được điều chỉnh tăng hoặc giảm tùy theo đánh giá mức độ ưu tiên tìm kiếm về sau Lượng mùi cập nhật theo mỗi quy tắc cập nhật mùi khác nhau cho ta các thuật toán khác nhau Vì vậy, quy tắc cập nhật mùi thường dùng làm tên gọi thuật toán Đa số trong chúng đều có dạng:

Trang 34

27

τi, j⁡⁡ ← ⁡ (1⁡ − ⁡ρ)τi, j⁡⁡ + ⁡ ∆(i, j), ∀⁡(i, j)

đối với các cạnh được cập nhật, trong đó 𝜌 là hằng số thuộc khoảng (0,1) là tỷ lệ lượng mùi bị bay hơi

Các bước thực hiện của các thuật toán ACO được đặc tả trong hình

Nhận xét chung về các thuật toán ACO

Nhờ kết hợp thông tin heuristic và thông tin học tăng cường nhờ mô phỏng hoạt động của đàn kiến, các thuật toán ACO có các ưu điểm nổi trội sau:

1) Việc tìm kiếm ngẫu nhiên dựa trên các thông tin heuristic làm cho phép tìm kiếm linh hoạt và mềm dẻo trên miền rộng hơn phương pháp heuristic sẵn có, do đó cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu

2) Sự kết hợp học tăng cường thông qua thông tin về cường độ vết mùi cho phép ta từng bước thu hẹp không gian tìm kiếm mà vẫn không loại bỏ các lời giải tốt, do đó nâng cao chất lượng thuật toán

Procedure of ACO algorithms;

Trang 35

ta sử dụng các ràng buộc Ω một cách hợp lý để giảm miền tìm kiếm cho mỗi con kiến

2) Chọn thông tin heuristic Thông tin heuristic tốt sẽ tăng hiệu quả thuật toán Tuy nhiên, nhiều bài toán ta không có thông tin này thì có thể đánh giá chúng như nhau Khi đó lúc ban đầu, thuật toán chỉ đơn thuần chạy theo phương thức tìm kiếm ngẫu nghiên, vết mùi thể hiện định hướng của học tăng cường và thuật toán vẫn thực hiện được

3) Chọn quy tắc cập nhật mùi Quy tắc cập nhật mùi thể hiện chiến lược học của thuật toán Nếu đồ thị cấu trúc và thông tin heuristics luôn phụ thuộc vào từng bài toán cụ thể thì quy tắc cập nhật mùi là yếu tố phổ dụng và thường dùng để đặt tên cho thuật toán

Kết quả là khi các con kiến tìm thấy con đường tốt nhất tới nguồn thức ăn

từ tổ của chúng thì những con kiến khác cũng sẽ di chuyển theo con đường đó và

có những phản hồi tích cực về con đường dẫn đến việc các con kiến sau cũng sẽ

đi theo một con đường duy nhất

Ant System được phát triển với Marco Dorigo (Italy) trong luận án tiến sĩ của ông năm 1992 Max-Min Ant System được phát triển bởi Hoos và Stützle năm

1996 [11] Ant Colony được phát triển bởi Gambardella Dorigo năm 1997 [10] Qua đó những tác giả trên đã cho ta thấy được Giải thuật Ant colony optimization (ACO) là:

Trang 36

29

 Tìm kiếm đường đi tối ưu trong đồ thị dựa trên hành vi tìm kiếm đường đi của kiến từ tổ cho đến nguồn thức ăn

 Tối ưu hóa Meta-heuristic

 Tối ưu hóa những giải pháp dài và phức tạp

Meta-heuristic: Phương pháp Heuristic để giải quyết một lớp các vấn đề tính toán rất chung bằng cách kết hợp các kinh nghiệm do người dùng cung cấp với hi vọng đưa

ra được một quy trình hiệu quả hơn ACO là meta-heuristic Kỹ thuật tính toán mềm

để giải quyết các vấn đề tối ưu hóa rời rạc

Hình 3 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn

Kiến điều hướng từ nơi tổ của chúng tới nguồn thức ăn Và chúng bị mù do

đó chúng định hướng bằng dấu vết mà chúng để lại (pheromone) Đường đi ngắn

Trang 37

 Các dấu vết ảo được tích lũy trên các đoạn đường đi

 Đường đi được lựa chọn bằng cách lựa chọn ngẫu nhiên dựa trên lượng dấu vết hiện tại trên các đoạn đường từ nút bắt đầu đi

 Các con kiến đến điểm tiếp theo, lựa chọn đường đi tiếp sau đó

 Tiếp tục cho đến khi đến nút bắt đầu

 Mỗi hành trình kết thúc là một giải pháp

 Hành trình sẽ được phân tích để tối ưu

3.3 Các công trình liên quan đến giải thuật đàn kiến

Bảng 3 1 Thuật toán ACO theo thứ tự thời gian xuất hiện

Hình 3 5 Lựa chọn đỉnh đi tiếp

theo khi kiến

Trang 38

31

Ant System (AS) Có Dorigo (1992); Dorigo, Maniezzo & Colorni

(1991, 1996) Elitist AS Có Dorigo (1992); Dorigo, Maniezzo & Colorni

(1991, 1996) Ant-Q Có Gambardella & Dorigo(1995); Dorigo &

Gambardella (1996) Ant Colony

System

Có Dorigo & Gambardella (1997a,b)

Max-Min Ant

System

Có Stützle & Hoos (1996, 2000); Stützle (1999)

Rank-based AS Có Bullnheimer, Hartl & Strauss (1997, 1999c)

Hyper-cube AS Không Blum, Roli, & Dorigo (2001); Blum & Dorigo

(2004)

Trong các thuật toán ACO hiện nay thông dụng nhất là hệ kiến MAX-MIN (MMAS) và ACS, tuy hiệu quả của chúng như nhau nhưng MAX-MIN dễ dùng hơn còn ACS được nhóm của Dorigo quan tâm hơn Dưới đây là những giới thiệu về các thuật toán AS, MMAS và ACS theo trình tự thời gian xuất hiện

Bài toán người chào hàng (Traveling Salesman Problem - TSP) là bài toán có

nhiều ứng dụng trong thực tế, được phát biểu như sau: một người giới thiệu sản phẩm muốn tìm một hành trình ngắn nhất, xuất phát từ thành phố của mình, đi qua tất cả các thành phố mà khách hàng cần giới thiệu sản phẩm và sau đó trở về thành phố xuất phát với điều kiện các thành phố của khách hàng chỉ đi qua đúng một lần Bài toán TSP thuộc loại NP-khó và được xem là bài toán chuẩn để đánh giá hiệu quả của các thuật toán giải các bài toán tối ưu tổ hợp (TƯTH) mới Thuật toán ACO đầu tiên được

gọi là hệ kiến (Ant System - AS), các thuật toán ACO về sau là cải tiến của AS và đều

dùng bài toán TSP để thử nghiệm chất lượng Trong mục này giới thiệu các thuật toán chính để giải bài toán này như là ví dụ minh họa cho phương pháp ACO

3.3.1 Hệ Kiến (AS)

Trang 39

32

Nhờ các con kiến nhân tạo này (về sau cũng gọi đơn giản là kiến) Dorigo (1991) đã xây dựng hệ kiến (AS) giải bài toán người chào hàng, hiệu quả của nó so với các phương pháp mô phỏng tự nhiên khác đã được kiểm chứng bằng thực nghiệm

và được phát triển, ứng dụng phong phú với tên gọi chung là phương pháp ACO

Ban đầu có ba phiên bản của AS mà Dorigo đề xuất là ant-density, ant- quantity và ant-cycle Ở phiên bản ant-density và ant-quantity, các kiến cập nhật vết mùi trực tiếp lên cạnh vừa đi, còn trong phiên bản ant-cycle vết mùi được cập nhật khi tất cả các kiến đã xây dựng xong hành trình và lượng mùi được cập nhật của mỗi kiến phụ thuộc vào độ dài hành trình mà kiến tìm được Hai thuật toán ant-density và ant-quantity không hiệu quả so với ant-cycle nên khi nói tới thuật toán AS người ta chỉ quan tâm đến phiên bản ant-cycle

Hai bước chính của thuật toán AS là xây dựng lời giải của kiến và cập nhật mùi Trong AS, một lời giả tìm được bằng phương pháp heuristic nào đó (có thể dung phương pháp ăn tham) được dùng để xác định vết mùi khởi tạo Lý do cho việc lựa chọn này là nếu khởi tạo vết mùi 𝜏0 quá thấp thì việc tìm kiếm có khuynh hướng nhanh chóng hội tụ quanh những hành trình đầu tiên tìm được, dẫn đến việc tìm kiếm hướng vào vùng này và chất lượng lời giải kém, còn nếu khởi tạo vết mùi quá cao thì có thể phải mất nhiều vòng lặp để bay hơi mùi trên các cạnh tồi và thêm mùi cho các cạnh tốt để hướng việc tìm kiếm vào vùng không gian

có chất lượng

Xây dựng lời giải

Trong AS, 𝑚 con kiến nhân tạo đồng thời xây dựng lời giải Ban đầu các kiến được đặt ngẫu nhiên trên các thành phố Tại mỗi bước, kiến sẽ lựa chọn theo xác suất, gọi là ngẫu nhiên theo tỉ lệ (random proportional) để chọn đỉnh đến tiếp theo Cụ thể, kiến 𝑘 đang ở đỉnh 𝑖 sẽ lựa chọn đỉnh 𝑗 theo xác suất:

Trang 40

33

𝑖

𝑖

(2) Trong đó 𝑛⁡𝑖𝑗 = ⁡ 1

𝑑𝑖𝑗 là giá trị heuristic như đã nói ở trên, 𝛼, 𝛽 là hai tham

số quyết định đến sự ảnh hưởng tương quan giữa thông tin mùi và thông tin heuristic, 𝑁𝑘 là các đỉnh lân cận của đỉnh 𝑖 mà kiến 𝑘 có thể đi đến (là tập các đỉnh mà kiến 𝑘 chưa đến, xác suất cho lựa chọn các đỉnh không thuộc 𝑁𝑖𝑘 bằng 0) Theo quy tắc ngẫu nhiên này, xác suất lựa chọn cạnh (𝑖, 𝑗) tăng theo giá trị thông tin mùi 𝜏𝑖𝑗 và thông tin heuristic 𝜂𝑖𝑗 Vai trò của hai tham số 𝛼, 𝛽 như sau: nếu 𝛼 = 0, thành phố gần nhất sẽ được lựa chọn nhiều hơn, khi đó thuật toán tương đương với thuật toán chọn ngẫu nhiên theo nghịch đảo độ dài cạnh mà không có học tăng cường Nếu 𝛽 = 0, chỉ có thong tin học tăng cường biểu thị qua vết mùi được sử dụng màkhông có thông tin heuristic Với 𝛼 > 1, thuật toán nhanh chóng bị tắc nghẽn (tất cả các kiến sẽ lựa chọn cũng một hành trình) [9]

và lời giả tìm được hội tụ về lời giải tối ưu cục bộ (Dorigo và cộng sự)

Để cài đặt, mỗi kiến 𝑘 sẽ duy trì một bộ nhớ 𝑀𝑘 chứa thông tin lần lượt các thành phố mà kiến đã đi qua Thông tin trong bộ nhớ dùng để xác định các thành phố lân cận phù hợp 𝑁𝑘 Hơn nữa, thông tin trong bộ nhớ 𝑀𝑘 giúp cho kiến tính được độ dài hành trình 𝑇𝑘 và dùng để xác định các cạnh được cập nhật mùi Liên quan đến việc xây dựng lời giải, có hai cách để thực hiện: xây dựng lời giải song song và xây dựng tuần tự Trong cách xây dựng song song, tại mỗi bước tất cả các kiến sẽ di chuyển sang đỉnh tiếp theo, trong khi cách xây dựng tuần tự thì lần lượt từng kiến xây dựng lời giải (một kiến xây dựng xong mới đến kiến tiếp theo) Chú ý rằng trong AS, cả hai cách xây dựng này là như nhau vì không ảnh hưởng gì đến thuật toán nhưng điều này không đúng với thuật toán ACS

Cập nhật mùi

Ngày đăng: 15/03/2022, 21:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] R. Agrawal, T. I. T and A. Swami, "Mining association rules between sets of items in large database," Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, 1993, p. 207–216 Sách, tạp chí
Tiêu đề: Mining association rules between sets of items in large database
[3] J. Han, J. Pei and Y. Yin, "Mining frequent patterns without candidate generation," In MOD 2000, 2000, pp. 1-12 Sách, tạp chí
Tiêu đề: Mining frequent patterns without candidate generation
[4] W. Li, J. Han and J. Pei, "CMAR: Accurate and Efficient Classification Based on Multiple Class-Association Rules," Burnaby, B.C., Canada V5A 1S6, Proceedings of IEEE International Conference on Data Mining, 2001, pp. 369- 376 Sách, tạp chí
Tiêu đề: CMAR: Accurate and Efficient Classification Based on Multiple Class-Association Rules
[5] X. Yin and J. Han, "CPAR: Classification based on Predictive Association Rules," Urbana-Champaign, Proceedings of the 2003 SIAM International Conference on Data Mining, 2003, pp. 331-335 Sách, tạp chí
Tiêu đề: CPAR: Classification based on Predictive Association Rules
[6] J. Alwidian, B. Hammo and N. Obeid, "FCBA: Fast Classification Based on Association Rules Algorithm," Jordan, Amman, IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016, December 2016, pp. 117-126 Sách, tạp chí
Tiêu đề: FCBA: Fast Classification Based on Association Rules Algorithm
[8] P. Pavankumar and R. Agarwal, "CBIR: Classification Based Association Rules and Approaches in Datamining," Sirohi, Rajasthan, International Journal of Sách, tạp chí
Tiêu đề: CBIR: Classification Based Association Rules and Approaches in Datamining
[9] C.-S. Wang and J.-Y. Chang, "MISFP-Growth: Hadoop-Based Frequent Pattern Mining with Multiple Item Support," Taiwan, 20 May 2019, 2019 Sách, tạp chí
Tiêu đề: MISFP-Growth: Hadoop-Based Frequent Pattern Mining with Multiple Item Support
[10] M. Dorigo, V. Maniezzo and A. Colorni, in Ant system: optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 1996, pp. 29-41 Sách, tạp chí
Tiêu đề: Ant system: optimization by a colony of cooperating agents
[11] M. Dorigo and L. Gambardella, "Ant colony system: A cooperative learning approach to the traveling salesman problem," IEEE Trans. on evolutionary computation. 1(1), 1997, pp. 53-66 Sách, tạp chí
Tiêu đề: Ant colony system: A cooperative learning approach to the traveling salesman problem
[12] T. Stützle and H. H. Hoos, in Max-min ant system, Future Gene. Comput. Syst. 26(8), 2000, pp. 889-914 Sách, tạp chí
Tiêu đề: Max-min ant system
[13] W. Gutjahr, "ACO algorithms with guaranteed convergence to the optimal solution," Info.Proc. Lett. 83(3), 2002, pp. 145-153 Sách, tạp chí
Tiêu đề: ACO algorithms with guaranteed convergence to the optimal solution
[14] P. Pellegrini and A. Ellero, in The Small World of Pheromone Trails, Brussels, Belgium., Proc. of the 6th international conference on Ant Colony Optimization and Swarm Intelligence, 2008, pp. 51-79 Sách, tạp chí
Tiêu đề: The Small World of Pheromone Trails
[15] G. Shankar and L. Bargadiya, in A New Improved Apriori Algorithm For Association Rules Mining,, International Journal of Engineering Research &amp;Technology (IJERT), no. Vol. 2 Issue 6, June 2013 Sách, tạp chí
Tiêu đề: A New Improved Apriori Algorithm For Association Rules Mining
[16] "Frequent Itemset Mining Dataset Repository," [Trực tuyến]. Available: http://fimi.ua.ac.be/data Sách, tạp chí
Tiêu đề: Frequent Itemset Mining Dataset Repository
[17] S. Pathania and H. Singh, "ICCCT '15: Proceedings of the Sixth International Conference on Computer and Communication Technology," in A New Associative Classifier based on CFP-Growth++ Algorithm, New York, NY, United States, Association for Computing Machinery, 2011, p. 20–25 Sách, tạp chí
Tiêu đề: ICCCT '15: Proceedings of the Sixth International Conference on Computer and Communication Technology

HÌNH ẢNH LIÊN QUAN

Hình 1. 1 Minh họa định nghĩa Item, Itemset, Transaction - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Hình 1. 1 Minh họa định nghĩa Item, Itemset, Transaction (Trang 12)
Bảng 1. 1 Dữ liệu mua hàng ở siêu thị - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 1. 1 Dữ liệu mua hàng ở siêu thị (Trang 13)
Bảng 2. 1 Ví dụ về cơ sở dữ liệu huấn luyện mẫu - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 2. 1 Ví dụ về cơ sở dữ liệu huấn luyện mẫu (Trang 23)
Hình 3. 1 Thí nghiệm trên cây cầu đôi  (a) Hai nhánh có độ dài bằng nhau                    (b) Hai nhánh có độ dài khác  nhau - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Hình 3. 1 Thí nghiệm trên cây cầu đôi (a) Hai nhánh có độ dài bằng nhau (b) Hai nhánh có độ dài khác nhau (Trang 31)
Hình 3. 2 Thí nghiệm ban đầu chỉ một nhánh dài và - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Hình 3. 2 Thí nghiệm ban đầu chỉ một nhánh dài và (Trang 32)
Hình 3. 3 Đặc tả thuật toán ACO - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Hình 3. 3 Đặc tả thuật toán ACO (Trang 34)
Hình 3. 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Hình 3. 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn (Trang 36)
Bảng 3. 2 Thuật toán ACO - AC - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 2 Thuật toán ACO - AC (Trang 52)
Bảng 3. 3 Business Database Itemsets - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 3 Business Database Itemsets (Trang 64)
Bảng 3. 5 Initial Global power set - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 5 Initial Global power set (Trang 64)
Bảng 3. 4 Frequent one itemset - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 4 Frequent one itemset (Trang 64)
Bảng 3. 7 Prune the candidate itemsets with frequency - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 7 Prune the candidate itemsets with frequency (Trang 65)
Bảng 3. 8 Frequency itemsets - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 8 Frequency itemsets (Trang 66)
Bảng 3. 9 Ví dụ về độ bao phủ  Coverage và độ chính xác Accuracy - Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Bảng 3. 9 Ví dụ về độ bao phủ Coverage và độ chính xác Accuracy (Trang 67)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm